[Arch linux]Btrfs使用Timeshift恢复镜像后无法开机的解决办法
Btrfs格式的系统使用Timeshift恢复之后可能会出现分区无法挂载的情况,导致进不去桌面,但是可以进入救援模式或者tty2,3...
经过几次折腾之后总结一下解决方法
修改fstab
打开 /etc/fstab
若子卷的参数里有subvolid=xxx
项,直接将其删除,保存退出reboot
即可
若子卷参数里没有subvolid
若子卷参数中没有subvolid=x x x
项,且无法挂载/boot
,需要使用archiso
手动挂载,按照安装时的方式进去archiso中,首先按照分区,将系统挂载到/mnt下,我这里是一个例子
mount /dev/sda1 /mnt/boot #挂载boot目录
swapon /dev/sda2 #挂载swap目录
mount -t btrfs -o subvol=/@,compress=zstd /dev/sda3 /mnt #挂载`/ `目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sda3 /mnt/home #挂载`/home`目录
然后使用arch-chroot /mnt
进入到系统里
sudo pacman -S linux #重新安装linux内核
mkinitcpio -P #重新生成initramfs
exit #退出系统
umount -R /mnt #解除挂载
reboot #重启
之后就可以顺利进入桌面了。
Q.E.D.