Загрузка с флешки или другого USB устройства в VirtualBox
Подключить физический USB накопитель — флешку или внешний жесткий диск в VirtualBox не сложно, об этом я писал в инструкции Виртуальные машины VirtualBox для начинающих. Однако, это не позволит использовать загрузочную флешку или другой USB накопитель таким образом, чтобы виртуальная машина загрузилась с него. Тем не менее, сделать это возможно.
В этой инструкции подробно о том, как поставить загрузку с физической USB флешки в VirtualBox для Legacy и UEFI загрузки на хосте Windows, Linux и Mac OS. Учитывайте, что не всегда загрузка происходит без сбоев и работает стабильно (при этом если загружаться с обычного ISO проблем нету).
Настройка загрузки с USB накопителя в VirtualBox (на хост-системе Windows)
Для того, чтобы реализовать задуманное, нам потребуется использовать функцию VirtualBox, позволяющую «пробросить» физический накопитель в виртуальную машину.
В нашем случае это будет USB флешка или внешний жесткий диск, а шаги для реализации следующие:
- Нажмите Win+R, введите diskmgmt.msc и узнайте номер диска, который требуется подключить к виртуальной машине. В моем примере — это диск 2.
- Запустите командную строку от имени администратора (важно: VirtualBox в это время должен быть закрыт) и по порядку введите следующие две команды. Во второй команде последнюю букву N замените номером диска из 1-го шага, а путь к виртуальному диску, который по факту будет являться ссылкой на флешку (C:\usbfrive.vmdk) можете указать любой — файл будет сохранен в указанном вами расположении:
cd %programfiles%\Oracle\VirtualBox VBoxManage internalcommands createrawvmdk -filename C:\usbdrive.vmdk -rawdisk \\.\PhysicalDriveN
- Закройте командную строку и запустите VirtualBox от имени администратора (это обязательно). Запуск от имени администратора можно осуществить через контекстное меню по правому клику на ярлыке.
- Создайте новую или используйте имеющуюся виртуальную машину VirtualBox и зайдите в её настройки на вкладку «Носители». Выберите текущий контроллер и нажмите по кнопке добавления нового устройства, выберите «жесткий диск» (Внимание: в случае создания новой виртуальной машины вы можете просто выбрать опцию подключения имеющегося виртуального жесткого диска и указать путь к файлу, созданному на 2-м шаге).
- В следующем окне нажмите «Добавить» и укажите путь к файлу виртуального диска, в моем случае — C:\usbdrive.vmdk, он добавится в список, выберите его и нажмите кнопку «Выбрать».
- По умолчанию, подключенный диск окажется последним в списке подключенных, то есть загрузка виртуальной машины будет производиться не с него. Для изменения очередности, поменяйте необходимым образом номера портов SATA в настройках носителей.
- Готово, теперь виртуальная машина может загрузиться с физического USB накопителя. В случае, если загрузочная флешка предполагает загрузку в режиме UEFI, в настройках виртуальной машины перейдите в раздел «Система» и отметьте пункт «Включить EFI».
И результат: на скриншоте ниже — меню при загрузке виртуальной машины с физической мультизагрузочной флешки.
Загрузка с флешки в 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.
Надеюсь, всё получилось, а инструкция оказалась полезной для тех целей, с которыми вы её разыскали.
Андрей
Syntax error: Invalid parameter ‘-register’
Ответить
ии
так же
Ответить
Alex
У меня сработало без -register
Ответить
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 после настройки флешка загрузилась сразу! Перед настройкой установил
Ответить
Александр
не получается создать флешку
Ответить
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
только вместо дефиса (—) должно быть два минуса (-)
сайт поменял символы
Ответить
Александр
Спасибо!
Ответить
Adamant14
Спасибо!
Ответить
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
Здравствуйте. Так вы про виртуальный привод и файл образа, а я про физическую флешку в этом материале писал, иногда может быть нужно именно это.
Ответить