特定のカーネルを削除して/bootディレクトリをクリーンアップする方法

特定のカーネルを削除して/bootディレクトリをクリーンアップする方法

特定のカーネルを削除しようとしたときに回復しようとしています...ログインGRUBメニューに表示されている古いカーネルバージョンを使用してUbuntuにログインできます(削除したい最新のトップレベルカーネルは避けてください)。

ログイン時 5.4.0-16-generic に良いカーネルから誤ったカーネルを削除したいと思います 5.4.0-17-generic。次のように誤ったカーネルを削除しました。

sudo apt-get remove linux-image-5.4.0-17-generic

そしてgrubアップデートを実行してください

sudo update-grub

再起動したが不都合な5.4.0-17はまだ私のデフォルトのブートカーネルです...ここに私のディレクトリがあり/bootます

pie@peach /boot $ ls -la
total 271188
drwxr-xr-x  5 root root     4096 Mar  7 14:05 .
drwxr-xr-x 28 root root     4096 Feb 10 09:40 ..
-rw-r--r--  1 root root   237656 Feb  6 17:30 config-5.4.0-14-generic
-rw-r--r--  1 root root   237694 Feb 26 13:22 config-5.4.0-16-generic
-rw-r--r--  1 root root   237694 Feb 27 08:29 config-5.4.0-17-generic
drwx------  3 root root     4096 Dec 31  1969 efi
drwxr-xr-x  5 root root     4096 Mar  7 14:18 grub
lrwxrwxrwx  1 root root       27 Mar  7 14:04 initrd.img -> initrd.img-5.4.0-17-generic
-rw-r--r--  1 root root 99646073 Feb 21 07:12 initrd.img-5.4.0-14-generic
-rw-r--r--  1 root root 99685332 Feb 27 13:52 initrd.img-5.4.0-16-generic
-rw-r--r--  1 root root 27953789 Mar  7 14:05 initrd.img-5.4.0-17-generic
lrwxrwxrwx  1 root root       27 Mar  7 14:04 initrd.img.old -> initrd.img-5.4.0-16-generic
drwx------  2 root root    16384 Jun  1  2019 lost+found
-rw-r--r--  1 root root   182704 Feb 13 18:09 memtest86+.bin
-rw-r--r--  1 root root   184380 Feb 13 18:09 memtest86+.elf
-rw-r--r--  1 root root   184884 Feb 13 18:09 memtest86+_multiboot.bin
-rw-------  1 root root  4714929 Feb  6 17:30 System.map-5.4.0-14-generic
-rw-------  1 root root  4730982 Feb 26 13:22 System.map-5.4.0-16-generic
-rw-------  1 root root  4730982 Feb 27 08:29 System.map-5.4.0-17-generic
lrwxrwxrwx  1 root root       24 Mar  7 14:04 vmlinuz -> vmlinuz-5.4.0-17-generic
-rw-------  1 root root 11596536 Feb  6 17:31 vmlinuz-5.4.0-14-generic
-rw-------  1 root root 11645688 Feb 26 12:48 vmlinuz-5.4.0-16-generic
-rw-------  1 root root 11643776 Feb 27 08:29 vmlinuz-5.4.0-17-generic
lrwxrwxrwx  1 root root       24 Mar  7 14:04 vmlinuz.old -> vmlinuz-5.4.0-16-generic

上記のディレクトリから誤ったカーネルの内容を手動で削除できますか?ファイル、シンボリックリンクが正しくありません5.4.0-17。その後、良好を指す新しいシンボリックリンクを作成しますか 5.4.0-16 ?それとももっと良い方法がありますか?

Ubuntu 20.04

答え1

明らかに答えは「はい」です...間違ったカーネルファイルとシンボリックリンクを手動で削除し、良いカーネルを指すシンボリックリンクを再作成しました...そして再起動した後、すべてが大丈夫でした...

最初に私は見た

