Можно ли смонтировать образ раздела ext4 через FUSE? [закрыто]

Я пытаюсь смонтировать образ раздела ext4 в пользовательском пространстве. (нет sudo, нет специальной модификации конфигурации / разрешений для / dev / loop0 или / etc / fstab и т. д.). Так что я надеюсь, что FUSE придет на помощь.

Однако кажется, что каждая файловая система, смонтированная через систему FUSE, должна иметь специальный драйвер FUSE, и мне не удалось найти драйвер Linux FUSE для чтения и записи ext4 для Linux.

Есть ли способ смонтировать образы ext4 через FUSE (с разрешением на запись)?

4
задан 28 June 2012 в 22:47
3 ответа

fuseext2 очевидно будет монтировать разделы ext4 для чтения и записи.

Предостережение: поддержка ext4 не рекламируется в их документации, и попытки монтирования идут с предупреждение:

This is experimental code, opening rw a real file system could be
dangerous for your data. Please add "-o ro" if you want to open the file
system image in read-only mode, or "-o rw+" if you accept the risk to test
this module
3
ответ дан 3 December 2019 в 03:20

Вам нужен специальный драйвер предохранителя для каждого типа файловой системы, так как цель предохранителя - запустить код файловой системы на уровне пользователя . Таким образом, любой ранее существовавший код драйвера ядра, работающий в области ядра (ext2, ext3, ext4, xfs ...), не может быть использован предохранителем "как есть".

Ничто не мешает разработчикам повторно использовать часть кода из соответствующего драйвера ядра для реализации пользовательского драйвера плавкого предохранителя. Но в любом случае у вас всегда есть , чтобы создать новый драйвер для fuse для каждого типа файловой системы . Код ядра C и пользовательский код C сильно различаются (в ядре нет стандартной библиотеки libc, точки входа драйвера не имеют одинаковой подписи и т. Д.)

1
ответ дан 3 December 2019 в 03:20

guestmount обман libguestfs

sudo apt-get install libguestfs-tools

# Workarounds for Ubuntu 18.04 bugs.
# https://serverfault.com/questions/246835/convert-directory-to-qemu-kvm-virtual-disk-image/916697#916697
sudo rm -rf /var/cache/.guestfs-*
echo dash | sudo tee /usr/lib/x86_64-linux-gnu/guestfs/supermin.d/zz-dash-packages
sudo chmod +r /boot/vmlinuz-*

# Create a test image.
mkdir sysroot
dd if=/dev/urandom of=sysroot/myfile bs=1024 count=1024
virt-make-fs --format=raw --type=ext2 sysroot sysroot.ext2

# Mount it, have fun, unmount!
mkdir -p mnt
# /dev/sda becuase we have a raw filesystem.
guestmount -a sysroot.ext2.qcow2 -m /dev/sda mnt
cmp sysroot/myfile mnt/myfile
guestunmount mnt

Основывается на:

  • реализации пользовательского пространства файловые системы
  • FUSE

Документы: http://libguestfs.org/guestmount.1.html

Протестировано на Ubuntu 18.04, libguestfs-tools 1: 1.36.13-1ubuntu3.

1
ответ дан 3 December 2019 в 03:20

Теги

Похожие вопросы