Linux

如何修復無法啟動的 Fedora 安裝

  • October 17, 2013

如何在不刪除任何現有分區或數據的情況下修復/重新安裝 Fedora?

我試圖按照wiki中的說明將一些舊的 Fedora 13 伺服器升級到 17 。在 14->15 升級後,重新啟動導致輸出:

Dropping to debug shell.

sh: can't access tty; job control turned off
dracut:/#

執行 dmesg 還顯示:

dracut Warning: No root device "block:/dev/mapper/VolGroup-lv_root" found

Google搜尋顯示此錯誤通常與一些奇怪的 RAID 問題有關,但我的伺服器是不使用任何 RAID 的虛擬機。使用救援 CD,我可以chroot /mnt/sysimage,並且所有包和數據似乎仍然存在。如何使系統再次可啟動?

顯然,Fedora 的升級過程破壞 /boot/initramfs 文件系統並導致系統無法啟動的情況並不少見。

使用我在這裡找到的提示,解決方案是使用 Fedora Live CD 啟動,然後從菜單中選擇“救援安裝的系統”。然後通過菜單進入救援外殼。然後使用chroot /mnt/sysimage. 提示建議通過執行來修復 initramfs:

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)

但是,由於您將執行 Live CD 的核心,因此如果您的系統核心版本與 Live CD 不完全匹配,這可能會失敗。我的 Live CD 使用的是 2.6.* 核心,但我安裝了 3.4.* 核心,所以我執行:

mv /boot/initramfs-3.4.2-1.fc16.x86_64.img /boot/initramfs-3.4.2-1.fc16.x86_64-nouveau.img
dracut /boot/initramfs-3.4.2-1.fc16.x86_64.img 3.4.2-1.fc16.x86_64
exit

之後,取出 Live CD,然後重新啟動會生成一個可啟動系統。

引用自:https://serverfault.com/questions/400235