web-dev-qa-db-ja.com

共通のディスクを共有するOSごとに個別のEFIパーティションが必要ですか?

MacBookAirにFreeBSDをインストールしていました。ディスクをパーティション分割するとき、インストーラーは私に言った

This partition scheme requires a boot partition for the disk to be bootable. Would you like to make one now? <Yes/No>

問題は、内部SSDにすでにEFIパーティションがあり、おそらくmacOSにサービスを提供していることです。 FreeBSD用に別のものを作成する必要がありますか?

私はこの問題についていくつかの痛みを伴う実験を行いました:

  • Noを選択すると、FreeBSDが起動できなくなります。つまり、「FreeBSD」がrEFIndのメニューに表示されません。
  • Yesを選択したとき、「FreeBSDインストーラーがディスク上に非常に悪い ハイブリッドMBR を作成したようで、これはOS Xを混乱させています」、したがって 私のディスク破損しました 。幸い、 @ Rod Smithの指示 (不良ハイブリッドMBRを置き換える新しい保護MBRを作成)に従った後、この問題は解決されましたが、ディスクに2つのEFIパーティションがあります。

    これで、内部SSDは次のようになります。

    sunqingyaos-MacBook-Air:~ sunqingyao$ diskutil list
    /dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *121.3 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2:                  Apple_HFS Macintosh HD            60.6 GB    disk0s2
       3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
       4:                        EFI EFI                     209.7 MB   disk0s4
       5:                FreeBSD UFS                         53.5 GB    disk0s5
       6:               FreeBSD Swap                         6.2 GB     disk0s6
       7: 83BD6B9D-7F41-11DC-BE0B-001560B84F0F               101.4 KB   disk0s7
    

    また、

    sunqingyaos-MacBook-Air:~ sunqingyao$ Sudo gpt -r show disk0
    Password:
          start       size  index  contents
              0          1         PMBR
              1          1         Pri GPT header
              2         32         Pri GPT table
             34          6
             40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
         409640  118284248      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
      118693888    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
      119963424     409600      4  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
      120373024  104447992      5  GPT part - 516E7CB6-6ECF-11D6-8FF8-00022D09712B
      224821016   12156928      6  GPT part - 516E7CB5-6ECF-11D6-8FF8-00022D09712B
      236977944        198      7  GPT part - 83BD6B9D-7F41-11DC-BE0B-001560B84F0F
      236978142          1
      236978143         32         Sec GPT table
      236978175          1         Sec GPT header
    
1
nalzok

ESPは通常 OS間で共有されるため、いいえ、2番目のESPは必要ありません。しかし、それはまた問題を引き起こさないはずです。とはいえ、一部のツールまたはOSは、2つのESPの存在によって混乱する可能性があります。私が知っているのは、Windowsインストーラーだけです。 (これはWindows 7に影響しますが、それ以降のバージョンについてはわかりません。)このような問題が発生した場合は、いつでもESP you don 't Windowsインストーラーで使用する-一時的であっても(一時的な変更は、それぞれが独自のESPを持つ2つのWindowsバージョンをインストールする場合に役立ちます)。

他のパーティションに対するESPの位置により、いずれか1つを削除するのが面倒になります。スペースを回復するには、少なくとも1つのパーティションの開始点を移動する必要があります。これには時間がかかり危険です。これは、約200 MBのスペースだけを回復する価値がない場合がありますが、ディスクは120GBしかありません。自分のスペースがどれだけ貴重であるか、それに伴う時間とリスクを判断する必要があります。

3
Rod Smith

パーティション4を削除最初のパーティションと同じ署名(C12A7328-F81F-11D2-BA4B-00A0C93EC93B)があるため!

UEFIブートシーケンスには、1つのEFIシステムパーティション(ESP)のみが必要です。

UEFIブートマネージャーはデバイスをチェックし、NVRAMに格納されている最初のブート候補によってアドレス指定されたファイル(OSローダー)をロードします(デバイスが存在する場合)。それ以外の場合は、次のブート候補を試行します。

すべてのUEFIローダーはESPに保存されます。

\ EFI\company...。

\ EFI\boot ...はフォールバックブートローダーです。

MBRはUEFIブートプロセスで遊ぶべきではありません。 MBRは、古いBIOSの起動にのみ必要です。 GPTスタイルのディスクにはGPTパーティションテーブルがあり、MBRに格納されている情報を使用しないため、ロードされたOS(OSX)が何らかの理由でMBRをチェックしている可能性があります。

GPTスタイルのディスクにはハイブリッドブートプロセスもあります。

MBRコードは、特別な「BIOSブートパーティション」からブートコードをロードします。このパーティションは、次に何をロードするかを「認識」します。このスキームは、BIOSブートを使用してインストールメディアをロードしてからインストールを行うときに、一部のLinuxディストリビューションによって作成されます。GPTディスクでのBIOSブートを想定しています。

UEFIファームウェアとGPTディスクを使用すると、常にUEFIブートを使用して(インストール)メディアをブートします!!!

0
snayob