web-dev-qa-db-ja.com

ssh経由で以前のカーネルをロードする方法は?

私は仕事用のコンピューターでリモートで作業しています。私は、同僚と共有しているワークステーションのルートでもあります。昨日、アップデートマネージャーからの依頼でカーネルを2.6.31-17にアップグレードしましたが、NVIDIAや他のいくつかのカーネルモジュールが機能しないことがわかっていたため、再起動を控えました。残念ながら、Linux noobである私の同僚がマシンを再起動し、ここにいます:(

シンボリックリンク/initrd.imgと/ vmlinuzを以前のカーネルイメージに変更して、kexecを使用することを考えています。 grubブートメニューではなく、sshからカーネルの2.6.31-16リリースをロードするためのより良い方法を教えてください。 UbuntuKarmicを使用しています。

4
Aamir

SSHからは選択できません。

SSHを使用して

  • a)Grub設定をチェックして、以前のカーネルがGrubメニューのオプションのままであることを確認します。

  • b)そのオプションで自動的に起動するようにGrubを設定します。

  • c)最後にシステムを再起動します。

これは、ブートワンスソリューションと非常によく似ています-私が書いた Grub v1を使用した手順 ServerFaultのこの回答で。

Grub2を使用している場合は、適切な構成を見つけるために調査を行う必要があります。明らかに、grub-set-defaultコマンドはKarmicでは機能しません。 UbuntuForumsの "Grub 2-5 Common Tasks" を参照してください-#2はデフォルトエントリの変更を扱います。その中のオプション3は、Grub2構成ファイルを介してそれを変更することについて説明しています。

次のコマンドを実行すると、/boot/grub/grub.cfgにリストされている現在の「menuentry」アイテムを確認できます。

grep "menuentry" /boot/grub/grub.cfg

カウントはゼロ(0)から始まります。最初の「menuentry」項目は「0」、2番目は「1」などです。3番目に表示される「menuentry」は2になります。

デフォルトにする番号を決定し、/ etc/default/grubに入力します。変更を加えてファイルを保存します。

 Sudo nano /etc/default/grub

ユーザーはオプションとして「保存済み」を選択することもできます。これにより、最後に正常に起動されたカーネル/ OSがデフォルトの選択として使用されます。

 # Example: 
 DEFAULT="saved"

ファイルを保存してから、メニューを更新します。

 Sudo update-grub

古いカーネルのエントリを見つける必要があります。デフォルトのエントリを古いカーネルに変更してGrubを更新すると、システムを再起動できるようになります(Sudo reboot now)-システムが復旧するのを待った後、古いカーネルを実行しているはずです。

5
quack quixote

startupmanager というユニバースリポジトリにGrub2用のGUIエディタもあることがわかりました。実際に使ってみました。

1
Aamir