FreeBSDは「間違ったパーティションテーブル」について文句を言います - それでも起動します

FreeBSDは「間違ったパーティションテーブル」について文句を言います - それでも起動します

最近、ZFSをルートファイルシステムとして使用して、Dell Precision M4800にFreeBSD 12.1をインストールしました。オペレーティングシステムはmSATA SSDにインストールされており、2½インチHDDもインストールされています。起動時にmSATA SSDから起動するように手動で選択しないと、システムは起動を拒否します。それにもかかわらず、 FreeBSDブートローダは「間違ったパーティションテーブル」について文句を言いますが、Enterキーを押すとまだ起動します。

FreeBSDを正常に起動するにはどうすればよいですか?

私は多くの情報を提供していないことを知っています。私はFreeBSDに初めてアクセスし、この問題を解決するためにどのような情報が必要かわかりません。何が必要かを教えてください。すぐに必要な情報を提供します。

追加情報

Alexユーザーに私に報告してもらいましたfdisk -l。 FreeBSDはfdiskこれをサポートしていませんが、-lとにかく出力は次のようになります。

# fdisk -l
fdisk: illegal option -- l
usage: fdisk [-BIaipqstu] [-b bootcode] [-1234] [disk]
       fdisk -f configfile [-itv] [disk]

出力は次のとおりですgpart list

# gpart list
Geom name: ada1
modified: false
state: OK
fwheads: 16
fwsectors: 63
last: 1000215182
first: 34
entries: 128
scheme: GPT
Providers:
1. Name: ada1p1
   Mediasize: 524288 (512K)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 20480
   Mode: r0w0e0
   rawuuid: 4ef0a0fe-67b0-11e5-881a-34e6d760b2c5
   rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f
   attrib: bootme
   label: gptboot0
   length: 524288
   offset: 20480
   type: freebsd-boot
   index: 1
   end: 1063
   start: 40
2. Name: ada1p2
   Mediasize: 34359738368 (32G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 1048576
   Mode: r1w1e1
   rawuuid: 4f077a7a-67b0-11e5-881a-34e6d760b2c5
   rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
   label: swap0
   length: 34359738368
   offset: 1048576
   type: freebsd-swap
   index: 2
   end: 67110911
   start: 2048
3. Name: ada1p3
   Mediasize: 477749051392 (445G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 1048576
   Mode: r1w1e1
   rawuuid: 4f0caac1-67b0-11e5-881a-34e6d760b2c5
   rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b
   label: zfs0
   length: 477749051392
   offset: 34360786944
   type: freebsd-zfs
   index: 3
   end: 1000214527
   start: 67110912
Consumers:
1. Name: ada1
   Mediasize: 512110190592 (477G)
   Sectorsize: 512
   Mode: r2w2e4

修正する

影響を受けた部分はBIOSの構成問題であることがわかりました。正しい起動ディスクを選択した後、起動デバイスを手動で選択しなくても、コンピュータに「無効なパーティションテーブル」というメッセージが表示されます。ただし、pmbrFreeBSDブートコードがこのメッセージを印刷する理由について疑問は残ります。

答え1

明らかに、ディスクはUEFIを使用してシステムを起動する場合、必要なGPTレイアウトを使用してパーティションが分割されています。おそらく、FreeBSDは最初に以前のMS-DOSパーティションレイアウトを検出し、メッセージを印刷してから、別のレイアウトを試み、正常にGPTレイアウトを見つけて起動を続行します。

SSDを手動で選択する必要がある場合、これはBIOS設定の問題である可能性が高くなります。ハードドライブが最初のSATAポートに接続されてプライマリブートディスクになるようです。 BIOS設定を修復するか、SSDが最初のSATAポートに接続されるようにSATA接続を交換します。

答え2

2番目のディスクは表示されません。これは実際に正しく分割されていないためです。ブートローダは起動するエントリを見つけようとしますが、ディスクの1つを読み取ることはできません。

私はそれをgpart showgeomが何を見つけたかを確認するために使用しました。 GEOMがレイアウトの検出にgpart list問題がある場合は、後でを使用して読み取り可能なログにエラーを記録しますdmesg

MBRが最初のディスクに書き込まれ、ブートパーティションが2番目のディスクにある可能性があります。 BIOSからインストールしないディスクを無効にするか、単にプラグを抜くことでこの問題を回避できます。

GPTパーティションスキームは通常MBRと互換性があるため、何の害もありません。私が理解したところによると、あなたが言うエラーメッセージは後でブートローダから来ます。したがって、BIOSの問題はここで除外できます。

関連情報