「GPTが検出されました。ブート修復の使用中にBIOS-Bootパーティションを作成してください


12

Windowsを8.1に更新してから、Grubメニューが消えました。Live USBを使用してUbuntuを実行し、Boot-Repairを使用しましたが、何か問題が発生しました。[推奨修復]をクリックすると、次のエラーが表示されます。

GPTが検出されました。BIOS-Bootパーティションを作成してください(> 1MB、未フォーマットのファイルシステム、bios_grubフラグ)。これは、Gpartedなどのツールを介して実行できます。その後、再試行してください。または、[Separate / boot / efi partition:]オプションを有効にしてから再試行できます。

それで、sda9(ext4なのでUbuntuシステムパーティションだと思います)をbios_grubフラグで設定してから、Boot-Repairを再度実行しようとしました。うまくいきませんでした。

私は何をすべきかわかりません。Windowsを更新する前に、Grubは(UEFIを使用して)正常に動作していました。

bios_grubフラグを削除しました。それから私は使用しfsck、それはエラーを見つけませんでした。そのため、Boot-Repairで再試行しましたが、常に「GPT検出」エラーが表示されます。ブートはUEFIモードで、セキュアブートは「オフ」です。

SecureBootをオフにしてPCを起動すると、GRUBメニューに到達できます。しかし、それは空です(唯一の音声は「システム設定」です)。

Ubuntuシステムディスクをマウントしました。

sudo mount /dev/sda9 /mnt

その他のこと:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

私はシステムにログオンしましたchroot

sudo chroot /mnt

grubを再インストールしました:

grub-install /dev/sda
update-grub2

しかし、まだ機能しません。


将来の読者のために、この答えは、(実際のパーティションをブートしてから実行して私のためにそれを固定grub-install):askubuntu.com/questions/546582/surface-pro-3-no-grub-menu/...
CornSmith

回答:


11

まず、bios_grubフラグin partedまたはGPartedは、BIOSブートパーティションを識別する方法です。GRUB 2は、コンピューターがBIOSモードでブートするときに、このパーティションを使用してブートコードの一部を保持します。サイズは通常1MiB程度ですが、場合によっては小さくすることもできます。最も重要なことは、bios_grubLinuxルート(/)パーティションにフラグを設定した後にブート修復がGRUBインストーラーを再実行した場合、そのパーティションを破棄した可能性があることです。したがって、他のことを行う前に、次のことをお勧めします。

  1. bios_grubLinuxルート(/)パーティションからフラグを削除します。
  2. (またはGPartedまたは他のGUIツールの同等の機能/)でLinuxルート()パーティションをテストしますfsck。パーティションにエラーがある場合、それらを修正するか、バックアップからシステムを復元します。続行する必要があるのは、パーティションをマウントして通常どおり使用できることを確認した場合のみです。

次に、緊急ディスクをEFIモードではなくBIOS / CSM /レガシーモードで起動したため、この問題が発生しました。コンピューターのブートモードを制御する方法を学ぶ必要があります。これは通常、ブートプロセスの早い段階で(GRUBが表示される前に)Escキーまたはファンクションキーを押すことでアクセスされるブートマネージャーを介して実行できます。ただし、このブートマネージャーへのアクセス方法や提供されるオプションについては標準化されていません。したがって、これを理解するために実験する必要があるかもしれません。

3番目に、ライブCDをEFIモードで起動する方法を理解できれば、ブート修復で問題が修正されるはずです。または、rEFIndブートマネージャーの CD-RまたはUSBフラッシュドライブバージョンを使用してLinuxをブートできるようにする必要があります。Linuxが起動して実行されると、efibootmgrGRUBをデフォルトのブートローダーとして復元できるようになりますが、詳細は現在の設定によって異なります。簡単に言うと、GRUBのエントリを最初のエントリとして設定する-oオプションを使用する必要がありますefibootmgrこの質問と回答は、異なる角度から問題をカバーしています。GRUBを復元する代わりに、rEFIndをハードディスクにインストールすることも検討できます。


編集:rEFIndブートマネージャーを使用してみてください USBフラッシュドライブまたはCD-Rイメージを使用して適切なメディアを作成し、そこからブートします。これにより、Windows用のオプションとLinux用の少なくとも1つのオプションが提供されます。WindowsとLinuxの両方をブートできる場合は、rEFIndのDebianパッケージをLinuxにインストールします。これにより、デフォルトでrEFIndを使用するようにコンピューターが切り替わり、すべてを正常に起動できるようになります。


bios_grubフラグを削除しました。次にfsckを使用しましたが、エラーは見つかりませんでした。そのため、Boot-Repairで再試行しましたが、常に「GPTが検出されました」エラーが表示されます。ブートはUEFIモードで、セキュアブートは「オフ」です。セキュアブートを「オン」にすると、セキュリティポリシーエラーが発生します。GPTエラーを解決するにはどうすればよいですか?
カートブルバキ

PS SecureBootをオフにしてPCを起動すると、GRUBメニューに到達できます。しかし、それは空です(唯一の音声は「システム設定」です)。
カートブルバキ

私の編集で提案されているように、rEFIndを使用してみてください。
ロッドスミス

rEFIndを使用しましたが、結果は同じです。3つの選択肢があるインターフェイスが表示されます。WindowsまたはUbuntuを選択すると、システムが再起動しているかのようにGRUBメニューに戻り続けます。システムがブートに適切なファイルを見つけられなかった場合のようです(推測しようとしています)。実際、システムブートからUbuntuまたはWindowsを選択しても、GRUBメニューが表示され続けます。
カートブルバキ

1
ブート修復は、Windowsブートローダーを別のGRUBのコピーで置き換え、元のファイルを別のファイルにバックアップする場合があります。ブート修復の詳細メニューには、そのようなバックアップを復元するオプションがあるため、それを実行してからrEFIndを使用してみてください。オリジナルが失われた可能性もあります。その場合、バックアップから復元するか、Windowsリカバリディスクを使用する必要があります。vmlinuz*オプションを選択したときにrEFIndがGRUBを起動している場合、システムに何らかの問題があります。どのブランドのコンピューター/マザーボードを持っていますか?
ロッドスミス

2

この問題は次のように処理できます。

  1. Gpartedを起動します。

  2. ブートパーティションを特定します。私のシステムディスク上の最初の16.00MiBです。

  3. パーティションを削除します(間違ったパーティションを削除して、その上のすべてのデータを失いたくありません!何をしているのかわからない場合は停止してください!)。

  4. 新しいパーティションを作成し(ファイルシステムにフォーマットしないでください)、設定を適用します。

  5. Manage Flagsオプションを使用して、bios_grubとして新しいパーティションにフラグを立てます。

ここで、ブート修復を再試行してください。


私はこれをやっただけで、ブート修復はまだbios_grubパーティションを見ていない...今何?
Magix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.