web-dev-qa-db-ja.com

bios_grubパーティションが不明です

私は7か月間エラーなしでpcを使用しました。 gptパーティションテーブルとBiosがあります。インストール中に、2 Mb grub_biosパーティションを作成しました。今晩gpartedを使用して、そのパーティションがunknownとしてマークされ、バイトが使用されていることに気付きました。 enter image description here

今、このPCにUbuntuのみを持っているのでエラーは発生しませんが、他のOSをインストールするとエラーが発生しますか?あらゆる場合に、この問題を(どのように)解決しましたか?

3
linofex

Gpartedは、未フォーマットのパーティションでエラーを表示します。ただし、bios_grubおよびWindows MSRシステム予約パーティションは、フォーマットされていないパーティションである必要があります。それらはgptを持つ一意のGUIDを持っているので、最終的にgpartedを更新して、実際にエラーやフォーマットされた標準パーティションではないことを認識する必要があります。

Bios_grubは、grub2のcore.imgに存在します。 MBR(msdos)パーティションでは、core.imgはMBRの直後で最初のパーティションの前のセクターに書き込まれます。 gptでは、保護MBRの後にスペースがないため、別のパーティションが使用されます。

同様に、MicrosoftはMBRの後のセクターを使用して、セキュリティ情報またはその他の情報を書き込みます。 GrubとWindows flexnetは、MBR後のセクターで競合していました。がgptで削除されること。

GPT対MBR。なぜMBRではないのか

4
oldfred

Oldfredの答えは正しいです。ただし、いくつかの点を追加します。

  • Oldfredが言うように、 BIOSブートパーティション (GPartedがbios_grubフラグで識別するもの)は、別のOSをインストールする場合には問題になりません。ただし、ext4fsパーティションのうち2つにはmsftdataフラグがあり、WindowsBasic Data Partition タイプ。したがって、別のOSをインストールする場合(特にそのOSがWindowsの場合)、他のOSがファイルシステムをFATまたはNTFSとして解釈しようとし、それが失敗すると「準備」またはパーティションを「フォーマット」します。そして、この文脈では、これらの言葉は両方とも「破壊する」という意味です。解決策は、GPartedのmsftdataフラグまたはparted;を削除することです。または、gdiskを使用する場合は、タイプコードを0700から8300に変更します。
  • GPTは、BIOSモードの起動よりもEFIモードの起動でよく使用されます。 EFIモードで起動するには、 Extensible Firmware Interface(EFI) firmware(またはEFI 2.xであるUEFI)、 EFI System Partition(ESP))を使用するコンピューターが必要です 、および Linux用のEFIブートローダー
  • Windowsは、パーティションテーブルの種類をブートモードと密接に結び付けています。BIOS/ CSM /レガシーモードでのみMBRディスクから、EFI/UEFIモードでのみGPTディスクから起動します。したがって、GPTディスクを使用すると、EFIモードでのみWindowsをインストールできるようになります。お使いのコンピューターが従来のBIOSを搭載できるほど古くなっている場合でも、これは不可能です。ただし、DUETまたは Clover。 のような「ソフトウェアEFI」を使用する場合を除きます。 Windowsをインストールしますが、混合モード構成になります-WindowsはEFIモードで、UbuntuはBIOSモードです。これは管理が面倒で、最善の解決策はLinux用のEFIブートローダーをインストールすることです。従来のBIOSを使用している場合、Windowsでのデュアルブートに最適な選択は、GPTからMBRに変換することです。 Ubuntuにデフォルトでインストールされている私のgdiskプログラムは、いくつかの警告を伴ってこれを行うことができます。詳細については、 gdiskドキュメントのこのページ を参照してください。 FreeBSDなど、Windows以外のOSの多くは、BIOSモードでGPTディスクから起動できます。しかし、DOSなどの一部の古いものでは、タスクをまったく処理できません。

全体として、最初の問題(2つのパーティションのmsftdataフラグが正しくない)は今すぐ修正する価値があります。 Ubuntuのみのインストールではそうすることは重要ではありませんが、Linux以外の緊急ツールを起動する場合や、Ubuntuで実行される不明瞭なLinuxユーティリティーがタイプコードに基づいて誤った仮定を行う場合、これは有用な保護手段になります。

起動方法に満足して起動できる場合、この時点でEFIブートローダーをインストールすることはお勧めしません。それは格言が言うように、壊れていないものを修正するでしょう。ただし、別のOSをインストールする場合は、パーティションテーブルタイプとブートモードのリンクを念頭に置いてください。

0
Rod Smith