首页 > 代码库 > Linux更新内核错误,update-initramfs: failedb解决方法

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。

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