
2000年型PCにFreeBSD-7.4をインストールしました(※仕様は下記参照)。
ディスクがプライマリIDEスロットに接続されている場合、オペレーティングシステムは正常に起動しますが、中学校IDEソケットでは、「1. FreeBSDブート[デフォルト]」「3.セーフモードでFreeBSDブート」などのオプションを含むメニューを表示する最初の部分のみが起動します。
デフォルトの最初のオプションを選択すると、しばらく起動した後に表示されます。
Trying to mount from ufs:/dev/ad0s1a
freebsd manual root filesystem specification:
<fstype>:<device> [options] Mount <device> using filesystem <fstype>
eg. ufs:/dev/da0s1a
? List valid disk boot devices
<empty line> Abort manual input
役に立たないmountrootプロンプトを入力してください。タイピングする?
と
List of GEOM managed disk devices:
ufsid/5c922e4292c8e9fa ufsid/5c922e435b48afb7
ufsid/5c922e4343d7ab4b ufsid/5c922e44e470015a
ufsid/5c922e424bf39462 ad2s1g ad2s1f ad2s1e
ad2s1c ad2s1b ad2s1a ad2s1 ad2
mount ufsid/5c922e4292c8e9fa
他のすべてのデバイスに入り、試してから戻ります。
Trying to mount root from mount ufsid/5c922e4292c8e9fa
など、つまり有用な情報は提供されません。
同様の質問が投稿されました。混合IDE/SATAディスクと起動の問題しかし、それは役に立ちません。ただ似ているだけです。
IDE2ソケットから40ピンリボンIDEケーブルを外してIDE1ソケットに差し込むと、すべてが正常に戻ります。この問題は、ディスクがセカンダリプライマリIDEディスクとして使用される状況に制限されています。
実際、この問題は、同じFreeBSDインストールでプライマリIDEディスクから2番目のIDEディスクにアクセスしようとしたときに最初に発生しました。
mount /dev/ad1* /mnt/mydisk
ad1*
さまざまなオプションを実行すると、ad1s1
すべて一貫して返され、セカンダリプライマリ ad1s1a
IDE接続に問題があるため、2番目のIDEディスクをマウントできないようです。この問題はBiosの設定で解決できるようです。 「モード:LBA、Large、Auto」など、プライマリディスクとセカンダリIDEディスクに関連するBiosの設定はたくさんありますが、何かを知らず、誤って変更するためにランダムな設定を試したくありません。 。ad1s1b
mount: /dev/ad1s1: Operation not permitted
セカンダリプライマリIDEから起動する方法とFreeBSDで2番目のIDEディスクを使用する方法は?
- PC仕様:PII 400Mhz、Gigabyte Intel 440BX MoBo、512MB RAM、16MB RAMグラフィックカード、15GB Oantum Fireball IDEハードドライブ、Award Bios(2002ファームウェアを含む)
答え1
ブートローダは、どのBIOSドライブがどのIDEチャネルとマスター/スレーブの場所にマップされているのかを確認できないため、ハードドライブが穴なしでマスター - スレーブ、マスター - スレーブの順序で満たされ、BIOSドライブC、D、E ...ドライブとしてad0
、、ad1
。ad2
一方、IIRC FreeBSD 7ベースカーネル(GENERIC)にはハードワイヤードIDEドライブマッピングがあります。
/dev/ad0
ジュニアマスターです/dev/ad1
主な負荷です/dev/ad2
二次マスターです/dev/ad3
補助奴隷
あなたの場合、メインチャンネルは使用されないため、BIOSはFreeBSDハードドライブにCドライブ(0x80)を割り当てます。その後、ブートローダはBIOSドライブC(/dev/ad0
)スライス1
(おそらくドライブの唯一のパーティション)BSDディスクラベルパーティションを確認してa
起動し、そのパーティションを起動デバイスに変換し/dev/ad0s1a
てufs:/dev/ad0s1a
カーネルに渡します。
一方、カーネルブートシーケンスはIDEチャネルを検索し、セカンダリマスターでFreeBSDドライブを探します。上記のハード配線スキームによると、コアはad2
ドライバに割り当てられます(そうではありませんad0
)。したがって、rootdevをマウントする必要があるときにad0s1a
ブートローダから渡された情報を見ることはできません。
設定(セカンダリマスターサーバーのFreeBSD)を維持するには、設定を変更する必要があります。スピード:
- FreeBSDを初めてインストールするときと同じIDEチャンネル(マスター/スレーブ)と同じ場所(マスター/スレーブ)にドライブを配置します。 (説明で見るとジュニアマスターのようです。)
- システムを起動します。
- 起動が完了したら、rootとしてログインします。
- 次のコマンドを実行して、ブートローダに
ad2
(セカンダリマスターデバイス)をブートドライブとしてカーネルに渡すように指示します。echo 'vfs.root.mountfrom=ufs:/dev/ad2s1a' >> /boot/loader.conf
- システムをシャットダウンします。
- ドライブをセカンダリIDEチャネルに戻します。
/dev/ad2s1a
次の起動から、カーネルはブートローダのプロンプトを無視し、ルートデバイスとして使用されます。
/boot/loader.conf
注:ドライブを別のチャンネル/位置に移動するには、起動デバイスを調整する必要があります。