Freebsd
FreeBSD:修復 MBR 引導程式碼
出於某種原因,在我的系統上執行 11.4 引導程式碼失敗。這是正在調查中
$$ 1 $$,但與此同時,我正在嘗試將我的系統恢復到 11.3。 我正在嘗試找出恢復舊啟動程式碼的正確方法。我想它最終會是一些呼叫
gpart bootcode -b xxx ...
,但我不確定什麼是正確的。或者也許這bsdlabel -b ...
是需要的?以下是事件的簡要時間表:
- 我有一個正在執行的 11.3 系統
- 編譯的 11.4 原始碼 (
make buildworld
,make kernel
)- 重啟成功進入11.4核心
- 準備安裝新使用者區 (
adjkerntz -i
,mergemaster -p
)- 安裝了新的使用者空間 (
make installworld
)
- 我的理解是這也適用於任何新的引導程式碼。**真的嗎?**我還沒有從 makefile 中找到可以執行此操作的確切呼叫。
- 重啟進入新系統
- FAILURE - 出現“BTX 停止”錯誤
因此,當我試圖追查實際問題時,我首先關心的是獲得系統可引導增益。
我試圖避免“從備份重新安裝”核選項。我已經知道該怎麼做(:
相反,我試圖讓引導程式碼再次工作。
- 也許我可以手動安裝 11.3 引導程式碼並仍然執行我的 11.4 系統?
- 我仍然保存了 11.3 源;也許我可以重新安裝它?
任何意見,將不勝感激。
$$ 1 $$ https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257722
錯誤連結上有血淋淋的細節,但基本上,我只需要這樣做:
- 通過 LiveCD U 盤啟動
- 在那裡,執行
cp /boot/loader MOUNTPOINT/boot/loader
- 其中 MOUNTPOINT 是實際系統的根分區,安裝在 LiveCD 內。所以,沒有 MBR 更新或任何東西,它只是 /boot/loader 中需要更新的普通文件。
有了這個(並且在確定 BIOS 選擇了錯誤的驅動器之後),它又回到了 11.4 系統中的正確引導。
不過,仍然需要弄清楚該回歸是何時引入的——請參閱錯誤報告以了解該進展。