Простой The question is and straight forward:
How to boot from an USB drive in VirtualBox?
EDIT:
I have attached usb
to VirtualBox схвати shown in the screenshot.
But it is not possible to boot from an USB drive even when attached (reference).
So I would like to know if there is any other possiblity to boot from an USB drive?
VirtualBox сам по себе не поддерживает загрузку с USB-устройства. Для того, чтобы загрузиться с USB-устройства, требуется другой системный загрузчик. Шаги, описанные ниже, предоставляют один из возможных способов сделать это:
plpbt.iso
из ZIP-архива и сохранить его где-нибудь. Откройте настройки виртуальной машины и прикрепите ISO-файл:
Добавьте фильтр для USB-устройства:
Загрузите виртуальную машину и выберите опцию "USB" в меню:
Если все прошло хорошо, машина теперь должна загрузиться с USB-устройства.
Самое простое решение - скопировать содержимое USB-ключа в файл iso (ну, в следующий раз я просто скачаю ISO на нужную машину, в первую очередь, USB-ключ не нужен)
dd if=/dev/sdc of=myusbkey.iso
А затем добавьте этот .iso в качестве оптического привода в Настройки VirtualBox, в разделе «Хранилище», Контроллер: IDE (или SATA, я полагаю).
Нет необходимости создавать файл .vmdk, VirtualBox поддерживает файлы .iso.
Я бы предложил следующие шаги:
Я не хотел запускать Virtualbox от имени пользователя root. Я не хотел, чтобы мой пользователь входил в группу дисков, имея полные права доступа ко всем дискам.
Итак, вот что мне нужно было поработать:
Узнайте, что такое SD карта памяти. В следующих инструкциях это sdc
.
Отключить карту памяти
su -
chmod 666 / dev / sdc1
chmod 666 / dev / sdc
exit # Выполните следующую команду от имени обычного пользователя:
Внутренние команды VBoxManage createrawvmdk -filename usb.vmdk -rawdisk / dev / sdc
su - # Снова как root:
chmod 777 usb.vmdk
chmod 666 / dev / sdc
Подключите виртуальную машину usb.vmdk
chmod 666 / dev / sdc
После этого сбросить разрешение sdc1 для безопасности:
chmod 660 / dev / sdc1
Из приведенного выше вы можете видеть, что мне пришлось несколько раз сбрасывать разрешения для карты памяти, потому что каждый раз она возвращалась в режим root.
Я использую Mandriva Linux, но это должно быть примерно то же самое в Ubuntu
Если ваш 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.
Нажмите клавишу возврата, чтобы обновить меню, или просто подождите несколько секунд, и в меню должен появиться диск.
Выберите свой USB-накопитель и нажмите Enter, и ваш USB-накопитель должен начать загрузку.
EDIT: 7 Mar 2018
Здесь есть на что обратить внимание. Оставив USB-накопитель в компьютере при перезагрузке, можно изменить буквенное обозначение диска /dev/sd
, в результате чего сырой файл usb.vmdk
укажет на неправильный диск, чтобы он не загружался в VirtualBox. В качестве теста я оставил один в своей системе. Это было /dev/sdi
до перезагрузки, после перезагрузки это было /dev/sdc
. При перезагрузке компьютера для внесения изменений, пожалуйста, извлеките USB-накопитель перед перезагрузкой. Я проверяю, можно ли вместо этого создать необработанный диск из UUID диска, так как это не изменится.
Поскольку VirtualBox не загружается на USB-накопители, вы можете создать файл .vmdk
, который указывает на ваш USB-накопитель для загрузки на него.
ПРИМЕЧАНИЕ: Для VirtualBox необходимо добавить учетную запись пользователя в группу vboxusers
, чтобы увидеть свой USB. Также необходимо добавить учетную запись в группу disk
, или невозможно добавить файл .vmdk
в виртуальную машину. Добавлены инструкции, приведенные ниже в EDIT. При этом 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 и удостовериться, что вы можете загрузиться на нее.
EDIT:
Чтобы добавить пользователя в группу vboxusers
, выполните следующую команду:
sudo usermod -a -G vboxusers username
Чтобы добавить пользователя в группу disk
, выполните следующую команду:
Примечание: Добавление пользователя в группу дисков может быть опасным и представлять собой угрозу безопасности. Это так же опасно, как иметь доступ к записи на необработанный диск.
sudo usermod -a -G disk username
Тогда вы ДОЛЖНЫ РЕБОТИТЬ свою систему, чтобы изменения вступили в силу.
Перед перезагрузкой:
После перезагрузки:
Надеюсь, это поможет!
Я просто зашел на этот пост несколько дней назад. Я не хочу использовать Plop Boot Manager, потому что мой USB-накопитель уже является загрузочным.
Поэтому я попытался направить USB-накопитель на диск VMDK (как в ответе Терренса), создав vboxmanage внутренние команды createrawvmdk -filename ~ / usb.vmdk -rawdisk / dev / sdb
К сожалению, это не работало ... Я chmod
и chown
the usb.vmdk
диск, поэтому я смог прикрепить его к виртуальная машина, но она просто не работала.
Наконец, я попробовал другое решение, и оно сработало безупречно. Вот он (спасибо Геану Сантосу за исследование):
/ dev / sdb
, работает под Sabayon Linux); Создайте диск .vmdk
путем преобразования исходного устройства (то есть USB-накопителя) в диск VirtualBox
sudo VBoxManage convertfromraw / dev / sdb ./usb.vmdk --format vmdk
Теперь у вас есть диск usb.vmdk
, созданный из загрузочного USB-накопителя. Я также попробовал dd
USB-накопитель в файл образа и создать диск .vmdk
из файла образа. Он работает, как и диски .vdi
, созданные прежним способом (или из файла образа)
Теперь,предоставить разрешения для созданного диска, чтобы VirtualBox мог получить доступ к файлу. Это просто означает изменить владельца файла на пользователя, который находится в группе vboxusers . Если ваша установка VirtualBox работает нормально, то этим владельцем, вероятно, будут вы:
sudo chown `whoami`:` whoami` ./usb.vmdk
Теперь вам просто нужно подключить диск usb.vmdk
к виртуальной машине. Но он должен быть подключен к IDE-контроллеру . Я попробовал SATA
безуспешно.
На этом этапе все в порядке.
Просто загрузите новую виртуальную машину, нажмите F12
и выберите загрузочный диск.
] Наслаждайтесь!
Для тех, кто пытается сделать это с помощью VirtualBox на хосте Windows, здесь представлено полностью рабочее решение: https://www.howtogeek.com/187721/how-to- boot-from-a-usb-drive-in-virtualbox /