Как смонтировать файл vdi в Ubuntu 13.10?

Я пытаюсь смонтировать файл vdi в Ubuntu 13.10. Я пытался

sudo apt-get install virtualbox-fuse

но жалуется, что не нашел посылку.

Конвертировать его в raw не очень вариант для меня, мне не хватает свободного места.

5 ответов

Решение

virtualbox-fuse был удален из репозитория apt. Вы можете скачать его с Launchpad и установить его. Как только вы загрузите его, просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, перейдите туда, где файл был загружен, и выполните команду (ы) ниже:

sudo dpkg -i <package_name>.deb

После установки вы можете смонтировать vdi, набрав

sudo vdfuse -f /home/user/file.vdi /home/user/mountpoint

Примечание: virtualbox-fuse зависит от virtualbox 4.1.18 и не будет работать с 4.2. Спасибо Мариусу.

Запустив 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

Основано на ответе @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

... Для тех из вас, кто использует 4.2, вам следует понизить версию, если вы хотите использовать это программное обеспечение...

Это не правильно! 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

Для выполнения некоторых из перечисленных выше команд вам потребуются привилегии суперпользователя в зависимости от разрешений /usr и /var в вашей системе.

Таким образом, вам не нужно удалять Virtualbox-4.x. Протестировано под Ubuntu 12.04, но также должно работать на других версиях.

Смотрите: https://wiki.blue-it.org/VirtualBox

Подготовить рабочую среду::

$ 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
Другие вопросы по тегам