EFI 上的 pacman 更新后如何恢复正常启动过程?

EFI 上的 pacman 更新后如何恢复正常启动过程?

我刚刚更新了系统,重新启动后我发现自己处于紧急模式。这是一个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 无法加载显示管理器并且无法启动加载内核模块。根据 ,有两个单位失败systemctl --state=failed

当我启动并尝试使用 netctl 连接到互联网时,我收到错误codepage cp437并再次提示我输入 root 密码。进一步调查表明,这是为我的 EFI 分区指定的 MS-DOS/FAT 扩展 ASCII 编码/etc/fstab。如果这只是/boot和之间的错位/,我怎样才能将它们重新同步过去pacman -U

我真的很感激有关恢复我的系统的建议。提前致谢。

答案1

jasonwryan为我指明了正确的方向。

我执行了以下步骤:

1)下载最新的安装介质并制作可启动USB

2) 未加密我的 LUKS LVM 卷

/mnt/arch3) 将我的卷安装到我创建的目录中的实时 USB 文件系统(包括/mnt/arch/boot、 和/mnt/arch/home

4)连接到互联网wifi-menu

5)用于arch-chroot更改root

6)用pacman更新

7)重新启动

相关内容