347 字
2 分钟
记一次Arch救援经历
1.起因
在Arch 上想使用O+connect 但是官方只有Windows 和 MacOS ,于是我就想使用Wine去兼容发现底层的USB协议和网络协议无法兼容,安装了很多东西不想使用 pacman -Rns , 故使用TimeShift 回滚快照,但是由于当前环境的Kernel版本 与快照 版本的 Kernel版本 有较大的版本更新,故导致本次事故的发生。
2.问题查找
在论坛中找到了几篇篇文章
timeshift恢复快照出现/boot分区挂载不上
系统无法启动,提示挂载boot分区失败
请问这种情况是滚挂了吗?
3.解决方案
- 使用U盘或者其他存储介质引导进入Arch Linux 的 Live
- 正常挂载 根分区 , home 分区 ,boot 分区 ,efi 分区 ,无需挂载swap分区
# 1. 挂载根分区 (sda4)mount -o subvol=@ /dev/sda4 /mnt
# 2. 挂载 /boot 分区 (sda3)mount /dev/sda3 /mnt/boot
# 3. 挂载 EFI 分区 (sda1)mkdir -p /mnt/boot/efimount /dev/sda1 /mnt/boot/efi
# 4. 切入系统arch-chroot /mnt
# 5. 重装内核 (这一步会同时刷新 vmlinuz 和 modules,彻底解决不匹配)pacman -S linux# (如果你用的是 LTS 内核,改用 pacman -S linux-lts)
# 6. 顺手刷新引导 (防止 UUID 变动)grub-mkconfig -o /boot/grub/grub.cfg# 把 GRUB 重新写进 sda1 (防止 EFI 文件丢失)grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Arch# 7.重启exitreboot