- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カーネルのアップデートについて)
Linuxカーネルのアップデートによる起動不可の問題
このQ&Aのポイント
- Linuxカーネルを最新版にアップグレードした際、マシンの再起動後に起動できなくなる問題が発生しました。
- 原因として考えられるのは、新しいLinuxカーネルが1024シリンダ以降に存在することや、/etc/lilo.confの内容が変更されていないことです。
- ただし、問題文には「新しいカーネルを同じディレクトリィに同じファイル名で上書きしました。」とあるため、/etc/lilo.confの内容を変更していなくても起動できる可能性もあります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
“「新しいLinuxカーネルが1024シリンダ以降に存在する」はLILOのことなのでカーネルは違うので間違い。” という判断がよく理解できません。LILO以外のBootローダを使用している、ということでしょうか? また“「新しいカーネルを同じディレクトリィに同じファイル名で上書きしました。」とあるので こちらももしかしたら不正解ではないかと思うのですが”という質問ですが、 同じファイル名で上書きしても、ハードディスク上(セクタ位置など)同じ場所にファイルが書かれる とは限りません。ファイルをオープンして一部を変更してクローズしたのであれば別ですが、 新しいカーネルを上書きするというのは、コピーコマンドで上書きする形になるので、この場合は ハードディスク上は別の位置に書き込まれています。 ブートローダは、大抵、定義上はファイル名でカーネルをしてしますが、実際にはブート情報と してはHDディスク上の位置を覚えます。ですから上書きしたあとは(位置が変わってしまうので) ブート情報の更新(liloコマンドや grub-installコマンドなど)を実施する必要があります。
お礼
回答ありがとうございます。 あるサイトに同じ問題があり解答と解説があったので掲載しておきます。 解答 MBRにLILOをインストールする前に再起動した 【解説】 ブートローダ LILO を使用している場合、再構築したカーネルを利用するためには次の作業が必要になります。まず、Linux カーネルのファイル名などを変更した場合、LILO の設定ファイル「etc/lilo.conf」の内容を新しい Linux カーネルに合わせたものに変更します。次に、/sbin/lilo コマンドを実行します。実行された /sbin/lilo コマンドは、設定ファイル「/etc/lilo.conf」を参照し、設定ファイルで指定された場所(MBR、ブート・パーティションの先頭など)に起動用のプログラムをコピーします。この一連の作業をしないと再起動後に Linux は起動しなくなります。問題文は、旧カーネルを上書きしたとありますので、ファイル名や保存場所(ディレクトリ名)は変更されていません。したがって、設定ファイル「/etc/lilo.conf」の内容を変更する必要はありません。 mdebugonさんの解答もとても参考になりました。 本当にありがとうございました。