How to boot from в USB drive in VirtualBox?

Простой 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.

https://i.stack.imgur.com/UPZZo.png

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?

89
задан 6 November 2015 в 08:48

8 ответов

VirtualBox сам по себе не поддерживает загрузку с USB-устройства. Для того, чтобы загрузиться с USB-устройства, требуется другой системный загрузчик. Шаги, описанные ниже, предоставляют один из возможных способов сделать это:

  1. Загрузить Plop Boot Manager (на данный момент v5.0.15)
  2. Извлечь файл plpbt.iso из ZIP-архива и сохранить его где-нибудь.
  3. Откройте настройки виртуальной машины и прикрепите ISO-файл:

    enter image description here

  4. Добавьте фильтр для USB-устройства:

    enter image description here

  5. Загрузите виртуальную машину и выберите опцию "USB" в меню:

    enter image description here

Если все прошло хорошо, машина теперь должна загрузиться с USB-устройства.

102
ответ дан 15 November 2019 в 23:59

Самое простое решение - скопировать содержимое USB-ключа в файл iso (ну, в следующий раз я просто скачаю ISO на нужную машину, в первую очередь, USB-ключ не нужен)

dd if=/dev/sdc of=myusbkey.iso

А затем добавьте этот .iso в качестве оптического привода в Настройки VirtualBox, в разделе «Хранилище», Контроллер: IDE (или SATA, я полагаю).

Нет необходимости создавать файл .vmdk, VirtualBox поддерживает файлы .iso.

15
ответ дан 15 November 2019 в 23:59

Я бы предложил следующие шаги:

  1. Откройте диски.
  2. Найдите USB.
  3. Щелкните здесь, и в правом верхнем углу вы увидите значок настроек с 3 параллельными линиями.
  4. Щелкните здесь и выберите Создать образ диска ...
  5. Выберите расположение и щелкните Создать . Будет создан файл .img, который можно использовать в VirtualBox.
5
ответ дан 15 November 2019 в 23:59

Я не хотел запускать 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

2
ответ дан 15 November 2019 в 23:59

Если ваш USB-накопитель является загрузочным с EFI, Plop Boot Manager не будет работать, так как он не поддерживает загрузку EFI. В этом случае у меня сработало использование диспетчера загрузки rEFInd ( http://www.rodsbooks.com/refind/ ).

  1. Загрузите загрузочную iso-версию rEFInd с http: // sourceforge. net / projects / refind / files / 0.11.4 / refind-cd-0.11.4.zip / download и разархивируйте его.

  2. Откройте настройки виртуальной машины в VirtualBox и прикрепите ISO-файл rEFInd CD.

  3. Убедитесь, что параметр «Включить EFI (только для специальных ОС)» в настройках виртуальной машины на вкладке «Система» включен.

  4. Загрузите виртуальную машину, и вы должны увидеть меню загрузки rEFInd:

rEFInd menu

  1. Подключите USB-накопитель в VirtualBox.

  2. Нажмите клавишу возврата, чтобы обновить меню, или просто подождите несколько секунд, и в меню должен появиться диск.

  3. Выберите свой USB-накопитель и нажмите Enter, и ваш USB-накопитель должен начать загрузку.

4
ответ дан 15 November 2019 в 23:59

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 и удостовериться, что вы можете загрузиться на нее.

enter image description here

EDIT:

Чтобы добавить пользователя в группу vboxusers, выполните следующую команду:

sudo usermod -a -G vboxusers username

Чтобы добавить пользователя в группу disk, выполните следующую команду:

Примечание: Добавление пользователя в группу дисков может быть опасным и представлять собой угрозу безопасности. Это так же опасно, как иметь доступ к записи на необработанный диск.

sudo usermod -a -G disk username

Тогда вы ДОЛЖНЫ РЕБОТИТЬ свою систему, чтобы изменения вступили в силу.

Перед перезагрузкой:

enter image description here

После перезагрузки:

enter image description here

Надеюсь, это поможет!

55
ответ дан 15 November 2019 в 23:59

Я просто зашел на этот пост несколько дней назад. Я не хочу использовать Plop Boot Manager, потому что мой USB-накопитель уже является загрузочным.

Поэтому я попытался направить USB-накопитель на диск VMDK (как в ответе Терренса), создав vboxmanage внутренние команды createrawvmdk -filename ~ / usb.vmdk -rawdisk / dev / sdb

К сожалению, это не работало ... Я chmod и chown the usb.vmdk диск, поэтому я смог прикрепить его к виртуальная машина, но она просто не работала.

Наконец, я попробовал другое решение, и оно сработало безупречно. Вот он (спасибо Геану Сантосу за исследование):

  1. Вставьте USB-накопитель и определите его (мой - / dev / sdb , работает под Sabayon Linux);
  2. Создайте диск .vmdk путем преобразования исходного устройства (то есть USB-накопителя) в диск VirtualBox

     sudo VBoxManage convertfromraw / dev / sdb ./usb.vmdk --format vmdk
     
  3. Теперь у вас есть диск usb.vmdk , созданный из загрузочного USB-накопителя. Я также попробовал dd USB-накопитель в файл образа и создать диск .vmdk из файла образа. Он работает, как и диски .vdi , созданные прежним способом (или из файла образа)

  4. Теперь,предоставить разрешения для созданного диска, чтобы VirtualBox мог получить доступ к файлу. Это просто означает изменить владельца файла на пользователя, который находится в группе vboxusers . Если ваша установка VirtualBox работает нормально, то этим владельцем, вероятно, будут вы:

     sudo chown `whoami`:` whoami` ./usb.vmdk
     
  5. Теперь вам просто нужно подключить диск usb.vmdk к виртуальной машине. Но он должен быть подключен к IDE-контроллеру . Я попробовал SATA безуспешно.

A VM example with a bootable <code>usb.vmdk</code> attached to an IDE controller

На этом этапе все в порядке.

Просто загрузите новую виртуальную машину, нажмите F12 и выберите загрузочный диск.

] Наслаждайтесь!

16
ответ дан 15 November 2019 в 23:59

Для тех, кто пытается сделать это с помощью VirtualBox на хосте Windows, здесь представлено полностью рабочее решение: https://www.howtogeek.com/187721/how-to- boot-from-a-usb-drive-in-virtualbox /

0
ответ дан 4 September 2021 в 11:08

Другие вопросы по тегам:

Похожие вопросы: