Загрузка с USB диска в VirtualBox

Непосредственная загрузка с USB диска невозможна с VirtualBox, потому что для этого требуется реализация поддержки USB в BIOS'е.

Однако, возможно создать vmdk файл, который "указывает" на USB диск для загрузки с него.

Для того, чтобы программа VirtualBox видела USB диск, нужно чтобы пользователь был добавлен в группу vboxusers. Помимо этого, пользователь должен быть добавлен в группу disk, для того, чтобы прямой доступ устройству диска, иначе не получится добавить vmdk файл к виртуальной машине. Если этого не сделать, то понадобится запускать VirtualBox от суперпользователя.

Для начала, необходимо определить путь к блочному устройству диска. Предположим, что диск смонтирован как /dev/sdb1. Таким образом, путь к диску будет /dev/sdb.

Далее необходимо создать vmdk файл. Для этого надо набрать команду в терминале:

$ sudo VBoxManage internalcommands createrawvmdk \
  -filename "raw.vmdk" -rawdisk /dev/sdb
RAW host disk access VMDK file raw.vmdk created successfully.

В данном случае raw.vmdk - это имя созданного файла.

Это текстовый файл с примерно следующим содержимым:

# Disk DescriptorFile
version=1
CID=07818c6d
parentCID=ffffffff
createType="fullDevice"

# Extent description
RW 123091920 FLAT "/dev/sdb" 0

# The disk Data Base
#DDB

ddb.virtualHWVersion = "4"
ddb.adapterType="ide"
ddb.geometry.cylinders="16383"
ddb.geometry.heads="16"
ddb.geometry.sectors="63"
...

Всё, что требуется далее - это добавить в настройки виртуальной машины созданный диск и попробовать загрузиться с него. Если пользователь включен во все необходимые группы для этого, то можно просто запустить VirtualBox. Иначе, можно просто запустить VirtualBox от имени суперпользователя следующим образом:

$ kdesu dbus-launch VirtualBox

Запуск dbus-launch нужен для того, чтобы не вылезала ошибка: "Unable to create io-slave. Cannot talk to klauncher: Not connected to D-Bus server"

Comments

comments powered by Disqus