pie@peach /boot $ s
total 259816
drwxr-xr-x  5 root root     4096 Mar  7 14:59 .
drwxr-xr-x 28 root root     4096 Feb 10 09:40 ..
-rw-r--r--  1 root root   237656 Feb  6 17:30 config-5.4.0-14-generic
-rw-r--r--  1 root root   237694 Feb 26 13:22 config-5.4.0-16-generic
-rw-r--r--  1 root root   237694 Feb 27 08:29 config-5.4.0-17-generic
drwx------  3 root root     4096 Dec 31  1969 efi
drwxr-xr-x  5 root root     4096 Mar  7 14:58 grub
lrwxrwxrwx  1 root root       27 Mar  7 14:04 initrd.img -> initrd.img-5.4.0-17-generic
-rw-r--r--  1 root root 99646073 Feb 21 07:12 initrd.img-5.4.0-14-generic
-rw-r--r--  1 root root 99685332 Feb 27 13:52 initrd.img-5.4.0-16-generic
-rw-r--r--  1 root root 27953789 Mar  7 14:05 initrd.img-5.4.0-17-generic
lrwxrwxrwx  1 root root       27 Mar  7 14:04 initrd.img.old -> initrd.img-5.4.0-16-generic
drwx------  2 root root    16384 Jun  1  2019 lost+found
-rw-r--r--  1 root root   182704 Feb 13 18:09 memtest86+.bin
-rw-r--r--  1 root root   184380 Feb 13 18:09 memtest86+.elf
-rw-r--r--  1 root root   184884 Feb 13 18:09 memtest86+_multiboot.bin
-rw-------  1 root root  4714929 Feb  6 17:30 System.map-5.4.0-14-generic
-rw-------  1 root root  4730982 Feb 26 13:22 System.map-5.4.0-16-generic
-rw-------  1 root root  4730982 Feb 27 08:29 System.map-5.4.0-17-generic
lrwxrwxrwx  1 root root       24 Mar  7 14:04 vmlinuz -> vmlinuz-5.4.0-17-generic
-rw-------  1 root root 11596536 Feb  6 17:31 vmlinuz-5.4.0-14-generic
-rw-------  1 root root 11645688 Feb 26 12:48 vmlinuz-5.4.0-16-generic
lrwxrwxrwx  1 root root       24 Mar  7 14:04 vmlinuz.old -> vmlinuz-5.4.0-16-generic

それから発行します。

pie@peach /boot $ 
pie@peach /boot $ sudo rm -rf config-5.4.0-17-generic initrd.img-5.4.0-17-generic System.map-5.4.0-17-generic 
pie@peach /boot $ sudo rm initrd.img
pie@peach /boot $ sudo ln -s initrd.img-5.4.0-16-generic initrd.img
pie@peach /boot $ s initrd.img.old 
lrwxrwxrwx 1 root root 27 Mar  7 14:04 initrd.img.old -> initrd.img-5.4.0-16-generic
pie@peach /boot $ sudo rm initrd.img.old
pie@peach /boot $ sudo ln -s initrd.img-5.4.0-14-generic initrd.img.old 
pie@peach /boot $ sudo rm vmlinuz
pie@peach /boot $ sudo ln -s vmlinuz-5.4.0-16-generic vmlinuz 
pie@peach /boot $ sudo rm vmlinuz.old
pie@peach /boot $ sudo ln -s vmlinuz-5.4.0-14-generic vmlinuz.old 

最後に見た

pie@peach /boot $ s
total 227656
drwxr-xr-x  5 root root     4096 Mar  7 15:00 .
drwxr-xr-x 28 root root     4096 Feb 10 09:40 ..
-rw-r--r--  1 root root   237656 Feb  6 17:30 config-5.4.0-14-generic
-rw-r--r--  1 root root   237694 Feb 26 13:22 config-5.4.0-16-generic
drwx------  3 root root     4096 Dec 31  1969 efi
drwxr-xr-x  5 root root     4096 Mar  7 14:58 grub
lrwxrwxrwx  1 root root       27 Mar  7 14:59 initrd.img -> initrd.img-5.4.0-16-generic
-rw-r--r--  1 root root 99646073 Feb 21 07:12 initrd.img-5.4.0-14-generic
-rw-r--r--  1 root root 99685332 Feb 27 13:52 initrd.img-5.4.0-16-generic
lrwxrwxrwx  1 root root       27 Mar  7 15:00 initrd.img.old -> initrd.img-5.4.0-14-generic
drwx------  2 root root    16384 Jun  1  2019 lost+found
-rw-r--r--  1 root root   182704 Feb 13 18:09 memtest86+.bin
-rw-r--r--  1 root root   184380 Feb 13 18:09 memtest86+.elf
-rw-r--r--  1 root root   184884 Feb 13 18:09 memtest86+_multiboot.bin
-rw-------  1 root root  4714929 Feb  6 17:30 System.map-5.4.0-14-generic
-rw-------  1 root root  4730982 Feb 26 13:22 System.map-5.4.0-16-generic
lrwxrwxrwx  1 root root       24 Mar  7 15:00 vmlinuz -> vmlinuz-5.4.0-16-generic
-rw-------  1 root root 11596536 Feb  6 17:31 vmlinuz-5.4.0-14-generic
-rw-------  1 root root 11645688 Feb 26 12:48 vmlinuz-5.4.0-16-generic
lrwxrwxrwx  1 root root       24 Mar  7 15:00 vmlinuz.old -> vmlinuz-5.4.0-14-generic
pie@peach /boot $ 

grubを更新して再起動しようとしています。

pie@peach /boot $ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-16-generic
Found initrd image: /boot/initrd.img-5.4.0-16-generic
Found linux image: /boot/vmlinuz-5.4.0-14-generic
Found initrd image: /boot/initrd.img-5.4.0-14-generic
Adding boot menu entry for UEFI Firmware Settings
done

関連情報