最近、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の構成問題であることがわかりました。正しい起動ディスクを選択した後、起動デバイスを手動で選択しなくても、コンピュータに「無効なパーティションテーブル」というメッセージが表示されます。ただし、pmbr
FreeBSDブートコードがこのメッセージを印刷する理由について疑問は残ります。
答え1
明らかに、ディスクはUEFIを使用してシステムを起動する場合、必要なGPTレイアウトを使用してパーティションが分割されています。おそらく、FreeBSDは最初に以前のMS-DOSパーティションレイアウトを検出し、メッセージを印刷してから、別のレイアウトを試み、正常にGPTレイアウトを見つけて起動を続行します。
SSDを手動で選択する必要がある場合、これはBIOS設定の問題である可能性が高くなります。ハードドライブが最初のSATAポートに接続されてプライマリブートディスクになるようです。 BIOS設定を修復するか、SSDが最初のSATAポートに接続されるようにSATA接続を交換します。
答え2
2番目のディスクは表示されません。これは実際に正しく分割されていないためです。ブートローダは起動するエントリを見つけようとしますが、ディスクの1つを読み取ることはできません。
私はそれをgpart show
geomが何を見つけたかを確認するために使用しました。 GEOMがレイアウトの検出にgpart list
問題がある場合は、後でを使用して読み取り可能なログにエラーを記録しますdmesg
。
MBRが最初のディスクに書き込まれ、ブートパーティションが2番目のディスクにある可能性があります。 BIOSからインストールしないディスクを無効にするか、単にプラグを抜くことでこの問題を回避できます。
GPTパーティションスキームは通常MBRと互換性があるため、何の害もありません。私が理解したところによると、あなたが言うエラーメッセージは後でブートローダから来ます。したがって、BIOSの問題はここで除外できます。