有许多教程提到创建 subvolume 举例如下, 这些 path 为什么要有 @ 字样? 事先没有创建这些, 事后如何修改?
@rootfs
btrfs su cr @snapshots
btrfs su cr @home
btrfs su cr @log
btrfs su cr @cache
btrfs su cr @crash
btrfs su cr @tmp
btrfs su cr @spool
回答:
- @ 只是个普通字符, 使用 @ 是 Btrfs 软件生态的惯例, 不用也行
- create subvolume 会直接将 subvolume 挂载到同名子文件夹, 可以重命名
- 要留意 / 和 root 的歧义. 上文 @rootfs 可以理解为 其实是 /@rootfs, 不是 Btrfs 的 root, 只是 current root, 想对整个 Btrfs 进行操作, 只需要挂载 /
/boot/grub/grub.cfg
中rootflags=subvol=@current
等价于rootflags=subvol=/@current
文章 将 Btrfs root 分区转换为 subvolume 实际上起作用的命令只有如下 snapshot 操作
cd /
btrfs subvolume snapshot . @
进入恢复模式没有必要