Работа с физическими носителями в VirtualBox

Заранее хочется предупредить, что работая с физическими носителями через виртуальную машину вы рискуете всё запороть. Все ваши действия производятся на ваш страх и риск. Я предупредил.

По сути, работа с физическими носителями ничем не отличается от работы с виртуальными аналогами, за исключением не возможности делать snapshots. Вернее можно, но не рекомендуется от слова совсем.

- Зачем это нужно?

Ответ простой, как и сам вопрос: работа в двух операционных системах, одна из которых находится на физическом носителе. Например LiveUSB или Linux, которая находится на соседнем разделе диска. Причин использовать этот механизм может быть много. Но перейдем же к исполнению нашей “хотелки”.

Для начала нам нужно узнать адрес, по которому можно будет напрямую обратиться к носителю. После чего запускаем команду по созданию некой “ссылки” на наш носитель.

Windows

C:\> wmic diskdrive list brief
Caption DeviceID Model Partitions Size
VBOX HARDDISK ATA Device \\.\PHYSICALDRIVE0 VBOX HARDDISK ATA Device 3 500105249280
C:\> VBoxManage internalcommands createrawvmdk -filename C:\mydrive.vmdk -rawdisk \\.\PHYSICALDRIVE0

Так же можно вместо целого диска, подключать только его разделы. Для этого добавьте параметр --partitions и через запятую перечислите номера разделов

C:\> VBoxManage internalcommands createrawvmdk -filename C:\mydrive.vmdk -rawdisk \\.\PHYSICALDRIVE0 -partitions 1,3

Linux

vboxmanage internalcommands createrawvmdk -filename /var/mydrive.vmdk -rawdisk /dev/sda

Обязательно добавить пользователя, от имени которого будет запускаться virtualbox, в группы vboxusers и disk

usermod -a -G vboxusers,disk $(whoami)

Далее подключаем нашу “ссылку” mydrive.vmdk к VM как обычный диск и работаем.