Вот гипотетическая установка на недавнем ядре Linux:
/dev/sda1 is formatted as btrfs
Затем я запускаю следующее, чтобы создать два вложенных тома в корне / dev / sda1:
$ 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
Вот в чем проблема. Я пробовал это с файлом в качестве блочного устройства (используя цикл), и он работал нормально (по крайней мере, для касания двух файлов в каждом). Однако после установки всей системы, размещения корневого каталога в одном подтоме и домашнего каталога в другом, монтирования обоих при загрузке, я получил сообщение об ошибке, сообщающее мне, что базовое устройство было «защищено от записи», и при первой попытке прочитать домашний содержимое каталога привело к сбою ядра.
Я хотел бы знать, действительно ли то, что я хочу сделать (монтировать одноблочное устройство более одного раза с разными вариантами монтирования), разрешено btrfs или вообще операционной системой.
Вы можете определить вложенный том a, который по умолчанию должен действовать как 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