FreeBSDがインストールされたHDD(またはSSD、またはフラッシュドライブ)を持っていますが、どういうわけかブートコード(最初の446バイトのMBR)を破りました。どうすればこのFreeBSDを起動できますか?
512バイトのDOSライクなMBRがあり、その最初の446バイトをいくつかのがらくた( zeros または単に/dev/urandom
出力)に置き換えたか、またはブートコードを他の方法で破損したと仮定します。この場合、MBRパーティションテーブルはその場所にありますが、システムはこのデバイスから起動できません。
アイデアは、他のBSDのようなシステムのローダーを使用して、デバイスとカーネルで起動することです。
unload
と入力して、カーネルとそのモジュールをアンロードしますdisk0s1a
のようなもの)を検索するには、lsdev
と入力します。set currdev="disk0s1a"
と入力して、このデバイスを「現在」に設定しますloder.conf
と入力して、デバイスからread-conf boot/loader.conf
を再度読み取ります(カーネルのすべてのチューニングとハッキングが適用されることを確認するため)。boot-conf
と入力するだけOSが起動したら、ブートコードを修復できます。私はsysinstall
を使用しています(カスタム->パーティション、 W、<Yes>
、BootMgr
( "FreeBSDブートマネージャのインストール")、<OK>
、 Q、<Exit>
、<Exit Install>
)ですが、9.0-RELEASE以降は非推奨で、10.0-RELEASE以降はベースから削除されています。もう1つの方法は、/boot
に保存されているバックアップを使用して、そこからブートコードを抽出することです。
# gpart bootcode -b /boot/mbr /dev/yourbootdevice