Загрузка с флешки или другого USB устройства в VirtualBox

Загрузка с флешки в VirtualBoxПодключить физический USB накопитель — флешку или внешний жесткий диск в VirtualBox не сложно, об этом я писал в инструкции Виртуальные машины VirtualBox для начинающих. Однако, это не позволит использовать загрузочную флешку или другой USB накопитель таким образом, чтобы виртуальная машина загрузилась с него. Тем не менее, сделать это возможно.

В этой инструкции подробно о том, как поставить загрузку с физической USB флешки в VirtualBox для Legacy и UEFI загрузки на хосте Windows, Linux и Mac OS. Учитывайте, что не всегда загрузка происходит без сбоев и работает стабильно (при этом если загружаться с обычного ISO проблем нету).

Настройка загрузки с USB накопителя в VirtualBox (на хост-системе Windows)

Для того, чтобы реализовать задуманное, нам потребуется использовать функцию VirtualBox, позволяющую «пробросить» физический накопитель в виртуальную машину.

В нашем случае это будет USB флешка или внешний жесткий диск, а шаги для реализации следующие:

  1. Нажмите Win+R, введите diskmgmt.msc и узнайте номер диска, который требуется подключить к виртуальной машине. В моем примере — это диск 2. Номер флешки в управлении дисками
  2. Запустите командную строку от имени администратора (важно: VirtualBox в это время должен быть закрыт) и по порядку введите следующие две команды. Во второй команде последнюю букву N замените номером диска из 1-го шага, а путь к виртуальному диску, который по факту будет являться ссылкой на флешку (C:\usbfrive.vmdk) можете указать любой — файл будет сохранен в указанном вами расположении:
    cd %programfiles%\Oracle\VirtualBox
    VBoxManage internalcommands createrawvmdk -filename C:\usbdrive.vmdk -rawdisk \\.\PhysicalDriveN
    Проброс физического USB накопителя в VirtualBox
  3. Закройте командную строку и запустите VirtualBox от имени администратора (это обязательно). Запуск от имени администратора можно осуществить через контекстное меню по правому клику на ярлыке.
  4. Создайте новую или используйте имеющуюся виртуальную машину VirtualBox и зайдите в её настройки на вкладку «Носители». Выберите текущий контроллер и нажмите по кнопке добавления нового устройства, выберите «жесткий диск» (Внимание: в случае создания новой виртуальной машины вы можете просто выбрать опцию подключения имеющегося виртуального жесткого диска и указать путь к файлу, созданному на 2-м шаге). Добавление нового диска в VirtualBox
  5. В следующем окне нажмите «Добавить» и укажите путь к файлу виртуального диска, в моем случае — C:\usbdrive.vmdk, он добавится в список, выберите его и нажмите кнопку «Выбрать». Добавление диска VMDK в VirtualBox
  6. По умолчанию, подключенный диск окажется последним в списке подключенных, то есть загрузка виртуальной машины будет производиться не с него. Для изменения очередности, поменяйте необходимым образом номера портов SATA в настройках носителей. Включить загрузку с флешки в VirtualBox
  7. Готово, теперь виртуальная машина может загрузиться с физического USB накопителя. В случае, если загрузочная флешка предполагает загрузку в режиме UEFI, в настройках виртуальной машины перейдите в раздел «Система» и отметьте пункт «Включить EFI». Включить UEFI загрузку в VirtualBox

И результат: на скриншоте ниже — меню при загрузке виртуальной машины с физической мультизагрузочной флешки.

Успешная загрузка VirtualBox с физического USB накопителя

Загрузка с флешки в VirtualBox на хостах Linux и Mac OS

Проверить работу на Linux и Mac OS у меня возможности не было, но логика следующая. Допустим, физическая флешка — накопитель dev/sdb в Linux и /dev/disk2s1 в Mac OS, тогда в 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.

Надеюсь, всё получилось, а инструкция оказалась полезной для тех целей, с которыми вы её разыскали.

