古いカーネルバージョンで起動するにはどうすればよいですか?


55

最新のカーネルが私のサウンドに問題を引き起こしており、古いバージョンでは問題なく動作していました。Ubuntuのみがインストールされているため、起動時にGrubが表示されません。ブート中にカーネルバージョンを手動で選択するにはどうすればよいですか?

回答:


58

Grubを表示する最も簡単な方法はSHIFT、起動中にボタンを押し続けることです。

別の方法として、特定のカーネルを起動せずにいつでもGrubを表示できます。

gksudo gedit /etc/default/grub

GRUB_TIMEOUT-1に変更してコメント化するGRUB_HIDDEN_TIMEOUT

実行して終了

sudo update-grub

5
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. コメントしGRUB_HIDDEN_TIMEOUTて設定しましたGRUB_TIMEOUT=0
-acidghost

明確にするために:GRUB_HIDDEN_TIMEOUTは、 'update-grub'の実行時に設定する必要がある環境変数ですか?
ジョナサンハートリー

1
@JonathanHartleyはでGRUB_HIDDEN_TIMEOUT定義されています/etc/default/grub
wjandrea

20

起動中にShiftキーを押し続けると、Grubメニューが表示されます。古いカーネルバージョンを選択できるようになりました。

古いカーネルをデフォルトのカーネルとして選択するには、こちらの投稿をご覧ください


2
私の場合(Ubuntu 16.04)、それは左シフトでした。右シフトは機能しませんでした。
ボブ

1
古いカーネルがgrubに表示されない(それらは削除された)場合はどうなりますか?これは、これらのカーネルにアクセスできないことを意味しますか?
カラマルカキッド

1
(シフトではなく)エスケープを使用する必要がありました
ジョナサンキング

5

GRUBにエントリが表示されているときに起動するときに、2番目のエントリ、つまりUbuntuの詳細オプションを選択すると、以前にインストールされたさまざまな古いカーネルバージョンが表示されます。それ以外の場合は、grub.cfgに移動し、現在インストールされているカーネルエントリの上に必要なカーネルバージョンを貼り付けます。両方の方法で動作します


3

システムにいくつかのカーネルがある場合、起動するカーネルのバージョンを手動で設定できます。

  1. BIOSの起動後にGRUBを表示するには、Shiftボタンを押してPCを再起動します。GRUBスタートページのようなものが表示され ます。

  2. 「Ubuntuの詳細オプション」を選択し、このメニュー行のインデックスを記憶します(カウントは0から始まります)ピクチャインデックスは1です

具体的なカーネルを選択

  1. ブート用の具体的なカーネルを選択し、このメニュー行のインデックスも記憶します(カウントは0から始まります)選択したカーネルのピクチャインデックスは2です

  2. システムを起動します。このアクションは、具体的なカーネルでの1回のブート用です。常に具体的なカーネルから開始する場合は、次の手順を実行する必要があります。

4.1。GRUBセットアップファイルを開いて編集します。

sudo nano /etc/default/grub

4.2。GRUB_DEFAULT = ...行(デフォルトではGRUB_DEFAULT = 0)を検索し、具体的なカーネルへのメニューパスを引用符で囲みます(手順2および3のメニューインデックスを記憶します)。私のシステムでは、最初のインデックスは1、2番目は2でした。GRUB_DEFAULTに設定しました

GRUB_DEFAULT="1>2"

ファイルを保存。

4.3。変更を適用するためにGRUB情報を更新します。

sudo update-grub

4.4。再起動後、選択したメニューパスでカーネルを自動的に起動します。私のマシンの例1-> 2

4.5。再起動後にカーネルバージョンを確認します。

うなめ-r


2

https://help.ubuntu.com/community/Grub2によって:

GRUB_HIDDEN_TIMEOUT = 0

この設定は、GRUB 2メニューのない画面が表示される時間を決定します。画面が空白の場合、ユーザーは任意のキーを押してメニューを表示できます。

デフォルトの動作では、オペレーティングシステムが1つしかない場合はメニューが非表示になります。Ubuntuのみを使用するユーザーがメニューを表示する場合は、この行の先頭に#記号を配置して、非表示のメニュー機能を無効にします。

カーネルのダウングレード:11.10でカーネルをダウングレードする方法

カーネルのアップグレード:カーネルを3.1にアップグレードするにはどうすればよいですか?


1

次のコマンドで以前のカーネルをインストールしてください:

sudo apt-get install linux-image-3.0.0-12-generic linux-headers-3.0.0-12-generic

次に再起動します。カーネルを選択するよう求められます。


