刪除舊交換後如何從引導掛起中恢復?
從舊版本升級失敗後,我在硬碟的可用空間中重新安裝了 Fedora 20。在我刪除包含舊版本的分區以釋放一些空間之前,一切似乎都執行良好。重新啟動電腦後,我在等待很長時間後收到以下消息:
警告:無法啟動
警告:/dev/fedora_old/swap 不存在
啟動 Dracut 緊急外殼
如果我
exit
在 dracut 提示符下鍵入,我仍然可以啟動。但是,這並不能解決問題的根源。網上有幾個建議:dracut --force --regenerate-all
我不確定它到底做了什麼,它似乎並沒有解決問題。整理交換分區的正確方法是什麼?似乎在安裝新作業系統時使用了舊作業系統的交換,儘管它有自己的交換分區。
將來如何避免這樣的問題?
這就是我所擁有的
/etc/fstab
:/dev/mapper/fedora_new-root00 / ext4 defaults 1 1 UUID=somehexdec /boot ext4 defaults 1 2 UUID=someotherhexdec /boot/efi vfat umask=0077,shortname=winnt 0 0 /dev/mapper/fedora_new-home00 /home ext4 defaults 1 2 /dev/mapper/fedora_new-swap swap swap defaults 0 0
似乎手動編輯掉
rd.lvm.lv=fedora_old/swap
grub 配置文件中包含的參數就可以了。根本不需要執行 dracut 或重新安裝 grub。# vi /boot/efi/EFI/fedora/grub.cfg
在您將要啟動的菜單項下搜尋以下行:
linuxefi /vmlinuz-3.12.x-xxx.fc20.x86_64 root=/dev/mapper/fedora_new-root00 ro rd.lvm.lv=fedora_old/swap rd.lvm.lv=fedora_new/swap vconsole.font=….
為確保上述更改保持不變,請對以下內容執行相同操作
/etc/default/grub
:GRUB_CMDLINE_LINUX=" rd.lvm.lv=fedora_old/swap rd.lvm.lv=fedora_new/swap vconsole.font=…
如果此方法錯誤,請提供答案或發表評論。
要使其永久化,您需要更新
/etc/default/grub
以指向正確的交換分區。範例:更改此:
GRUB_CMDLINE_LINUX="rd.lvm.lv=rootVG/root rd.lvm.lv=oldnameVG/swapLV rhgb quiet"
對此:
GRUB_CMDLINE_LINUX="rd.lvm.lv=rootVG/root rd.lvm.lv=rootVG/swapLV rhgb quiet"
完成後,您將需要重新生成 grub 配置:
grub2-mkconfig -o /boot/grub2/grub.cfg
您可以通過查看
/boot/grub2/grub.cfg
並驗證交換現在指向正確的 VG/LV來驗證它是否有效