Вопрос простой и прямой:
Как загрузиться с USB-накопителя в VirtualBox?
РЕДАКТИРОВАТЬ:
Я подключился usb
к VirtualBox, как показано на скриншоте.
Но загрузка с USB-накопителя невозможна, даже если он подключен. (ссылка).
Поэтому я хотел бы узнать, есть ли еще какие-либо возможности загрузки с USB-накопителя?
решение1
VirtualBox сам по себе не поддерживает загрузку с USB-устройства. Для загрузки с USB-устройства требуется другой загрузчик. Ниже приведены шаги, которые могут помочь сделать это:
- СкачатьМенеджер загрузки Plop(текущая версия 5.0.15)
- Извлеките файл
plpbt.iso
из ZIP-архива и сохраните его где-нибудь. Откройте настройки виртуальной машины и прикрепите ISO-файл:
Добавьте фильтр для USB-устройства:
Загрузите виртуальную машину и выберите в меню пункт «USB»:
Если все прошло успешно, устройство должно загрузиться с USB-устройства.
решение2
ИЗМЕНЕНО: 7 марта 2018 г.
Здесь следует отметить следующее. Если оставить USB-накопитель в компьютере при перезагрузке, можно изменить /dev/sd
обозначение буквы диска, из-за чего usb.vmdk
файл raw будет указывать на неправильный диск, поэтому он не будет загружаться в VirtualBox. В качестве теста я оставил один в своей системе. Он был /dev/sdi
до перезагрузки, после перезагрузки он стал /dev/sdc
. Когда вы перезагружаете компьютер для любых изменений, пожалуйста, извлеките USB-накопитель перед перезагрузкой. Я ищу, можно ли создать raw-диск из UUID диска, так как он не изменится.
Поскольку VirtualBox не загружается с USB-накопителей, вы можете создать .vmdk
файл, указывающий на ваш USB-накопитель, для загрузки с него.
ПРИМЕЧАНИЕ: Вы ДОЛЖНЫ добавить свою учетную запись пользователя в vboxusers
группу, чтобы VirtualBox увидел ваш USB. Вы ДОЛЖНЫ также добавить свою учетную запись в группу disk
, иначе вы не сможете добавить .vmdk
файл в свою виртуальную машину. Добавлены инструкции ниже вРЕДАКТИРОВАТЬ. Это также не копирует USB-накопитель на жесткий диск и использует USB напрямую. Это может быть полезно, если на USB-накопителе есть данные, которые вы хотите сохранить. Не все ситуации одинаковы, поэтому этот способ может не сработать в каждом случае.
Во-первых, вам нужно иметь созданный вами USB в вашей системе и определить, что такое физический диск. Мы предположим, что ваш диск смонтирован как /dev/sdb1
. Таким образом, физический диск будет /dev/sdb
.
Затем введите в окне терминала следующую команду, чтобы создать файл .vmdk
, указывающий на USB-накопитель:
sudo vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb
Или
sudo VBoxManage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb
Затем вы должны увидеть что-то похожее на это:
RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.
Примечание:У некоторых людей возникли проблемы с владением недавно созданным файлом. Взять на себя владение новым файлом:
sudo chown $USER:$USER ~/usb.vmdk
Затем все, что вам нужно сделать, это добавить файл .vmdk
в виртуальную машину VirtualBox и убедиться, что вы можете с нее загрузиться.
РЕДАКТИРОВАТЬ:
Чтобы добавить пользователя в vboxusers
группу, выполните следующую команду:
sudo usermod -a -G vboxusers username
Чтобы добавить пользователя в disk
группу, выполните следующую команду:
Примечание: Добавление пользователя в группу дисков может быть опасным и представлять угрозу безопасности. Это так же опасно, как и наличие доступа sudo для записи на необработанный диск.
sudo usermod -a -G disk username
Затем выОБЯЗАТЕЛЬНО ПЕРЕЗАГРУЗКАвашей системы, чтобы изменения вступили в силу.
Перед перезагрузкой:
После перезагрузки:
Надеюсь это поможет!
решение3
Я наткнулся на этот пост всего несколько дней назад. Я не хочу использовать Plop Boot Manager, потому что моя флешка уже загрузочная.
Поэтому я попытался указать USB-накопитель на диск VMDK (как в ответе Терренса), создавvboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb
К сожалению, это не сработало... У меня chmod
был chown
диск usb.vmdk
, и я смог подключить его к виртуальной машине, но он просто не работал.
Наконец, я попробовал другое решение, и это сработало безупречно. Вот оно (спасибоДжин Сантосдля исследования):
- Вставьте USB-накопитель и идентифицируйте его (у меня это
/dev/sdb
, работает Sabayon Linux); Создать
.vmdk
дискконвертация необработанного устройства (т.е. USB-накопителя) в диск VirtualBoxsudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
Теперь у вас есть
usb.vmdk
диск, созданный из вашей загрузочной флешки. Я также пробовалdd
флешку в файл образа и создать.vmdk
диск из файла образа. Это работает, так же как и.vdi
диски, созданные прежним способом (или из файла образа)Теперь дайте разрешения созданному диску, чтобы VirtualBox мог получить доступ к файлу. Это просто означаетизмените владельца файла на пользователя, входящего в группу vboxusersЕсли ваша установка VirtualBox работает нормально, то этим владельцем, вероятно, являетесь вы:
sudo chown `whoami`:`whoami` ./usb.vmdk
Теперь вам просто нужно подключить диск
usb.vmdk
к виртуальной машине. Но этонеобходимо подключить к IDE-контроллеру. Я пытался,SATA
но безуспешно.
На данный момент все в порядке.
Просто загрузите новую виртуальную машину, нажмите F12
и выберите загрузочный диск.
Наслаждаться!
решение4
Если ваш USB-накопитель является загрузочным диском EFI, то Plop Boot Manager не будет работать, поскольку он не поддерживает загрузку EFI. В таком случае мне помогло использование загрузочного менеджера rEFInd (http://www.rodsbooks.com/refind/).
Загрузите загрузочный ISO-образ rEFInd с сайтаhttp://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/downloadи распакуйте его.
Откройте настройки виртуальной машины в VirtualBox и прикрепите ISO-файл rEFInd CD.
Убедитесь, что в настройках виртуальной машины на вкладке «Система» включена опция «Включить EFI (только для специальных ОС)».
Загрузите виртуальную машину, и вы увидите загрузочное меню rEFInd:
Подключите USB-накопитель к VirtualBox.
Нажмите клавишу Backspace, чтобы обновить меню, или просто подождите несколько секунд, и диск должен появиться в меню.
Выберите USB-накопитель и нажмите Enter, после чего ваш USB-накопитель должен начать загрузку.