_______            ___   ______     _      __
 /_  __(_)___  _____( _ ) /_  __/____(_)____/ /_______
  / / / / __ \/ ___/ __ \/|/ / / ___/ / ___/ //_/ ___/
 / / / / /_/ (__  ) /_/  </ / / /  / / /__/ ,< (__  )
/_/ /_/ .___/____/\____/\/_/ /_/  /_/\___/_/|_/____/
     /_/

Przenoszenie systemu operacyjnego z maszyny wirtualnej na fizyczny komputer

W zeszłym tygodniu na mój warsztat trafiły dwa laptopy. Jeden zupełnie nowy, zakupiony na potrzeby programu diagnostycznego dla ciężarówek. Drugi zaś nieco już zużyty. Wymieniony program diagnostyczny jest rozpowadzany na zasadzie gotowego środowiska znajdującego się na maszynie wirtualnej VMware. Mój zleceniodawca poprosił mnie abym oczyścił ten stary laptop i generalnie przystosował go do tego aby działa na nim tylko ten program, nic więcej. Starszy laptop to Dell Inspiron 3542 z i3 czwartej generacji, 4GB ramu oraz tradycjnym dyskiem talerzowym o pojemności 500GB. Szału nie ma, na VMware ten laptop jest za słaby. Sprawdziłem, że sama maszyna ma przydzielone 3 GB pamięci operacyjnej, najwyraźniej tyle wymaga.

Do głowy przyszedł mi pomysł: a co jeśli by wyciągnąć obraz dysku z maszyny. Na początku straciłem trochę czasu, na szukanie sprawdzonego narzędzia, które musiało zginąć pod czas uszkodzenia przez mnie LVM-u na serwerze plików w warsztacie. No cóż stwierdziłem, że jak nie mam obrazu, to go zrobie. Niestety po odszukaniu na gryzoniu programu w odpowiedniej wersji, nie byłem wstanie utworzyć obrazu płyty gdyż ADK dla Windows 8.1, nie jest już dostępne. Microsoft radzi użycie ADK dla Windows 10, ten program nie chce jednak tego przyjąć. Utworzone na dysku usb oparte na Linuksie środowisko, nie miało w ogóle funkcji utworzenia kopii zapasowej dysku. Więc zacząłem szukać jakiejś alternatywy, najlepiej open source i do głowy wpadła mi Clonezilla - to dystrybucja GNU/Linux oparta na Debianie służąca tworzeniu kopii zapasowych partycji jak i całych dysków.

Obrazy przeznaczone dla i386 oraz amd64 znajdziemy na stronie projektu. Tu warto zaznaczyć, że najlepiej jest wybrać jako mirror OSDN. Dla celów testowych przedstawie przypadek, przeniesienia Windows 7 Starter 32 bit na netbooka Acer Aspire One. Aby przenieść system z maszyny wirtualnej dobrze jest operować udziałem Samba, ponieważ łatwiej jest utworzyć obraz dysku maszyny wirtualnej na udziale, a Clonezilla jest wstanie utworzyć backup dysku na udziale sieciowym. Tak wygląda maszyna wirtualna, z której będziemy przenosić nasz system:

01-clonezilla-okno-z-maszyn

Tworzenie obrazu

Pracę rozpoczynamy od załadowania do napędu maszyny wirtualnej obrazu płyty z Clonezillą, następnie uruchomiamy ją z niego. Z menu programu rozruchowego wybieramy pierwszą, domyślną opcję.

02-clonezilla-uruchomienie-clonezilla

Po uruchomieniu zostaniemy zapytani o ustawienia lokalizacyjne takiej jak język (Clonezilla jest po polsku).

03-clonezilla-wybor-jezyka

oraz układ klawiatury (pozostawiamy go domyślnie).

04-clonezilla-uklad-klawiatury

Nastepnie uruchamiamy już właściwy proces wybierając opcje Start_Clonezilla.

05-clonezilla-uruchomienie-clonezilla

Program może pracować w wielu trybach, jednak nas będzie interesować wyłącznie praca z obrazami dlatego w następnym oknie wybieramy opcje device-image.

06-clonezilla-praca-z-obrazami

Tak jak już wspomniałem na wstępnie, jako miejsca docelowego na obraz wykorzystamy udział Samba. Tworząc obrazy na fizycznych maszynach możemy użyć pendrive-a lub dysku zewnetrznego, jednak w naszym przypadku potrzeba by nieco więcej zachodu aby przekazać maszynie dysk zewnętrzny, a wydajność mogłaby być niezbyt zadowalająca. Dlatego też teraz wybieramy opcje samba_server.

07-clonezilla-wybranie-miejsca-docelowego-dla-obrazow

Przechodząc przez kolejne okna będziemy musieli podać wszystkie parametry potrzebne do połączenia z udziałem. Jednak najpierw musimy dokonać konfiguracji sieci środowiska Clonezilla. Możemy pobrać ją z serwera DHCP, więc pozostawiamy domyślną opcję. Po tej konfiguracji przyszła pora na podanie parametrów do połączenia się z udziałem.

