当正在使用的启动映像仅部分安装时删除旧的启动映像

当正在使用的启动映像仅部分安装时删除旧的启动映像

我正在尝试更新我的内核,尝试后,它部分安装完毕。现在,当我重新启动时,一切都无法正常工作。

我查看了以前的问题,并发布了自己的问题,但尚未收到答复。

基本上我需要卸载旧内核来为“sudo apt-get install -f”腾出空间。但我所做的一切都没有任何作用。

我需要以某种方式释放空间。我尝试了 gparted,但它不允许我进行必要的更改。我该如何删除旧的内核映像。

答案1

请仔细阅读以下内容,除非您理解说明以及未能成功执行此操作的影响,否则请不要继续。

您可以使用 来确定当前加载的内核和版本uname -a

您的计算机在 下有可帮助您启动的文件/boot/。加载这些文件后,它将需要 中的文件/lib/modules/<kernel.version>/

假设您决定只使用 3.14 内核。假设您有一个想要删除的 3.12 版本。

  1. 从中删除文件/boot/
    • ls /boot/ | grep 3.12
    • 验证列出的文件
    • rm -rf /boot/*3.12*
  2. 删除相关的内核模块
    • ls /lib/modules/ | grep 3.12
    • 验证列出的文件
    • rm -rf /lib/modules/*3.12*

您可以使用df -h之前和之后来查看每个已安装分区上的可用空间。

答案2

要查看已加载的内核,请输入:

uname -r

要查看您已安装的内核版本,请输入:

dpkg -l | grep linux-image-

要删除它们:

sudo apt-get --purge autoremove linux-image--generic

https://help.ubuntu.com/community/Lubuntu/Documentation/RemoveOldKernels

答案3

测试一下:

打开终端,

Ctrl++AltT

运行:

$ sudo -i
# OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
# CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
# LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
# METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
# OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
# apt-get remove --purge $OLDCONF
# apt-get remove --purge $OLDKERNELS
# apt-get autoremove
# apt-get clean

笔记: $ = 用户提示符。# = 根提示符。

相关内容