Создать файл, который будет рассматриваться как файловая система btrfs.

Создать файл, который будет рассматриваться как файловая система btrfs.

Я хочу провести несколько экспериментов с файловой системой btrfs, но не хочу вносить никаких изменений в существующие разделы и хочу иметь полный контроль над такими вещами, как размер устройства.

Возможно ли создать файл, которыйвыглядитнапример, блочное устройство, которое я могу монтировать и отключать, и которое будет вести себя как блочное устройство, например, при переполнении места?

решение1

Для этого вам понадобится устройство loop. Выполните эти команды как root:

truncate -s1G 1GB.img  # Sparse allocation of a 1GB file
ld=$(losetup --show --find 1GB.img); echo "$ld"

Теперь у вас есть петлевое устройство (например, /dev/loop0), которое можно рассматривать как блочное устройство.

mkfs -t btrfs "$ld"    # Device that was returned from losetup

mkdir -p /mnt/dsk
mount "$ld" /mnt/dsk

Когда закончите, снова приберитесь.

umount /mnt/dsk
losetup -d "$ld"
rm 1GB.img

Если вы хотите создать таблицу разделов на блочном устройстве, убедитесь, что вы всегда включаете флаг --partscanв losetupкоманду. Это создаст связанные устройства, например, /dev/loop0p1.

Связанный контент