Linux更新内核错误,update-initramfs:failedb解决方法


环境:

win7,Ubuntu双系统。

问题出现背景与解决方案:

前两天发现/home目录满了,然后就在Ubuntu下用 gparted 工具对系统重分区,分区后结果/boot与win7的C盘挂载到了同一个分区/sda1上,因此启动时报错。因此对系统进行了重分区,划出了2G用作/boot。

但是划出后,在运行apt-get时,报错如下:\

没有找到文件/boot/config-*,解决办法就是把原来的/boot下的文件复制,并拷贝过来。

然后在运行apt-get install -f 的时候又报了新错误:

正在设置 initramfs-tools (0.103ubuntu1.1) ...
update-initramfs: deferring update (trigger activated)
正在处理用于 initramfs-tools 的触发器...
update-initramfs: Generating /boot/initrd.img-3.11.0-12-generic
E: /usr/share/initramfs-tools/hooks/watershed failed with return 1.
update-initramfs: failed for /boot/initrd.img-3.11.0-12-generic with 1.
dpkg: error processing initramfs-tools (--configure):
子进程 已安装 post-installation 脚本 返回了错误号 1
在处理时有错误发生:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

网上查了半天,下面有两个解决方案:

1,/boot已满,需要删去旧内核。

运行 uname -a 查看当前运行内核版本。

运行 dpkg --get-selections"grep linux 查看所有安装的内核,并把带 install 的卸载掉

 sudo apt-get remove linux-image-2.6.24-16-generic

2,运行 df -h 发现挂在的boot并没有满。仔细阅读上面的错误,发现主要是 watershed 出现问题了,可能是丢失或者没有办法读了。执行:

sudo chmod -x /usr/share/initramfs-tools/hooks/watershed

则一切ok。

相关内容