1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntuのデフォルトカーネルを強制的に変更する

Posted at

今回UbuntuをPCにインストールしてapt-upgradeをすると再起動後に画面が表示されない現象がおきました。
Twitterで最新のカーネルが不安定でセーフブートで一つ前のカーネルを使用してると聞いて試してみたところ画面がつくようになりました。
しかし毎回セーフブートからカーネルを選択するのは面倒くさいので一つ前のカーネルをデフォルトで起動できないか試してみました。

環境

Ubuntuのバージョン: 21.04
デフォルトのカーネル: 5.11.0.22-generic
変更したいカーネル: 5.11.0.16-generic

試してみたこと

/etc/default/grubの編集

色々試してみましたが、UEFIが起動したり通常の起動などしたりで上手く行きませんでした。

sudo gedit /etc/default/grub
sudo update-grub
/etc/default/grub
GRUB_DEFAULT=2
/etc/default/grub
GRUB_DEFAULT="saved"
/etc/default/grub
GRUB_DEFAULT="Ubuntu, with Linux 5.11.0.16-generic
/etc/default/grub
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.11.0.16-generic
/etc/default/grub
GRUB=DEFAULT="gnulinux-5.11.0-16-generic-advanced-5f2f8280-6d4b-4822-bbbf-792ef193a92d"

grub-set-defaultコマンド

これは反映されませんでした

sudo grub-set-default 2

/boot/grub/grub.cfgの編集

通常起動するUbuntuのカーネルを変更することで成功しました。
※update-grubすると上書きされて元のカーネルに戻ります。
boot/grub/grub.cfgを開いてsubmenuの中から変更したいカーネルを探してlinuxの行とinitrdの行をコピーしmenuenty 'ubuntu'linuxinitrdの行へ上書きします。

変更したカーネルのsubmenu
menuentry 'Ubuntu, with Linux 5.11.0-16-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-16-generic-advanced-5f2f8280-6d4b-4822-bbbf-792ef193a92d' {
		recordfail
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5f2f8280-6d4b-4822-bbbf-792ef193a92d
		else
		  search --no-floppy --fs-uuid --set=root 5f2f8280-6d4b-4822-bbbf-792ef193a92d
		fi
		echo	'Linux 5.11.0-16-generic をロード中...'
		linux	/boot/vmlinuz-5.11.0-16-generic root=UUID=5f2f8280-6d4b-4822-bbbf-792ef193a92d ro  quiet splash $vt_handoff
		echo	'初期 RAM ディスクをロード中...'
		initrd	/boot/initrd.img-5.11.0-16-generic
}
sudo gedit /boot/grub/grub.cfg
/boot/grub/grub.cfg編集前
mmenuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-5f2f8280-6d4b-4822-bbbf-792ef193a92d' {
	recordfail
	load_video
	gfxmode $linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod ext2
	set root='hd0,gpt2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5f2f8280-6d4b-4822-bbbf-792ef193a92d
	else
	  search --no-floppy --fs-uuid --set=root 5f2f8280-6d4b-4822-bbbf-792ef193a92d
	fi
	linux	/boot/vmlinuz-5.11.0-22-generic root=UUID=5f2f8280-6d4b-4822-bbbf-792ef193a92d ro  quiet splash $vt_handoff
	initrd	/boot/initrd.img-5.11.0-22-generic
}
/boot/grub/grub.cfg編集後
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-5f2f8280-6d4b-4822-bbbf-792ef193a92d' {
	recordfail
	load_video
	gfxmode $linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod ext2
	set root='hd0,gpt2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5f2f8280-6d4b-4822-bbbf-792ef193a92d
	else
	  search --no-floppy --fs-uuid --set=root 5f2f8280-6d4b-4822-bbbf-792ef193a92d
	fi
	linux	/boot/vmlinuz-5.11.0-16-generic root=UUID=5f2f8280-6d4b-4822-bbbf-792ef193a92d ro  quiet splash $vt_handof
	initrd	/boot/initrd.img-5.11.0-16-generic
}

My Accounts

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?