На этот вопрос уже есть ответ:
Я пытаюсь смонтировать файл vdi в ubuntu 13.10. Я пытался
sudo apt-get install virtualbox-fuse
, но он жалуется, что не нашел пакет.
Конвертировать его в необработанный формат для меня не вариант, у меня недостаточно свободного места.
Запустив Ubuntu 14.04 с Virtualbox 4.3.10, я установил пакет, введя dpkg.
sudo dpkg -i --force-depends virtualbox-fuse_4.1.18-dfsg-1ubuntu1_amd64.deb
После этого все работало очень хорошо.
Когда вы монтируете файл vdi, он просто дает вам доступ к разделам, но затем вам нужно где-то монтировать раздел. Например:
mkdir ~/vdisk
mkdir ~/part1
sudo vdfuse -f Machine.vdi ~/vdisk
sudo mount ~/vdisk/Partition1 ~/part1
Подготовьте рабочую среду::
$ mkdir ~/devel/lfs
$ VBoxManage createhd --filename ~/devel/lfs/lfs.vdi --size 2000 --format VDI
Получите необходимые пакеты::
$ sudo apt-get install qemu-utils
$ sudo modprobe nbd max_part=16
Без max_part=16
Я получаю ошибку на Debian для более поздних команд::
$ sudo partprobe /dev/nbd0
Error: Error informing the kernel about modifications to partition /dev/nbd0p1 -- Invalid argument.
This means Linux won't know about any changes you made to /dev/nbd0p1 until you reboot -- so you shouldn't mount it or use it in any
way before rebooting.
Error: Failed to add partition 1 (Invalid argument)
Сделайте разделы и формат::
$ sudo qemu-nbd -c /dev/nbd0 ~/devel/lfs/lfs.vdi
$ { echo mklabel msdos; echo mkpart primary ext2 0s -1s; echo quit; } | sudo parted /dev/nbd0
$ sudo partprobe /dev/nbd0
$ sudo mkfs.ext3 /dev/nbd0p1
и смонтируйте изображение::
$ mkdir ~/devel/lfs/image
$ sudo mount /dev/nbd0p1 ~/devel/lfs/image
После окончания расследования необходимо размонтировать изображение VDI от сетевого устройства.
$ sudo qemu-nbd -d /dev/nbd0
... Для тех из вас, кто использует 4.2, вам следует понизить версию, если вы хотите использовать это программное обеспечение ...
blockquote>Это не правильно! 4.1-версия «vbfuse» совместима с линейкой 4.x официальных версий virtualbox.
Просто скачайте пакет virtualbox-fuse, но не устанавливайте его с помощью:
sudo apt-get install -d virtualbox-fuse
Вместо этого просто скопируйте пакет во (временный) каталог, распакуйте и скопируйте двоичный файл «vdfuse» к вашей системе:
mkdir /tmp/vboxfuse cd /tmp/vboxfuse mv /var/cache/apt/archives/virtualbox-fuse*.deb . dpkg -x virtualbox-fuse*.deb . cp -av usr/bin/vdfuse /usr/bin/. cd /tmp rm -rf vboxfuse
Для выполнения некоторых из перечисленных выше команд вам потребуются привилегии root в зависимости от разрешений / usr и / var в вашей системе.
Таким образом, вам не нужно удалять virtualbox-4.x. Протестировано под Ubuntu 12.04, но также должно работать на других версиях.
См .: https://wiki.blue-it.org/VirtualBox#Mount_a_vmdk_file_in_linux
На основании ответа @ gavenkoa, но для монтирования существующего образа вместо создания нового ::
$ sudo apt-get install qemu-utils
$ sudo modprobe nbd max_part=16
$ sudo qemu-nbd -c /dev/nbd0 ~/path/to/my.vdi
$ sudo partprobe /dev/nbd0
$ sudo mount /dev/nbd0p1 /mount-target
Если у вас более одного раздела, вы можете получить к ним доступ по номеру - nbd0p1 это раздел 1, nbd0p2 будет разделом 2 и т. Д.
После того, как вы закончили расследование, вы должны размонтировать образ VDI с сетевого устройства.
$ sudo qemu-nbd -d /dev/nbd0
virtualbox-fuse был удален из репозитория apt. Вы можете скачать его с Launchpad и установить. Загрузив его, просто нажмите Ctrl kbd> + Alt kbd> + T kbd> на клавиатуре, чтобы открыть терминал. Когда он откроется, перейдите туда, куда был загружен файл, и выполните команду (ы) ниже:
sudo dpkg -i <package_name>.deb
После установки вы можете смонтировать vdi, набрав
sudo vdfuse -f /home/user/file.vdi /home/user/mountpoint
[ 116] Примечание : virtualbox-fuse зависит от virtualbox 4.1.18 и не будет работать с 4.2. Благодаря Мариусу.