08-clonezilla-konfiguracja-karty-sieciowej

Podajemy adres ip serwera Samba.

09-clonezilla-wskazujemy-nazwe-lub-ip-serwera-samba

Następnie domenę (jeśli domena nie jest ustawiona na serwerze, wybieramy przycisk "Anuluj").

10-clonezilla-domena-na-serwerze-samba

Teraz podajemy nazwę użytkownika mającego uprawnienia do zapisu na docelowym udziale.

11-clonezilla-uzytkownik-udzialu-na-serwerze

Nazwę udziału (uwaga), podajemy po slashu - jak by to był folder, ale to nazwa udziału.

12-clonezilla-wskazanie-nazwy-udzialu

Po podaniu ostatniej informacji, zostaniemy poproszeni o wybór wersji protokołu SMB. Mój serwer to Samba postawiona na Debian 10, więc pozostawiam tę wartość domyślnie.

13-clonezilla-wybranie-wersji-protokolu

Kolejną jest "tryb bezpieczestwa", jeśli udział nie stoi na jakimś archaiczym Windowsie pozostawiamy auto.

14-clonezilla-wybor-trybu-bezpieczenstwa

Po zatwierdzeniu tej opcji, zostanie nam wyświetlony monit o potrzebie podania hasła do udziału. Polecenie pokazane w oknie jest tylko poglądowe i nie ma nic wspólnego z właściwym poleceniem montującym udział.

15-clonezilla-monit-o-podaniu-hasla

Po wybraniu "OK" zostanie zwrócony znak zachęty proszący o hasło aby podmontować udział. Każdy kto kiedyś montował udział SMB za pomocą wiersza poleceń będzie znać ten symbol.

16-clonezilla-wpisywanie-hasla-do-udzialu

Po prawidłowym podłączeniu udziału, Clonezilla zwróci nam tabelę z informacjami na temat udziału (dostępna przestrzeń dysku, punkt montowania).

17-clonezilla-informacja-zwrotna-o-zamontowanym-udziale

Po zamontowaniu miejsca docelowego w /home/partimag, pora wybrać tryb pracy programu Clonezilla. Do wyboru będziemy mieli tryb Beginner - początkujący lub Expert. Jako iż jest to moja druga w ogóle styczność z tym narzędziem, sam wybrałem tryb dla początkujących.

18-clonezilla-tryb-beginner

Po uruchomieniu programu w trybie dla początkujących, musimy określić sposób tworzenia kopii. Clonezilla może tworzyć kopie całych dysków lub poszczególnych partycji. Dla rozpatrywanego przypadku najlepszym rozwiązaniem jest zapisanie całego dysku. Instalacja najnowszych systemów Windows jest zazwyczaj rozbijana na kilka partycji. Zatem wybieramy opcje savedisk.

19-clonezilla-zapisujemy-lokalny-dysk-jako-obraz

W następnym oknie zostaniemy poproszeni o podanie nazwy dla katalogu, w którym przechowywany będzie obraz. To dobry i jedyny moment, aby go opisać.

20-clonezilla-nazwa-dla-katalogu-obrazu

Po utworzeniu odpowiedniego katalogu, pora na wybór dysku źródłowego. Zaznaczamy dysk z listy, przechodzimy na przycisk "OK" i klikamy Enter.

21-clonezilla-wybieramy-zrodlo-dla-naszego-obrazu

W kolejnym pytaniu program za sugeruje man sprawdzenie i ewenualną naprawę systemu plików. Jednak dla systemów takich jak NTFS jest to nie możliwe, więc wybieramy opcje -sfsck (pominięcie sprawdzenia systemu plików).

22-clonezilla-sprawdzenie-systemow-plikow-przed-stworzenien-obrazu-dla-ntfs-mozna-pominac

Domyślnie Clonezilla chce sprawdzić poprawność zapisanego obrazu. W tym przypadku zostawiam pełną dowolność. Ja, aby nie przedłużać tworzenia obrazu, czy zakończenia procesu pominąłem sprawdzanie obrazu.

23-clonezilla-czy-sprawdzic-zapisany-obraz

Kolejne okno zawiera pytanie o szyforwanie obrazu, tutaj również pozostawiam dowolność, jednak jeśli tworzymy obraz zaszyfrowanego dysku, to sam obraz również dobrze jest zaszyfrować.

24-clonezilla-pytanie-o-szyfrowanie-obrazu

Przed wykonaniem obrazu należy zdefiniować jeszcze czynność wykonywaną po ukończeniu tego procesu. Co ma zrobić Clonezilla. Może przejść do wiersza poleceń, wyłączyć lub zrestartować komputer. Może również przjeść do menu, z którego wybierzemy inną czynność. Jest to przydatne kiedy chcemy utworzyć obrazy większej ilości dysków, ponieważ będziem mogli uruchomić program od pewnego momentu, pomijąjąc część konfiguracji. Tutaj też możemy wybrać dowolnie. Ja wybrałem opcję -choose uruchamiającą owe menu.

