Arch-Linux

在 EFI 上更新 pacman 後如何恢復正常啟動過程?

  • March 1, 2015

我剛剛更新了我的系統,重新啟動後我發現自己處於緊急模式。這是一個dm-crypt+LUKS EFI使用gummiboot. 無法裝載的journalctl -xb報告。/boot在這個執行緒之後,我嘗試將我的核心降級為3.18.2using pacman -U,雖然它確實降級了,但我仍然無法正常啟動。

考慮到核心升級過程剛剛出現故障,我嘗試重新更新我的核心(從/var/cache/pacman/pkg/,但這並不影響下一次啟動。mkinitcpio警告說啟動分區沒有掛載。

我目前的行/etc/fstab是:

LABEL=EFI /boot vfat rw,relatime,fmask=0022,dmask=0022,code page=437,iocharset=iso8859-1,short name=mixed,errors=remount-ro 0 2

uname -r告訴我緊急模式使用的是 Linux 核心3.18.2而不是3.18.6我更新到的核心。pacman -QLinux 說3.18.6-1

Journalctl -xb | grep -I failed | less顯示 systemd 無法載入顯示管理器並且無法啟動 Load Kernel Modules。兩個單位都失敗了systemctl --state=failed

當我啟動並嘗試使用 netctl 連接到 Internet 時,我收到codepage cp437錯誤並再次提示我輸入我的 root 密碼。進一步調查顯示,這是為我的 EFI 分區指定的 MS-DOS/FAT 擴展 ASCII 編碼/etc/fstab。如果這只是 and 之間的錯位/boot/我怎麼能重新同步它們過去pacman -U

我非常感謝有關恢復我的系統的建議。提前致謝。

jasonwryan為我指明了正確的方向。

我執行了以下步驟:

  1. 下載最新的安裝媒體並製作一個可啟動的USB

  2. 未加密我的 LUKS LVM 卷

/mnt/arch3) 將我的捲掛載到我創建的目錄中的 live USB 文件系統(包括/mnt/arch/boot, 和/mnt/arch/home

4)連接到網際網路wifi-menu

  1. 用於arch-chroot更改根目錄

  2. 用 pacman 更新

  3. 重新啟動

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