Комментарии (36) к Загрузка с флешки или другого USB устройства в VirtualBox

  • Андрей

    Syntax error: Invalid parameter ‘-register’

    Ответить

    • Alex

      У меня сработало без -register

      $ VBoxManage internalcommands createrawvmdk -filename '/home/name_user/VirtualBox VMs/usb.vmdk' -rawdisk /dev/sdf

      Ответить

      • yevyshka

        Все создалось. Может не правильный пусть вводят и номер диска. Только не поняла зачем, через виртуальную машину одно и тоже вроде.

        Ответить

  • Konstantin

    Не удалось создать ссылку на флэшку
    C:\Program Files\Oracle\VirtualBox>VBoxManage internalcommands createrawvmdk -filename C:\usbdrive.vmdk -rawdisk \\.\PhysicalDrive3
    VBoxManage.exe: error: Cannot open the raw disk ‘\\.\PhysicalDrive3’: VERR_ACCESS_DENIED
    VBoxManage.exe: error: The raw disk vmdk file was not created

    Ответить

    • Dmitry

      От администратора запущена cmd была?

      Ответить

    • Yegor

      Запусти консоль от имени администратора

      Ответить

    • Василий

      Тоже самое. Похоже решение никто не знает.

      Ответить

  • Антон

    Отлично! СпАсибо!
    У тех у кого ошибки в командной строке — Не забудьте запустить от имени админа! Выполнять все четко по инструкции

    Ответить

  • Владимир

    Не удалось открыть образ виртуального диска E:\VM\Win 10 pro\usbdrive.vmdk.

    Permission problem accessing the file for the medium ‘E:\VM\Win 10 pro\usbdrive.vmdk’ (VERR_ACCESS_DENIED).

    Код ошибки: VBOX_E_FILE_ERROR (0x80BB0004)
    Компонент: MediumWrap
    Интерфейс: IMedium {ad47ad09-787b-44ab-b343-a082a3f2dfb1}
    Вызванный интерфейс: IVirtualBox {d0a0163f-e254-4e5b-a1f2-011cf991c38d}
    Код ошибки метода: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

    А с этим что делать???

    Ответить

    • Dmitry

      Это в какой момент? Если в cmd, то от админа?

      Ответить

      • Dmitrii

        В меню пуск по значку cmd кликаете правой клавишей и в контекстном меню выбираете запуск от Администратора. Окно должно называться не Командная строка, а Администратор.

        Ответить

    • Дмитрий

      Запустить виртуалбокс от админа, читайте внимательней инструкцию

      Ответить

    • Василий

      Аналогичная ситуация.
      Не получается открыть образ. Программа открыта от админа

      Ответить

  • Валерий

    Попортилась Windows 2000 под VirtualBox: при запуске доходит до Рабочего стола на экране, выдает сообщение об ошибках:
    STOP: 0x00000051 (0x0000000c,0x00000005,0xf198f434, 0xf198f08c), сохраняет дамп памяти и уходит снова на запуск — циклится.
    Вопрос: можно ли восстановить Windows 2000, не потеряв установленные программы? Файл с vdi-диском машины и папка .VirtualBox на C: в Win10-host имеются.
    Спасибо.

    Ответить

    • Dmitry

      Здравствуйте.
      К сожалению, тут ответа чёткого дать не могу (сам на Hyper-V сижу, с VirtualBox мало работал).
      Но: а нет ли у нас в Win 2000 резервных копий реестра / точек восстановления? Ошибка вроде как при сбойном реестре возникает, тогда мы могли бы восстановить его

      Ответить

      • Валерий

        а где резервные копии и точки восстановления нужно/можно искать в файле VB-диска? Сама машина не запускается — циклится, но можно с 7-z архиватором просмотреть этот файл и достать из него папки и файлы, если знать какие, где они и что с ними делать.
        Или это дело дохлое и нужно попытаться завести новую VB-машину и перенести туда такую же Win2000 из предыдущего старого VB-диска (кстати как?) и что можно из файлов и папок из последнего сбойного диска? Что посоветуете?

        Ответить

        • Dmitry

          посмотрите, в файле диска есть папка Windows \ System32\ config\ RegBack\ ?
          если да, скопируйте её содержимое с заменой в C:\ Windows \ System32\ config\
          и попробуйте стартануть

          Ответить

  • Валерий

    \WINNT\system32\config\ — это есть, а \RegBack\ — нет совсем, никаких папок.
    Видимо, дело дохлое ;). Кстати в Win 10 сейчас тоже нет

    Ответить

    • Dmitry

      Да, то что в 10-ке нету — в курсе, но думал вдруг на 2000 есть.
      А точки восстановления? Можно по идее виртуальную машину загрузить с диска восстановления, созданного в 2000 (другой) и там попробовать их..

      Ответить

  • СиликоновыйОсликСоСтажем

    Валерий.
    Резервные копии, так же никто не отменял, даже на виртуалках, к гипервизору в данном случае претензий нет, пеняйте на себя (не сложно сделать копию в другое место и юзать копию на виртуалке), шаловливые ручки пользователя и мелкософт. Наверно выход все же есть, если сохранился дистрибутив вынь 2000, грузимся с дистрибутива, а дальше штатными средствами как на обычном компьютере. Удачи.

    Ответить

    • СиликоновыйОсликСоСтажем

      Как вариант использовать любой Live WinPE, рекомендую использовать live 2K10 (найти в интернете легко), можно загрузить виртуальную машину с него напрямую из образа, а можно развернуть на флешку (она всегда пригодится в других ситуациях), по инструкции выше загрузить виртуальную машину с флешки и уже исходя из ситуации стучать определенный ритм на бубне под вынь 2000. Ошибка: 0x00000051 говорит об общем системном сбое, чаще всего это повреждение реестра, но не факт. Начните с элементарного, загрузившись с live именно на виртуальной машине Вынь 2000 и проверьте диск злым доктором ветеринаром Check Disk (Chkdsk.exe), а далее по ситуации. И конечно восстановление проводите на копии поврежденный Вынь 2000, чтоб существовала возможность откатится, заменив образ виртуального диска на копию.

      Ответить

  • Николай

    Огромное спасибо! Windows 8 x32 на VirtualBox 5.1.12.11244 после настройки флешка загрузилась сразу! Перед настройкой установил

    Oracle_VM_VirtualBox_Extension_Pack-5.1.12-112440.vbox-extpack

    Ответить

  • Александр

    C:\Windows\System32>cd %programfiles%\Oracle\VirtualBox
    
    C:\Program Files\Oracle\VirtualBox>VBoxManage internalcommands createrawvmdk -fi
    lename C:\usbdrive.vmdk -rawdisk \\.\PhysicalDrive1
    VBoxManage.exe: error: Cannot open the raw disk '\\.\PhysicalDrive1': VERR_ACCES
    S_DENIED
    VBoxManage.exe: error: The raw disk vmdk file was not created

    не получается создать флешку

    Ответить

    • Dmitry

      А командная строка точно от имени администратора запущена?

      Ответить

  • OlegBon

    cmd от имени администратора. Похоже устарела команда createrawvdk. Кто-то сталкивался? Как быть? Через createmedium не понял как сделать.

    d:\Program Files\Oracle\VirtualBox>VBoxManage internalcommands createrawvmdk -filename C:\usbdrive.vmdk -rawdisk \\.\PhysicalDrive3

    The ‘createrawvdk’ subcommand is deprecated. The equivalent functionality is
    available using the ‘VBoxManage createmedium’ command and should be used
    instead. See ‘VBoxManage help createmedium’ for details.

    0%…VBOX_E_FILE_ERROR
    VBoxManage.exe: error: Failed to create medium
    VBoxManage.exe: error: Could not create the medium storage unit ‘C:\usbdrive.vmdk’.
    VBoxManage.exe: error: VMDK: Image path: ‘C:\usbdrive.vmdk’. Failed to open the raw drive ‘\\.\PhysicalDrive3’ for reading (VERR_ACCESS_DENIED) (VERR_ACCESS_DENIED).
    VBoxManage.exe: error: VMDK: could not create raw descriptor for ‘C:\usbdrive.vmdk’ (VERR_ACCESS_DENIED)
    VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component MediumWrap, interface IMedium
    VBoxManage.exe: error: Context: «enum RTEXITCODE __cdecl handleCreateMedium(struct HandlerArg *)» at line 634 of file VBoxManageDisk.cpp

    Ответить

  • Алексей

    команда и правда, грит, что устарела, но старым способом (по-крайней мере пока-что) — нормально создаётся, надо просто под админом батник запускать)

    Ответить

  • Rrrustamm

    VBoxManage createmedium disk —filename=C:\USB.vmdk —variant=RawDisk —format=VMDK —property RawDrive=\\.\PhysicalDrive5

    так работает!

    Ответить

  • Rrrustamm

    только вместо дефиса (—) должно быть два минуса (-)
    сайт поменял символы

    Ответить

  • Vikkor

    VBoxManage createmedium disk —filename=C:\ssd1drive.vmdk —variant=RawDisk —format=VMDK —property RawDrive=\\.\PhysicalDrive1
    В новых версиях VBox так (с правами Админа, разумеется), только не понятно почему ссылку на диск нужно размещать в корне диска с.

    Ответить

  • Виталий

    Ну и для VBox 7 в соответствии с medium.com/@spearous/boot-a-virtualbox-7-0-8-vm-from-the-usb-drive-hosted-in-a-windows-machine-66552219b8d9
    1. VBox 7 должен быть старше 7.04
    2. в момент запуска в командной строке от имени администратора VBoxManage createmedium графический интерфейс VirtualBox должен быть закрыт и в памяти не должно быть его процессов
    3. запускать графический интерфейс VirtualBox для загрузки с USB flash тоже надо от имени администратора

    Ответить

    • Денис

      «в момент запуска в командной строке … графический интерфейс VirtualBox должен быть закрыт»
      Огромное спасибо. А то была ошибка доступа при создании диска, пока не закрыл графический интерфейс VirtualBox.
      Надеюсь Дмитрий увидит и дополнит статью)

      Ответить

  • Сергей

    Лишние манипуляции
    Монтируем образ
    в винде что виртуалке жмем перезагрузится
    при старте виртуалки жмем f2 и в списке загрузочных устройств выбираем виртуальный привод.

    Ответить

    • Dmitry

      Здравствуйте. Так вы про виртуальный привод и файл образа, а я про физическую флешку в этом материале писал, иногда может быть нужно именно это.

      Ответить

Оставить комментарий

Интересное
Список инструкций Windows 11 Windows 10 Подписаться