Windows 7與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。