VirtualBox
Z Fedora Wiki
Spis treści |
Instalujemy źródła kernela i pakiety potrzebne do kompilacji sterownika
yum install make automake autoconf gcc kernel-devel dkms
teraz wybieramy pomiędzy wersją VirtualBox (komercyjną) lub VirtualBox-OSE (Open Source Edition)
VirtualBox
Pobieramy plik z konfiguracją repozytorium:
wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo -O /etc/yum.repos.d/vbox.repo
Repozytorium jest domyślnie wyłączone. Żeby je właczyć należy wykonać polecenie:
su -c "sed -i -e 's/enabled=0/enabled=1/' /etc/yum.repos.d/vbox.repo"
Następnie instalujemy VirtualBox:
su -c "yum install VirtualBox-4.1"
W celu włączenia obsługi wirtualnych systemów 64-bitowych należy po utworzeniu nowej maszyny wirtualnej wejść w jej "Ustawienia" (Ctrl-S) i na zakładce "Ogólne"→"Zaawansowane" zaznaczamy opcje "Extended features": "Włącz ACPI", "Włącz IO APIC", "Enable VT-x/AMD-V", "Włącz PAE/NX".
Dodaj siebie do grupy vboxusers
su -c "usermod -G vboxusers -a `whoami`"
Uwagi:
- instalacja paczki dkms zapewnia automatyczną aktualizację sterownika (nie tylko VirtualBox) dla nowego jądra. Jeśli jej nie zainstalujemy, to po każdej aktualizacji jądra należy wykonać jako root komendę:
su -c "/etc/init.d/vboxdrv setup"
- VirtualBox potrafi uruchamiać systemy z obrazów VMWare → instrukcja. Link do obrazów na końcu sekcji VMWare Player.
- Jeśli wystąpi brak możliwości podłączenia urządzenia USB z menu maszyny wirtualnej "Urządzenia" > "Urządzenia USB" (widać urządzenie, ale nie jest dostępne) należy jako root wykonać polecenia:
su - MYGID=`getent group vboxusers | cut -d":" -f3` # lub tak: # MYGID=`awk -F ":" '/^vboxusers/ {print $3}' /etc/group` echo "none /sys/bus/usb/drivers usbfs devgid=$MYGID,devmode=664 0 0" >> /etc/fstab mount -a
Polecenia należy wykonać tylko raz. Przy kolejnych uruchomieniach systemu nie powinno być już problemów.
Rozwiązanie zaczerpnięte z bloga Penguin Enclave
Instalacja pakietu rozszerzeń
Od wersji 4.0 firma Oracle wydzieliła z paczki binarnej VirtualBox pakiety rozszerzeń. Z tego powodu z paczki binarnej została usunięta m.in. obsługa USB.
Aby w pełni korzystać z obsługi USB w maszynie wirtualnej należy zainstalować pakiet rozszerzeń. Pakiet pobieramy ze strony http://www.virtualbox.org/wiki/Downloads (druga "kropka" opisana jako VirtualBox [tu numer wersji] Oracle VM VirtualBox Extension Pack).
Instalację rozszerzenia przeprowadzamy jako root
cd <ścieżka z zachowanym pakietem *.vbox-extpack> VBoxManage extpack install Oracle[wciśnij TAB][wciśnij ENTER]
lub jeśli dokonaliśmy aktualizacji wcześniej zainstalowanej wersji:
cd <ścieżka z zachowanym pakietem *.vbox-extpack> VBoxManage extpack install --replace Oracle[wciśnij TAB][wciśnij ENTER]
Po restarcie urządzenia USB zamontowane na systemie-gospodarzu powinny byc dostępne do zainstalowania w systemie goszczonym.
VirtualBox-OSE (Open Source Edition)
su -c "yum install VirtualBox-OSE VirtualBox-OSE-guest kmod-VirtualBox-OSE"
restart systemu lub (?) ładowanie modułów
su -c "/etc/sysconfig/modules/VirtualBox-OSE.modules"
reszta jak w zwykłej wersji VirtualBox.
Kontrola virtualnego systemu z linii komend
Ciekawą i mniej znaną cechą VB jest możliwość kontrolowania wirtualnego systemu z pominięciem graficznego interfejsu VirtualBox. Aby uruchomić obraz, wystarczy wywołać polecenie:
VBoxManage startvm <nazwa obrazu>
Przykładowo u mnie obraz nazywa się WinXP i w łatwy sposób można utworzyć wykonywalny skrypt:
su -c "echo -e '#!/bin/bash \nVBoxManage startvm WinXP' >> /usr/local/bin/WinXP" su -c "chmod +x /usr/local/bin/WinXP"
Teraz można uruchomić maszynę [Alt]+[F2] i wpisać WinXP lub utworzyć aktywator do polecenia /usr/local/bin/WinXP.
Jeśli chcemy mieć więcej możliwości kontroli, możemy rozbudować skrypt o kilka opcji:
#!/bin/bash # xp - kontrola wirtualnego xp # nazwa wirtualnego systemu vm=WinXP if [ $# -eq 0 ]; then # przy braku parametrów: wyświetl pomoc echo "${0##*/} { on | off | save }" exit 0 else case "$1" in on) /usr/bin/VBoxManage startvm $vm ;; off) /usr/bin/VBoxManage controlvm $vm poweroff ;; save) /usr/bin/VBoxManage controlvm $vm savestate ;; *) echo "Nie ma takiego parametru: $@" # uruchomienie bez parametrów wyświetli pomoc $0 ;; esac fi
Możliwości kontroli są znacznie większe, a pełna dokumentacja dostępna jest tu:
rpm -qd VirtualBox-4.1
Uruchomienie systemu z dysku jako maszyny wirtualnej
Jeśli na innym dysku/partycji mamy zainstalowany drugi system, to możemy uruchomić go w okienku jak inne maszyny wirtualne. Należy w tym celu utworzyć specjalny obraz VMDK, który definiuje, gdzie są składowane dane, a później można go używać jak zwykłego obrazu wirtualnego dysku.
Dodaj siebie do grupy disk
su -c "usermod -G disk -a `whoami`"
Rejestrujemy bootowalny dysk (nie partycję!). Jeśli jest to drugi dysk, wówczas mówimy o /dev/sdb a wynikiem będzie plik winxp.vmdk.
VBoxManage internalcommands createrawvmdk -filename /path/to/winxp.vmdk -rawdisk /dev/sdb -register
To samo pod Windows dla dysku /dev/sda, gdzie znajduje się Fedora:
VBoxManage internalcommands createrawvmdk -filename C:\fedora.vmdk -rawdisk \\.\PhysicalDrive0 -register
To prawie wszystko, dyski są widoczne w Plik > Menadżer nośników wirtualnych. Wystarczy dodać nową maszynę i wybrać wygenerowany dysk.
- Uwaga! W przypadku Windows, należy utworzyć nowy profil sprzętowy inaczej będzie ciągle instalował nowe urządzenia raz wirtualne, raz rzeczywiste. Opcja dostępna jest w: Control Panel --> System --> Hardware --> Hardware Profiles
Wszelkie dodatkowe informacje dostępne są w UserManual.pdf, rozdział "Advanced topics">"Using a raw host hard disk from a guest"
