Как смонтировать файл 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