Использование физического диска в VirtualBox

В VirtualBox можно использовать различные форматы виртуальных дисков:

  • VDI
  • VHD
  • VMDK
  • и другие

Но также можно использовать и физические диски целиком и напрямую, без прокладок

Создаем виртуальный диск, команды нужно выполнять с правами root / администратора

В Linux:

VBoxManage internalcommands createrawvmdk -filename /path/to/drive.vmdk -rawdisk /dev/sdb

в Windows:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium disk --filename E:\drive.vmdk --format=VMDK --variant RawDisk --property RawDrive=\\.\PHYSICALDRIVE2

Нумерация PHYSICALDRIVE начинается с нуля, посмотреть можно в "Управление компьютером / Управление дисками"

Важно, диск не должен быть смонтирован в системе / не должны быть назначены буквы разделам в Windows.
Также на Windows 10 и последних версиях VirtualBox требуется в свойствах совместимости поставить галку "Запускать эту программу от имени администратора" для файлов:

C:\Program Files\Oracle\VirtualBox\VBoxSVC.exe
C:\Program Files\Oracle\VirtualBox\VirtualBox.exe

Если открыть VirtualBox или запустить команду без прав администратора, в фоновом режиме продолжают работать процессы:

Virtualbox Interface
Virtualbox Global Interface

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

команда выдаст что-то типа:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: cb6a5bde-6882-4020-9ef6-ccf180e3fa1a

Далее открываем VirtualBox / Инструменты / Носители, выбираем созданный диск
На вкладке Атрибуты указываем тип - Сквозной

Далее все как обычно, в настройках виртуальной машины в разделе Носители добавляем созданный диск на контроллер SATA. Если у вас SSD - ставим галку Твердотельный накопитель

Теперь можно запускать виртуальную машину.


На следующем этапе может возникнуть необходимость перенести существующий виртуальный диск на наш физический диск.

Для этого воспользуемся программой Vhd2disk. Из названия понятно что она работает с форматом VHD.

Если ваш виртуальный диск в формате VDI или другом - идем в VirtualBox / Инструменты / Носители и с помощью кнопки Копировать сохраняем диск в формат VHD.

Открываем программу Vhd2disk, выбираем диск VHD, указываем наш физический диск, жмем кнопку Vhd to disk и ждем окончания копирования данных.


Третий этап - увеличение размера разделов на физическом диске.

На Windows можно воспользоваться загрузочным ISO образом Acronis Disk Director или другими аналогичными продуктами.
На Ubuntu Acronis не смог. Помог запуск Ubuntu с ISO образа, например ubuntu-22.04.5-desktop-amd64.iso или ubuntu-24.04.2-desktop-amd64.iso

Жмем Try Ubuntu

Загружаемся, ищем программу Gparted или запускаем ее одноименной командой в терминале

Выбираем нужный раздел, жмем кнопку Resize/Move the selected partition, далее настраиваем как надо, жмем Resize/Move и потом зеленую галку Apply all operations

Перезагружается и работаем в штатном режиме

Использованы материалы:
https://mnorin.com/
https://remontcompa.ru/