Монтирование vdi (образ VirtualBox) в Ubuntu
По некоторым причинам мне приходится пользоваться VirtualBox, к сожалению Wine может запустить далеко не все приложения, которые мне нужны для работы. И иногда нужно что то достать с виртуального жёсткого диска, но каждый раз запускать VirtualBox слишком долго.
Вот тут то и поможет пакет virtualbox-fuse. Он использует библиотеку для доступа к образам VirtualBox и монтирует в локальную папку, используя FUSE. В локальной папке вы обнаружите EntireDisk, Partition1, Partition2 и т.д.
Итак, для начала установим сам пакет:
sudo apt-get install virtualbox-fuse
Теперь откройте файл /etc/fuse.conf:
sudo nano /etc/fuse.conf
В данном файле найдите такую строчку:
#user_allow_other
Уберите решётку (#) и сохраните файл.
Теперь разберёмся с самой программой. Подключим образ vdi:
sudo vdfuse -f /home/sk8er/VirtualBoxVMs/Windows7/Windows7.vdi /home/sk8er/VirtualBoxVMs/Windows7/mount
Где:
/home/sk8er/VirtualBoxVMs/Windows7/Windows7.vdi - путь к образу vdi /home/sk8er/VirtualBoxVMs/Windows7/mount - путь для монтирования
В монтируемой папке появятся файлы EntireDisk, Partition1, Partition2 и т.д. Собственно их и нужно подключить, чтобы видеть файлы и папки на разделах виртуального диска.
Итак, ищем нужный файл (я просто выбрал тот, что имел самый большой объём) и подключаем:
sudo mount /home/sk8er/VirtualBoxVMs/Windows7/mount/Partition1 /home/sk8er/VirtualBoxVMs/Windows7/mount/disk
Где:
/home/sk8er/VirtualBoxVMs/Windows7/mount/Partition1 - путь к файлу /home/sk8er/VirtualBoxVMs/Windows7/mount/disk - путь для монтирования
Вот и всё, теперь вы можете спокойно редактировать виртуальный жёсткий диск VirtualBox.
Монтирование через утилиты qemu-kvm
Перед монтированием жесткого диска виртуальной машины необходимо ее выключить.
- установка необходимого приложения
$ sudo apt-get install qemu-kvm
- загрузка модуля
$ sudo modprobe nbd
- создание loopback устройства для образа
$ sudo qemu-nbd -c /dev/nbd0 [image].vdi
- монтируем разделы, которые доступны как /dev/nbd0pXXX
$ sudo mount -o noatime,noexec /dev/nbd0p1 /tmp/vdi/
По завершению работы с образом необходимо отмантировать и выключить nbd.
$ sudo umount /tmp/vdi/ $ sudo qemu-nbd -d /dev/nbd0