Fedora

刪除舊交換後如何從引導掛起中恢復?

  • June 9, 2016

從舊版本升級失敗後,我在硬碟的可用空間中重新安裝了 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/swapgrub 配置文件中包含的參數就可以了。根本不需要執行 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來驗證它是否有效

引用自:https://unix.stackexchange.com/questions/111416