Подключить физический USB-накопитель или внешний жесткий диск к VirtualBox очень просто, о чем я писал в руководстве "Виртуальные машины VirtualBox для начинающих". Однако это не позволит вам использовать загрузочную флешку или другой USB-накопитель, чтобы виртуальная машина загружалась с него. Тем не менее, можно сделать.
В этом руководстве подробно описано, как загрузиться с физического USB-накопителя в VirtualBox для Legacy и UEFI загрузки на хосте Windows, Linux и Mac OS. Обратите внимание, что иногда загрузка не работает гладко и стабильно (при этом если вы загружаетесь с простого ISO проблем не возникает).
Загрузка с USB-накопителя в VirtualBox (на хост-системе Windows)
Для того, чтобы сделать то, что мы хотим, нам нужно использовать функцию VirtualBox, которая позволяет "перекинуть" физический диск в виртуальную машину.
В нашем случае это будет USB-флешка или внешний жесткий диск, а шаги для реализации следующие:
- Нажмите Win+R, введите diskmgmt.msc , и узнать номер диска, который вы хотите подключить к виртуальной машине. В моем примере это диск 2.
- Запустите командную строку от имени администратора и введите следующие две команды по порядку. Во второй команде замените последнюю букву N на номер диска из шага 1, а путь к виртуальному диску, который на самом деле будет ссылкой на флешку (C:\usbfrive.vmdk) вы можете указать любое — файл будет сохранен в указанное вами место:
cd %programfiles%\Oracle\VirtualBox VBoxManage internalcommands createrawvmdk -filename C:\usbdrive.vmdk -rawdisk \\.\PhysicalDriveN
- Закройте командную строку и Запустите VirtualBox от имени администратора (это обязательно). Вы можете запустить его от имени администратора с помощью контекстного меню, щелкнув правой кнопкой мыши на ярлыке.
- Создайте новую или используйте существующую виртуальную машину VirtualBox и зайдите в ее настройки на вкладке "Media". Выберите текущий контроллер и нажмите "Добавить новое устройство", выберите "жесткий диск" (Примечание: если вы создаете новую виртуальную машину, вы можете просто выбрать опцию подключения существующего виртуального жесткого диска и указать путь к файлу, созданному на шаге 2).
- В следующем окне нажмите "Добавить" и укажите путь к файлу виртуального диска, в моем случае C:\usbdrive.vmdk, он будет добавлен в список, выберите его и нажмите "Выбрать".
- По умолчанию подключенный диск будет указан последним в списке подключенных дисков, т.е.e. виртуальная машина не загружается с него. Чтобы изменить очередь, измените номера портов SATA по мере необходимости в настройках носителя.
- Готово, теперь виртуальная машина может загружаться с физического USB-накопителя. Если загрузочная флешка предполагает загрузку в режиме UEFI, в настройках виртуальной машины перейдите в раздел "Система" и установите флажок "Включить EFI".
И вот результат: на скриншоте ниже меню при загрузке виртуальной машины с физической мультизагрузочной флешки.
Загрузка с флешки в VirtualBox на хостах Linux и Mac OS
У меня не было возможности проверить, работает ли это на Linux и Mac OS, но логика выглядит следующим образом. Допустим, физическая флешка — это dev/sdb в Linux и /dev/disk2s1 в Mac OS, тогда в Linux (в Linux:
df VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/HardDisks/usb.vmdk -rawdisk /dev/sdb -register sudo chmod 666 /dev/sdb* sudo chown `имя_пользвоателя` ~/.VirtualBox/HardDisks/usb.vdmk
Mac OS:
df sudo diskutil unmount /dev/disk2s1 VBoxManage internalcommands createrawvmdk -filename /Users/имя_пользователя/Desktop/usb.vmdk -rawdisk
Остальные шаги будут такими же, как и в Windows. В Mac OS, если VirtualBox сообщает, что не может получить доступ к диску, размонтируйте его в Finder.
Надеюсь, все получилось, и руководство было полезно для тех целей, для которых вы его нашли.