1
  1. 起動中のBIOS / UEFIスプラッシュ画面の直後に、BIOSを使用してShiftキーをすばやく押し続けると、GNU GRUBメニューが表示されます。(Ubuntuのロゴが表示されている場合は、GRUBメニューに入ることができません。)UEFIで(おそらく数回)Escキーを押してGRUBメニューに移動します。製造元のスプラッシュ画面はWindowsブートローダーの一部である場合があるため、マシンの電源を入れると、GRUB画面に直接移動するため、押すShift必要はありません。

  2. GRUB画面からUbuntuの詳細オプションを選択し、を押しEnterます。

    ここに画像の説明を入力してください

  3. カーネルのリストを示す新しい紫色の画面が表示されます。↑キーと↓キーを使用して、強調表示するエントリを選択します。Enterキーを押して選択したカーネルを起動し、「e」で起動前にコマンドを編集するか、「c」でコマンドラインを起動します。Escキーを押して、前のメニューに戻ります。

    ここに画像の説明を入力してください


1
このはるかに短い答えと同じですが:askubuntu.com/a/584738/307523あなたの答えはShift、そもそもgrubを表示するためのスクリーンショットとキーでさらに進んでいます。
WinEunuuchs2Unix

0

Jackkobecの回答では、grub.cfgソースコードを表示およびスクロールしてメニュー番号を見つける方法について説明しています。このスクリプトを使用すると簡単です。

Grub Version: 2.02~beta2-36ubuntu3.22


         ┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
         │ Menu No.     ----------- Menu Name -----------                               │ 
         │                                                                              │ 
         │  1>3  Ubuntu, with Linux 4.15.0-55-generic                                  ↑│ 
         │  1>6  Ubuntu, with Linux 4.15.0-54-generic                                  ▒│ 
         │  1>9  Ubuntu, with Linux 4.14.134-0414134-generic                           ▒│ 
         │  1>12 Ubuntu, with Linux 4.14.120-0414120-generic                           ▮│ 
         │  1>15 Ubuntu, with Linux 4.14.114-0414114-generic                           ▒│ 
         │  1>18 Ubuntu, with Linux 4.14.110-0414110-generic                           ▒│ 
         │  1>21 Ubuntu, with Linux 4.14.98-041498-generic                             ▒│ 
         │  1>24 Ubuntu, with Linux 4.14.89-041489-generic                             ▒│ 
         │  1>27 Ubuntu, with Linux 4.14.78-041478-generic                             ▒│ 
         │  1>30 Ubuntu, with Linux 4.14.70-041470-generic                             ▒│ 
         │  1>33 Ubuntu, with Linux 4.4.0-157-generic                                  ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  2    Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)                       ▒│ 
         │  3    Advanced options for Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)  ▒│ 
         │  3>0  Ubuntu (on /dev/nvme0n1p10)                                           ↓│ 
         │                                                                              │ 
         │                                                                              │ 
         │                     [Display Grub Boot]            Exit                      │ 
         │                                                                              │ 
         └──────────────────────────────────────────────────────────────────────────────┘ 



注:この例でgrub-menu.sh shortは、スクリプトを呼び出すために使用されました。shortパラメータは、これらの行を抑制します。

     │  1>10 Ubuntu, with Linux 4.14.134-0414134-generic (upstart)                 ▒│ 
     │  1>11 Ubuntu, with Linux 4.14.134-0414134-generic (recovery mode)           ▒│ 

コントロールキー

エントリをスクロールした後(マウスのスクロールホイールまたは矢印キーを使用できます)を押しEscapeて、コマンドラインに戻ります。

Enterエントリに関連付けられたgrubコマンドを押すと表示されます:

menuentry 'Ubuntu, with Linux 4.14.134-0414134-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.134-0414134-generic-advanced-b40b3925-70ef-447f-923e-1b05467c00e7' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
else
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
fi
echo 'Loading Linux 4.14.134-0414134-generic ...'
linux /boot/vmlinuz-4.14.134-0414134-generic root=UUID=b40b3925-70ef-447f-923e-1b05467c00e7 ro noplymouth fastboot acpiphp.disable=1 pcie_aspm=force vt.handoff=7 i915.fastboot=1 nopti nospectre_v2 nospec mem_sleep_default=deep
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.134-0414134-generic
}
Press <Enter> to continue

grubを更新して以前のカーネルを起動する

各メニューエントリには、grubコマンドのセットが存在します。コンパイルされたエントリはすべて/boot/grub/grub.cfgファイルに保存されます。

この例では、メニュー番号 `1> 9>をデフォルトとして設定するため、次を使用します。

sudo -H gedit /etc/default/grub

次の行を見つけます。

GRUB_DEFAULT=0

これに変更します:

GRUB_DEFAULT="1>9"

次に、ファイルを保存して実行します

sudo update-grub
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.