Answers:
首先,我们将在默认子卷中创建所需的布局:
btrfs subvolume snapshot / /rootfs
mkdir /snapshots
请注意,这/rootfs
将是我们的新根文件系统,因此在此步骤之后,请勿对当前文件系统进行任何更改。
编辑/rootfs/etc/fstab
以使系统使用新的rootfs子卷作为根文件系统。为此,您需要对其进行修改以包括该subvol=rootfs
选项。
将我们的新根文件系统挂载到某个地方,挂载相关的文件系统(dev,sys,proc,如果有,请启动),将其chroot并更新grub:
mount -o subvol=rootfs /dev/sdXX /media/temporary
cd /media/temporary
mount -o bind /dev dev
mount -o bind /sys sys
mount -o bind /proc proc
mount -o bind /boot boot
chroot .
update-grub
exit
而已。重新引导,您的根文件系统应该是rootfs子卷。如果成功,则不应有任何/ snapshots目录。现在,您可以在默认子卷中删除旧的根文件系统的内容。
如果需要,可以为默认子卷创建一个永久安装点:
mkdir /media/btrfs/root
然后就可以mount -o subvolid=0 /dev/sdXX /media/btrfs/root
创建快照/子卷了。
subvol=/rootfs
(请注意/
),fstab
因为这似乎是(btrfs Wiki)[ btrfs.wiki.kernel.org/index.php/Mount_options]中描述的“正确”方式。
subvol=/rootfs
是,任何不了解您的布局的程序(例如,发行版安装程序)将代替安装默认子卷。如果程序希望文件系统看起来像linux文件系统,则该文件系统会失败,甚至更糟-在默认子卷中填入您不想要的东西
fstab
程序至少会检查或引导加载程序配置。
btrfs subvolume set-default ID /
。ID
可以使用`btrfs子卷列表/