FreeBSD:MBRブートコードの修正

FreeBSD:MBRブートコードの修正

何らかの理由でシステムで 11.4 ブートコードの実行が失敗します。これは調査中です[1]。その間、システムを11.3に復元しようとしています。

古いブートコードを復元する正しい方法を見つけようとしています。私はこれがいくつかの正しい呼び出しになると思いますgpart bootcode -b xxx ...が、正しい呼び出しが何であるかわかりません。それともそれがbsdlabel -b ...必要なのでしょうか?

簡単なイベントタイムラインは次のとおりです。

  1. 11.3 システムを実行しています。
  2. 11.4 ソースコードのコンパイル( make buildworld, make kernel)
  3. 11.4 カーネルで正常に再起動しました。
  4. 新しいユーザー領域のインストールの準備(adjkerntz -i、、mergemaster -p
  5. 新規ユーザーゾーンのインストール(make installworld
    • 私の理解は、これが新しいブートコードにも当てはまるということです。本当に?これを行う makefile で正確な呼び出しが見つかりませんでした。
  6. 新しいシステムで再起動
    • 失敗する- 「BTXが停止しました」エラーが発生します。

したがって、実際の問題を特定しようとしたときに最初に心配したのは、システムのブート可能なバフを得ることでした。

私は「バックアップから再インストール」の核オプションを避けようとしています。私は何をすべきかをすでに知っています(:

代わりに、スタートコードが再び機能するように努めています。

  • 11.3ブートコードを手動でインストールし、11.4システムを実行し続けることができますか?
  • まだ11.3のソースコードがありますが、再インストールできますか?

どんなアドバイスも本当にありがとうございます。

[1]https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257722

ベストアンサー1

エラーリンクにはいくつかの残酷な詳細がありますが、基本的に必要なものは次のとおりです。

  • LiveCD USBスティックから起動
  • そこ、走るcp /boot/loader MOUNTPOINT/boot/loader
    • そのうち MOUNTPOINT は、LiveCD にインストールされる物理システムのルートパーティションです。したがって、MBRのアップデートやその他はありません。更新が必要な/boot/loaderの通常のファイルだけです。

このように(BIOSが間違ったドライブを選択したことを確認した後)、11.4システムで正しく起動するように戻りました。

しかし、回帰がいつ導入されたかを調べる必要があります。その進行状況についてはバグレポートをご覧ください。

おすすめ記事