web-dev-qa-db-ja.com

UEFIを搭載したLenovo IdeaPad Y400にWindows 8と並んでUbuntu 13.04 x64をインストールした後、Grubを修正するのに助けが必要

Windows 8がプリインストールされたLenovo IdeaPad Y400があります。デュアルブート構成でUbuntuを実行したいと思います。私はこの1週間をいじり回し、さまざまな構成でWindowsとLinuxの両方を再インストールして過ごしました。

最近の試みでは、次の手順を実行しました。

  • セキュアブートを無効にしました
  • 隠しリカバリパーティションからWindows 8を再イメージングし、マシンを工場出荷時の状態に効果的に復元します
  • BIOSでレガシーサポートと呼ばれるオプションをアクティブにしました(またはUEFIになりましたか?)
  • USBスティックからUbuntu 13.04 x64を起動し、「Windowsと共にインストール」を選択し、すべてのデフォルトオプションを受け入れました
  • 再起動後、Ubuntuを起動できるが、Windowsを起動できないことがわかった
  • Ubuntuに入ったら、推奨設定でブート修復を実行し、すべてのデフォルトを受け入れました。
  • ブート修復が終了すると、次のメッセージが表示されました。

[現在使用中のOS-Ubuntu 13.04]のブートファイルは、ディスクの先頭からはほど遠いものです。 BIOSがそれらを検出しない場合があります。/bootパーティション(EXT4、> 200MB、ディスクの開始)の作成後に再試行することもできます。これは、gPartedなどのツールを介して実行できます。次に、[Boot Repair]の[Separate/boot partition:]オプションでこのパーティションを選択します。 ( https://help.ubuntu.com/community/BootPartition

  • メッセージのURLの指示に従って、ドライブの開始近くに1GB EXT 4パーティションを作成しました
  • ブート修復を再度実行しようとすると、「Grub Location」タブの「Separate/boot partition」オプションが無効になりました。
  • 新しいパーティションは/ dev/sda11であり、ラベルGRUBがあります。
  • 再起動すると、次のエラーメッセージが表示されます。

エラー:ファイル '/boot/grub/i386-pc/normal.mod'が見つかりません。グラブレスキュー>

  • ただし、F12キーを押して手動でブートパーティションを選択した場合、問題なくWindowsを起動できます。ブートデバイスメニューからUbuntuを選択すると、Grubメニューに次のオプションが表示されます。

Ubuntu

Ubuntuの詳細オプション

Windows UEFIリカバリbootmgfw.efi

WindowsブートUEFI回復

Windows UEFIリカバリLrsBootmgr.efi

WindowsブートUEFIリカバリbkpbootx64.efi

Windows Recovery Environment(ローダー)(/ dev/sda3上)

Windows 8(ローダー)(/ dev/sda5上)システムのセットアップ

  • このメニューからUbuntuを選択すると、Ubuntuデスクトップにアクセスできます。私が行った進歩を失うことを恐れて、私はまだ他のオプションを試していません。

そのため、マシンを正常にデュアルブートできたように見えますが、そのGrubは何らかの理由で壊れています。

私の現在のパーティション構成は以下で見ることができます: http://paste.ubuntu.com/5948753/

事前に感謝-ジョナサン

2
MusikPolice

まず、「レガシーサポート」を有効にするのは間違ったことです。 Windows 8がプリインストールされたコンピューターでは、ファームウェアのレガシサポートを有効にすると、新しい問題を引き起こす可能性があります。実際、それがまさにあなたがしたことです。 (そうは言っても、このサポートを有効にする必要がある場合もありますが、解決するよりも問題を引き起こす可能性が高くなります。)

第二に、「ブートファイル...ディスクの先頭からは程遠い」というメッセージは、ほぼ間違いなく赤いニシンです。これは、特定のディスクサイズと特定のBIOSの要因になる可能性がありますが、BIOSではなくEFI実装があります。 EFIは、現在利用可能なディスク上の任意の場所にあるカーネルから起動できる必要があります。確かにあなたの1TBディスクは問題を引き起こさないはずです。したがって、その時点からあなたがしたことはすべて、せいぜい不要であり、最悪の場合は問題を引き起こすことでした。

ファームウェアのレガシサポートを有効にしたにもかかわらず、ブート修復を実行した後にシステムがWindowsを起動した可能性があります。ただし、その時点でそれをやろうとしたかどうかはわからないので、うまくいったのか、それともテストせずに「ディスクの先頭から遠く離れた」問題を修正しようとしたのかは不明です。

行のどこかに、GRUBのBIOS(レガシー)バージョンをインストールしたようです。これは、デフォルトで(grub rescue>プロンプトを取得するために)起動しているものです。ファームウェアのレガシーサポートを無効にすると、システムがWindowsまたはGRUBのEFIモードインストールに直接起動する可能性があります。 Windowsで起動した場合でも、F12を押してGRUBに到達できるはずです。 GRUBで起動する場合、Linuxを起動でき、場合によってはWindowsも起動できるはずです。 (最初の2つのWindowsオプションを試すことをお勧めします。最後の3つのWindowsオプションは、役に立つことはほとんどありません。)

これを試してGRUBがデフォルトとして機能するようになったら、 GRUB Customizer を使用してGRUBメニューを少し。しかし、私はこのソフトウェアにあまり詳しくないので、使用方法についてこれ以上詳しくは言えません。

もう1つ試すことができるのは、my rEFIndブートマネージャーをインストールすることです。 Debianパッケージをインストールし、すべてが完全に機能する場合、これでメニューが表示されますWindows、GRUB経由のUbuntu、およびUbuntuの直接オプション。その後、.efiディレクトリツリー内の不要な/boot/efi/EFIファイルを削除するか、/boot/efi/EFI/refind/refind.confを編集してdont_scan_filesまたはdont_scan_dirsオプションのコメントを外して調整することで、余分なブートエントリを削除できます。

パーティションを確認することもできます。ブート修復の出力は、4つのNTFSパーティションがあることを示しており、そのうちの少なくとも1つが望ましくない/不必要であると思われますが、それを確信することはできません。また、すべてを修正したら、/dev/sda6/dev/sda11も必要ありません。

2
Rod Smith

ロッド・スミスはほとんどの問題をカバーしました。

ディスクの先頭から遠くは赤いニシンです。 UEFIシステムが起動しないのをまだ見ていません。これは、grubブートの問題があったいくつかのBIOSシステムの単なるチェックでした。

新しいgrubパーティションにブートフラグを追加して、efiパーティションとして認識しようとしました。 (Rod Smithから、gptパーティションドライブごとに1つのefiパーティションしか持てないことを学びました。)Grubはとにかくブートフラグを使用しません。また、Windows NTFSパーティションにブートフラグを設定したのは、MBRパーティションのあるBIOSのみです。

Grub2のos-proberにはバグがありますが、依然として動作しないBIOSタイプのブートエントリが作成されます。 grub2のos-proberは間違ったスタイル(BIOS)チェーンブートエントリを作成します https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383 動作するはずのBoot-Repairからのエントリのタイプ。 menuentry "Windows UEFI bootmgfw.efi" {menuentry "Windows Boot UEFI loader" {動作しないエントリのタイプ: 'Windows ...)(on/dev/sdXY)'

1
oldfred