Startowanie Virtualbox’a z USB

Virtualbox jest bardzo użytecznym narzędziem to tworzenia maszyn wirtualnych, który wspiera również przekazywanie wszelakich akcesoriów USB bezpośrednio do maszyny wirtualnej. O ile maszyna wirtualna wspiera dane urządzenie to na ogół nie ma problemu z jego obsługą.

Schody zaczynają jeśli chcemy uruchomić maszynę wirtualną z boot’owalnego usb określanego niekiedy jako live usb. Czyli np. wypalamy obraz Ubuntu na pendrive’ie i chcemy przetestować czy działa, ale na maszynie wirtualnej, bez restartowania komputera. Niestety Virtualbox tego nie potrafi ze względu na brak wsparcia USB w swoich implementacjach BIOSu/UEFI.

Są dwa sposoby na obejście problemu.

Pierwszy sposób polega na utworzeniu wirtualnego dysku .vmdk, który będzie maleńkim plikiem wskazującym na nasze urządzenie dyskowe (pendrive’a).

Wpierw sprawdzamy nazwę naszego podłączonego pendrive’a: lsblk
Np.

sdd
├─sdd1 /run/media/ARCH_201602

Jak widać powyższym przykładzie dysk nazywa się /dev/sdd i zawiera tylko jedną partycję /dev/sdd1. Tworzymy teraz maleńki obraz vmdk, który wskazuje na naszego pendrive’a /dev/sdd. W poniższej komendzie ma być /dev/sdd, a nie /dev/sdd1 gdyż wskazujemy całe urządzenie, a nie tylko partycję.
sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/sdd -filename ~/Pobrane/pendrive.vmdk

 

Przechodzimy do VirtualBox’a i tworzymy wirtualną maszynę typu Linuxa, wersja: Other Linux, przydzielamy pamięć, a w opcjach Hard disk wybieramy opcję trzecią czyli: Use an existing virtual hard disk file i wskazujemy na nasz utworzony plik pendrive.vmdk

 

usb2

 

Jeżeli w trakcie wybierania dysku .vmdk dostaniemy podobny komunikat jak ten poniżej to oznacza, ze nasz użytkownik nie ma prawa dostępu do urządzenia dyskowego:

ls -l /dev/sdd wyświetli zapewne, że właścicielem użytkownik root i grupa disk. Problem wtedy najłatwiej rozwiązać poprzez dodanie własnego użytkownika do grupy disk: usermod -aG disk nazwauzytkownika i przelogowanie się.

 

usb1

 

Po uruchomieniu wirtualnej maszyny, system powinien wystartować przy pomocy boot menedżera zainstalowanego na pendrive’ie:

 

usb3

Kolej na drugi sposób, który polega na skorzystaniu z zewnętrznego boot menedżera, który po wystartowaniu z obrazu .iso jest w stanie rozpoznać urządzenie USB podłączone do wirtualnej maszyny i z niego wystartować. Podejście w zasadzie identyczne jak w zwykłym BIOSie.

 

Takim boot menedżerem jest program Plop Boot Manager, którego możemy ściągnąć ze strony: https://www.plop.at/en/bootmanager/download.html. W rozpakowanym zip’ie wyszukujemy plik: plbt.iso i z niego uruchamiamy wirtualną maszynę. Nie ma również potrzeby tworzenia żadnego dysku.

 

usb4

 

Po uruchomieniu maszyny ukaże się menu, z którego możemy wybrać urządzenie USB do wystartowania (po wcześniejszym przekazaniu go do maszyny wirtualnej).

 

usb5

usb6

 

Jeżeli na tym etapie nic nie będzie się działo to należy zmienić wersję sterownika USB na niższą np 1.1 w ustawieniach wirtualnej maszyny.

 

usb7

Plop Boot Manager jest naprawdę użytecznym i zaawansowanym programem, ale posiada jedną wadę: kod jest zamknięty, o ile to komuś przeszkadza. Innych wad się nie dopatrzyłem.

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.