如何从 /boot 中删除旧内核文件并修复?

如何从 /boot 中删除旧内核文件并修复?

如能就以下问题提供任何帮助,我们将不胜感激:

几天前,我安装了最新的稳定 Linux 内核(3.16.3),然后我使用了这里删除我的旧内核。该命令删除了许多软件包,包括我的 AMD fglrx 驱动程序(我现在正在运行最新的 OpenSource Gallium),但它没有从 /boot 中删除旧内核(不再安装)。请参阅下文了解详细信息。

$ uname -a
Linux linux 3.16.3-031603-generic #201409171435 SMP Wed Sep 17 18:36:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


$ sudo ls -l /boot
total 153701
-rw-r--r-- 1 root root  1158016 May  3 01:30 abi-3.13.0-24-generic
-rw-r--r-- 1 root root  1163858 Aug 15 03:56 abi-3.13.0-35-generic
-rw-r--r-- 1 root root  1163858 Sep  3 23:24 abi-3.13.0-36-generic
-rw-r--r-- 1 root root  1204707 Sep 17 20:04 abi-3.16.3-031603-generic
-rw-r--r-- 1 root root   165510 May  3 01:30 config-3.13.0-24-generic
-rw-r--r-- 1 root root   165652 Aug 15 03:56 config-3.13.0-35-generic
-rw-r--r-- 1 root root   165671 Sep  3 23:24 config-3.13.0-36-generic
-rw-r--r-- 1 root root   170795 Sep 17 20:04 config-3.16.3-031603-generic
drwxr-xr-x 5 root root     1024 Sep 30 13:20 grub
-rw-r--r-- 1 root root 28803145 Sep 26 18:48 initrd.img-3.13.0-24-generic
-rw-r--r-- 1 root root 26876001 Sep 23 17:05 initrd.img-3.13.0-35-generic
-rw-r--r-- 1 root root 28958561 Sep 26 18:46 initrd.img-3.13.0-36-generic
-rw-r--r-- 1 root root 28616184 Sep 30 13:31 initrd.img-3.16.3-031603-generic
drwx------ 2 root root    12288 Aug 28 16:23 lost+found
-rw-r--r-- 1 root root   176500 Mar 12  2014 memtest86+.bin
-rw-r--r-- 1 root root   178176 Mar 12  2014 memtest86+.elf
-rw-r--r-- 1 root root   178680 Mar 12  2014 memtest86+_multiboot.bin
-rw------- 1 root root  3372643 May  3 01:30 System.map-3.13.0-24-generic
-rw------- 1 root root  3386444 Aug 15 03:56 System.map-3.13.0-35-generic
-rw------- 1 root root  3386479 Sep  3 23:24 System.map-3.13.0-36-generic
-rw------- 1 root root  3629877 Sep 17 20:04 System.map-3.16.3-031603-generic
-rw------- 1 root root  5776416 May  3 01:30 vmlinuz-3.13.0-24-generic
-rw------- 1 root root  5806368 Aug 15 03:56 vmlinuz-3.13.0-35-generic
-rw------- 1 root root  5806848 Sep  3 23:24 vmlinuz-3.13.0-36-generic
-rw------- 1 root root  6417328 Sep 17 20:04 vmlinuz-3.16.3-031603-generic

现在我的问题是:

  1. 如何正确删除 /boot 中除与 3.16.3 相关的 4 个文件之外的所有文件?我是否可以手动删除它们,然后使用以下命令升级 grub引导修复

  2. 请查看以下命令的输出。由于我不知道它的含义,有人能告诉我这是否显示了错误,或者这是否是我应该看到的吗?

多谢! :)

$ sudo dpkg --list 'linux-image*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                    Version          Architecture     Description
+++-=======================-================-================-===================================================
un  linux-image             <none>           <none>           (no description available)
un  linux-image-3.0         <none>           <none>           (no description available)
ii  linux-image-3.16.3-0316 3.16.3-031603.20 amd64            Linux kernel image for version 3.16.3 on 64 bit x86

答案1

为了摆脱旧的内核包,我首先检查我没有运行即将删除的内核:)

uname -a

然后我 grep 查找包,例如:

dpkg -l | fgrep linux-image-
dpkg -l | fgrep 3.13.0-24

然后我从该列表中清除特定的内核包(以下只是一个示例,您可以复制/粘贴实际的内核包名称):

apt-get purge linux-image-3.13.0-24-amd64 linux-headers-3.13.0-24-generic linux-headers-3.13.0-24-amd64

如果由于某种原因 /boot 中的文件没有被正确删除,您可以手动删除它们,当然,注意不要删除与已安装的 linux-image- 版本相关的文件,也不要删除与您正在运行的内核相关的文件。

从 /boot 删除文件后,您可以运行 update-grub 来删除相关的菜单项。

在我看来,“un”的状态不太正确。您可以尝试:

apt-get -f install

或者

apt-get install linux-image

相关内容