想说

新装的archlinux使用的btrfs文件系统,用timeshift作系统备份。于是乎手贱试了一下。电脑重启后,发现直接寄了,其中boot,/home中直接挂载失败。

好了,开始找原因。

原因:在timeshift备份后,他会会新建两个卷作为备份数据,/etc/fstab里是电脑开启时,系统挂载硬盘的配置文件,然而写入错误,系统无法挂载/home/boot(找不到)

关于/etc/fstab

/etc/fstab例:

1
2
3
4
5
6
7
8
9
10
11
12
# /dev/sdb2 LABEL=myArch
UUID=4de16e88-82fe-4235-8a80-adbebf6da2e7 / btrfs rw,relatime,compress=zstd:3,ssd,space_cache=v2,subvolid=256,subvol=/@ 0 0

# /dev/sdb1
UUID=BBD1-343A /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2

# /dev/sdb2 LABEL=myArch
UUID=4de16e88-82fe-4235-8a80-adbebf6da2e7 /home btrfs rw,relatime,compress=zstd:3,ssd,space_cache=v2,subvolid=257,subvol=/@home 0 0

# /dev/sdb4
UUID=fa0fc1b1-38f1-4578-a1ba-6126ff9f5b84 none swap defaults 0 0

其中的subvoid可以通过以下命令查看

1
btrfs subvolume list /

输出:

1
2
3
4
5
6
7
8
9
10
11


ID 256 gen 12402 top level 5 path @
ID 257 gen 12402 top level 5 path @home
ID 258 gen 17 top level 256 path var/lib/portables
ID 259 gen 18 top level 256 path var/lib/machines
ID 262 gen 8572 top level 5 path timeshift-btrfs/snapshots/2023-03-02_09-13-16/@
ID 263 gen 2233 top level 5 path timeshift-btrfs/snapshots/2023-03-02_09-13-16/@home
ID 264 gen 8572 top level 5 path timeshift-btrfs/snapshots/2023-03-11_16-40-29/@
ID 265 gen 8574 top level 5 path timeshift-btrfs/snapshots/2023-03-11_16-40-29/@home

可以看到,带有timeshift-btrfs/snapshots/以及日期的是timeshift快照。

如果系统启动,硬盘挂载失败,很有可能是subvoid错误,找到你想要的卷相应的subvoid改过去就行。

同时还需要注意确保/etc/fstab中的UUID是否存在且正确。

使用以下命令可以查看各卷的UUID

1
blkid

需要确保其是一致的才行(一般情况下是一致的,但是若涉及到对boot进行重装,之后就可能会产生改变)。

重装boot

如果发现boot一直挂载不上,或者开机启动没有相应的EFI选项,那就需要重装boot,按照装系统的boot部分重新操作一下(只操作这一部分,不要碰其他,尤其别格式化)

以下步骤需要在U盘live模式下进行,救援模式下是不行的。

大概步骤:

  1. 格式化EFI分区(看情况)
  2. 安装引导程序
  3. 生成配置文件

大概这样

之后再检查以上所提到步骤

重启,应该就可以了。

参考:

https://blog.dreamfever.me/2021/12/08/cong-timeshift-restore-dao-zhi-home-gua-zai-shi-bai-shuo-qi/

https://poemdear.com/2019/03/26/arch-linux%E5%BC%95%E5%AF%BC%E4%BF%AE%E5%A4%8D%E9%97%AE%E9%A2%98%E8%AE%B0%E5%BD%95-%E7%B3%BB%E7%BB%9F%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/

https://cloud-atlas.readthedocs.io/zh_CN/latest/linux/arch_linux/archlinux_on_thinkpad_x220_u_disk.html

https://unix.stackexchange.com/questions/260989/arch-linux-grub-installation-error-airootfs

https://arch.icekylin.online/guide/rookie/basic-install.html#_7-%E5%88%86%E5%8C%BA%E5%92%8C%E6%A0%BC%E5%BC%8F%E5%8C%96-%E4%BD%BF%E7%94%A8-btrfs-%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F

https://bbs.archlinux.org/viewtopic.php?id=281724

https://www.wanpeng.life/1726.html

2023-03-14

⬆︎TOP