25-clonezilla-akcja-do-wykonania-po-stworzeniu-obrazu

Teraz kiedy wszystkie ustawienia zostały przyjęte. Clonezilla wyświetli polecenie, którego możemy użyć korzystając z wiersza poleceń, aby utworzyć obraz ponownie bez przechodzenia przez te wszystkie okna. Klikamy "Enter" w celu kontynuowania działania programu.

26-clonezilla-informacja-o-zapisaniu-uzytego-polecenia

Po przetworzeniu kilku informacji o dysku źródłowym, program wyświetli informacje o tym, że zostanie utworzony obraz źródłowego dysku oraz pytanie czy chcemy kontynuować. Potwierdzamy odpowiadając na pytanie y i klikając "Enter".

27-clonezilla-consent-o-utworzenie-obrazu

W tym momencie rozpoczyna pracę już właściwy program Partclone znany między innymi z projektu FOG (Free Open-source Ghost - ma podobne zastosowanie co Clonezilla, jednak jest bardziej ukierunkowny na wykorzystanie sieciowe oraz masowe. Przydaje się przy reinstalacji systemów operacyjnych w szkolnych salach komputerowych).

28-clonezilla-tworzenie-obrazu

O zakończonym procesie tworzenia obrazu zostaniemy poinformowani. Pozostało nam tak naprawdę tylko kliknąć klawisz "Enter". Po tym nastąpi akcja, którą wcześniej wybraliśmy.

29-clonezilla-informacja-zwrotna-po-utworzeniu-obrazu

Przywracanie obrazu

Początkowe fazy przywracania obrazu, są identyczne jak przy jego tworzeniu. Po zamontowaniu miejsca, w którym składowane są obrazy, podczas wybierania trybu wybieramy restoredisk, przywracając tym samym stan zapisany w obrazie na dysk.

01-clonezilla2-przywracanie-dysku

Program przeszuka teraz magazyn w poszukiwaniu obrazów i zostaną one wyświetlone w menu do wyboru. Naszym zadanie jest wybrać obraz jaki ma zostać przywrócony na tym komputerze.

02-clonezilla2-wybor-pliku-obrazu

Dla wybranego obrazu musimy teraz wskazać docelowy dysk. Środowisko Clonezilli przeszuka komputer pod względem dysków i zostaną one wyświetlone w menu do wyboru.

03-clonezilla2-wybor-dysku-docelowego-dla-obrazu

Teraz program zapyta o to czy sprawdzić obraz przed przywróceniem. Jeśli jest to dla nas ważne, możemy go sprawdzić. Jednak jeśli testujemy Clonezillę. Możemy sobie darować, stracimy tylko czas.

04-clonezilla2-pominiecie-sprawdzania-obrazu

Tak jak i w przypadku tworzenia obrazu, należy wskazać czynność jaka zostanie wykonana po przywróceniu.

05-clonezilla2-akcja-po-zakonczeniu-przywracania-obrazu

Następnie zostanie nam zwrócone polecenie użyte do przywrócenia, mamy szanse je zapisać, aby zaoszczędzić te kilka chwil spędzonych na pytaniach programu przywracając ten obraz ponownie w tych samych okolicznościach.

06-clonezilla2-zapisanie-polecenia-przywracania

Po naciśnięciu klawisza "Enter", narzędzie zapyta nas dwukrotnie, czy chcemy kontynuować przywracanie obrazu, ponieważ ta czynność nadpisze wszelkie dane znajdujące się na dysku.

08-clonezilla2-drugi-z-dwoch-consentow-o-nadpisanie-danych-na-dysku

Po potwierdzeniu, rozpoczyna się już właściwa procedura przywracania realizowana przez program Partclone. Po jej zakończniu zostanie wykonana czynność wybrana przed przywracaniem.

11-clonezilla2-przywracanie-obrazu-na-fizycznym-komputerze

Poniżej znajduje się zdjęcie przedstawiające pulpit laptopa, na którego system został przeniesiony z maszyny wirtualnej. Powyższe zdjęcie również pochodzi z procedury przywracania systemu na tym sprzęcie. Jak widać system się uruchomił, pozostało tylko zainstalować sterowniki i można działać. Przenoszenie powiodło się zarówno w moim jak i testowym przypadku. Póki co czekam na feedback czy program działa.

12-clonezilla2-gotowy-pulpit-na-fizycznym-komputerze

Część rysunków w podczas przywracania to zrzuty ekranu z maszyny wirtualnej, dlatego iż były prostsze do zarejestrowania niż robienie zdjęć błyszczącej matrycy.

~xf0r3m