Wirtualizacja systemu z dysku fizycznego
08.01.2012 01:03
Witam wszystkich użytkowników dobreprogramy.pl. Od dłuższego czasu noszę się z zamiarem prowadzenia bloga na tym portalu. Niestety pewnie jak wielu cierpię na chroniczny brak czasu. Nadszedł jednak moment refleksji i czas na zamianę planów w czyn. Dodatkowym impulsem nad przyśpieszeniem prac nad blogiem był ostatni wpis kraju na temat migracji z linux na windows w którym to poruszył temat VirtualBox-a.
A więc do rzeczy. O czym jest ten wpis? Poruszam w nim zagadnienie wirtualizacji systemu linux zainstalowanego na fizycznym dysku, na fizycznej partycji obok systemu Windows 7 oraz uruchomienie go jako gość w innym systemie.
Cel oraz zarys działania
Pewnie wiele osób na tym portalu ma obok siebie zainstalowane różne systemu operacyjne. W tym ja. Czasami zachodzi potrzeba szybkiego przełączenia się lub dostania do drugiego systemu. Niestety standardowo bez przelogowania nie ma takiej możliwości. A co gdyby dało się wirtualizować system do którego możemy wejść podczas normalnego botowania tak, aby wchodząc do innego systemu operacyjnego (w moim wypadku Windows 7) mogliśmy uruchomić go w maszynie wirtualnej?
Rzecz genialna i jak najbardziej możliwa. Wyjątek stanowi tu próba uruchomienia systemu z rodziny Windows. A dokładniej chodzi o sprawdzanie legalności systemu Windows. System ten sprawdza legalność na podstawie podzespołów komputera. Jednak maszyna wirtualna jest identyfikowana z oczywistych względów jako inny sprzęt niż fizyczny komputer. Powoduje to komunikaty o nielegalności systemu.
Jak zacząć?
Pierwszą elementarną sprawą jest posiadanie przynajmniej dwóch różnych systemów operacyjnych na dysku lub dyskach podłączonych do komputera. W tym wypadku napiszę przykład dla systemu Windows 7 i Linux Mint jako gościa. Nic nie stoi na przeszkodzie aby to była inna konfiguracja systemów. Kolejnym niezbędnym elementem jest posiadanie zainstalowanego oprogramowania VirtualBox firmy Oracle (dostępne w dziale download dobrychprogramów). Ja obecnie pracuję na najnowszej wersji tj. 4.1.8, jeśli masz starszą wersję najlepsza będzie aktualizacja do najnowszej wersji .
Tworzenie „dysku” maszyny wirtualnej
Jak już wiecie, systemem bazowym jest w moim wypadku Windows 7 jednak w Windows Vista jak i XP sprawa wygląda prawie identycznie. Najpierw należy stworzyć specjalny „dysk” który będzie się podłączało do VirtualBox’a. Czym jest ten dysk? Jest to w zasadzie plik który informuje VirtualBox, że ma korzystać z dysku w trybie bezpośredniego odczytu tzn. RAW. Co to daje? Dzięki temu w maszynie wirtualnej po uruchomieniu widzimy dokładnie te same partycje jak w systemie bazowym. Mamy dzięki temu dostęp do zapisanego oprogramowania rozruchowego na dysku.
Krok I
Jeżeli posiadamy więcej niż jeden dysk z którego chcemy uruchamiać maszynę wirtualną należy sprawdzić jaki identyfikator posiada interesujący nas dysk. Najprościej jest to zrobić klikając ppm w Mój komputer->Zarządzaj a następnie przejść do Zarządzanie dyskami. Teraz sprawdzamy jaki numer ma nasz dysk np.
Przykładowo jak w moim przypadku (zaznaczone kolorem żółtym na screenie) jest to dysk o numerze 0.
Krok II
Należy uruchomić konsolę systemu (cmd.exe) w trybie administratora. W oknie konsoli wpisujemy:
VBoxManage internalcommands createrawvmdk -filename [ścieżka do wirtualnego dysku który chcemy utworzyć]\[nazwa dysku].vmdk -rawdisk \\ .\PhysicalDrive[numer dysku z którego chcemy botować]
W moim wypadku komenda ta wygląda tak:
VBoxManage internalcommands createrawvmdk -filename c:\Users\patryk\.Virtualbox\VDI\mint.vmdk -rawdisk \\ .\PhysicalDrive0
Istnieje również możliwość wybrania tylko jednej lub kilku partycji a nie całego dysku. Dodajemy w tedy na końcu polecenia numery partycji (np. -partitions 1,3):
VBoxManage internalcommands createrawvmdk -filename [ścieżka do wirtualnego dysku który chcemy utworzyć]\[nazwa dysku].vmdk -rawdisk \\ .\PhysicalDrive[numer dysku z którego chcemy botować] -partitions [partycje]
Stworzony w ten sposób plik mint.vmdk ma rozmiar zaledwie 650B w moim wypadku. A więc tyle co nic :‑D Jeśli po drodze nie nastąpiły błędy to połowa sukcesu za nami.
Tworzenie maszyny wirtualnej
Jeśli poprzednie etapy mamy za sobą czas stworzyć maszynę wirtualną. Przechodzimy do VirtualBox (użytkownicy Windows 7 i Windows Vista muszą uruchomić go w trybie administratora!) klikamy opcję Nowa.
W oknie które się pojawi wpisujemy oraz wybieramy nazwę i rodzaj systemu który chcemy wirtualizować.
Następnie wybieramy ile pamięci chcemy przydzielić tej maszynie z zasobów systemu bazowego.
Kolejny krok- wybór dysku. W tym oknie zostawiamy odptaszoną opcję Startowy dysk twardy oraz zaznaczamy użyj istniejącego dysku twardego.
Za pomocą ikonki symbolizującej folder przechodzimy i wybieramy z dysku stworzony wcześniej w konsoli plik *.vmdk do którego ścieżkę w poleceniu konsoli wpisaliśmy. Wybieramy go i zatwierdzamy. Przechodzimy dalej następnie klikamy Create. Maszyna gotowa.
Dla wygody warto kliknąć ppm na naszą maszynę wirtualną znajdującą się na liście w programie oraz utworzenie skrótu na pulpit. W szczególności polecam to zrobić osobą posiadającym Windows 7 oraz Windows Vista oraz kliknięcie w utworzoną ikonę ppm przejście do właściwości ->zgodność oraz odptaszyć Uruchom jako administrator. Jeśli tego nie zrobimy nasza maszyna się nie uruchomi. Wymaga tego dostęp bezpośredni do dysku.
Ufff! Najtrudniejsze za nami. Czas na łakocie
Jeśli dotarłeś do tego etapu to prawdopodobnie odniosłeś sukces. Najwyższy czas uruchomić maszynę wirtualną i odpalić wybrany przez nas system. Jeśli masz problem i system się nie uruchamia lub po uruchomieniu nie odpala się na maszynie fizycznej sprawdź konfiguracje X‑sów. W moim przypadku lekarstwem okazało się usunięcie ich konfiguracji.
Efekt końcowy
Wybór systemu:
System operacyjny:
P.S Nie uruchamiajcie w maszynie wirtualnej ponownie systemu bazowego chyba, że chcecie zamordować system :‑D.