下面是最近的一个Linux内核的假设设置:
/dev/sda1 is formatted as btrfs
然后我运行以下命令在/ dev / sda1的根目录下创build两个子卷:
$ mount /dev/sda1 /mnt $ btrfs subvolume create /mnt/a $ btrfs subvolume create /mnt/b $ umount /mnt
现在我希望在两个不同的挂载点上同时挂载这两个子卷:
$ mount -o subvol=a /dev/sda1 /a $ mount -o subvol=b /dev/sda1 /b
这是问题。 我试图用一个文件作为块设备(使用循环),它工作正常(至less每个触摸两个文件)。 然而,在安装完整的系统之后,将根目录放在一个子目录中,将主目录放在另一个子目录中,同时在引导时进行安装,我得到一个错误,告诉我底层设备是“写保护”的,并且首先尝试阅读本地目录内容导致内核崩溃。
我想知道如果我想要做什么(使用不同的挂载选项多次挂载一个块设备)实际上允许btrfs或一般os允许的。
你可以定义一个作为默认的root用户的子卷。
在这种情况下,它将自动挂载而不是btrfs根目录。
假设你的btrfs树看起来像这样
/
|
| —- a(包含/目录的子卷)
|
| —- b(包含主目录的子卷)
为了设置一个默认值:
mount /dev/sda1 /mnt btrfs subvolume create /mnt/a btrfs subvolume set-default /mnt/a
现在你可以挂载你的btrfs文件系统,然后挂载子卷b
mount -o defaults /dev/sda1 /a mount -o defaults,subvol=b /dev/sda1 /b