Blog (57)
Komentarze (10k)
Recenzje (1)
@BerionWłasna partycja recovery

Własna partycja recovery

10.07.2015 16:08, aktualizacja: 13.07.2015 16:49

Bardzo często kupując komputer z preinstalowanym systemem, producent dorzuca do niego mnóstwo zbędnego oprogramowania, a co gorsza również do tzw. recovery. Jakby tego było mało, użytkownik nie ma kontroli nad tym co się w nich znajduje, nie są skompresowane (lub słabo) i zwykle rozbite na bardzo wiele partycji.

Poniższy poradnik kieruję do zaawansowanych użytkowników, którzy wolą to zrobić po swojemu, wydajniej i czyściej, a przede wszystkim mając pełną kontrolę nad zawartością takiej partycji. Ze względu na edycję tablicy partycji i tablicy systemu plików, zalecam wykonać kopię ważnych danych, ponieważ „gdyby coś poszło nie tak” użytkownik może bezpowrotnie wszystko stracić.

Zanim jednak przystąpisz do holokaustu rozwiązań producenta, powinieneś:

[list] [item]Mieć świadomość, że wszystko co napisałem zadziała na płycie głównej z BIOSem i tablicy partycji MBR na docelowym nośniku. Wyłącznie na desktopach i laptopach na x86/x64. Z GPT zapewne też, ale nie wiem jak zachowa się Windows na UEFI, więc asekuracyjnie podałem przetestowaną konfigurację.[/item] [item]Wiedzieć jak spacyfikować Secure Boot, którego bezpieczeństwo jest mitologią (moja prywatna opinia, niepoparta dowodami), a który niepotrzebnie utrudnia bootowanie innych OS‑ów. Między innymi dlatego odpadają tablety.[/item] [item]Wiedzieć jak odczytać klucz do Windows jeśli nie posiadasz fizycznego nośnika (instalacyjnego, nie z recovery). Jeśli na obudowie komputera nie ma przyklejonej nalepki z kodem aktywacyjnym, będziesz musiał posłużyć się programami do odczytania ich z systemu operacyjnego lub SLIC (RWEverything ), ewentualnie do skopiowania certyfikatu (ABR /ATM ). Czasami klucze OEM są wspólne dla wszystkich preinstalowanych systemów z np. danej serii laptopa i mogą nie przejść autentykacji![/item] [item]Pobrać czysty obraz płyty systemu operacyjnego pasujący do twojego klucza. Sformatować cały dysk twardy (wystarczy tzw. szybkie formatowanie) i stworzyć co najmniej dwie partycje: na Windows i Linuksowy bootloader. Jeśli pierwsza, odpowiednio duża partycja będzie w NTFS, instalator Windowsa nie wymusi na użytkowniku wydzielenia kolejnej, w przeciwnym razie system z Redmond zagospodaruje dla siebie dwie pierwsze i potrzebna będzie trzecia. Na koniec oczywiście zainstalować Windows razem ze sterownikami i skonfigurować go pod siebie.

Jeśli nie masz takiej możliwości (np. Windows 8 with Bing) to przynajmniej oczyść go z crapware i zbędnych plików tymczasowych np. za pomocą CCleaner (koniecznie z dodatkowymi filtrami ). Zabootuj np. GParted i zmniejsz rozmiar istniejących jeśli ci nie odpowiada (akurat to, pokrywa pierwsza część poradnika).[/item] [item]Wiedzieć jak pobrać, nagrać i uruchomić distro linuksowe LiveCD/DVD/USB.[/item][/list]

Podsumowując, powinieneś przygotować w miarę możliwości czystą instalację aktywowanego systemu i co najmniej jedną dodatkową partycję na EXT4 dla zasobów bootloadera, obrazu ISO i przyszłego recovery.

Przykład:


partycja 1	NTFS	100MB	bootloader Windowsa (w Win8 i nowszych, będzie większa)
partycja 2	NTFS	~25GB	Windows (dla XP co najmniej o połowę mniejsza)
partycja 3	EXT4	~10GB+	m.in. na recovery, dlatego EXT4, a nie np. chudszy EXT2

Partycjonowanie dysku twardego:

Jeśli masz już wszystko przygotowane uruchom np. Linux Mint 17.1 Rebecca. Oczywiście dystrybucja jakiej użyjesz może być niemal dowolna, jednak poradnik oparłem właśnie na niej, a więc wszystkie czynności i niuanse dotyczą tego konkretnego distro w tej konkretnej wersji.

1. Jeśli jeszcze nie utworzyłeś partycji na EXT4, zrób to teraz przechodząc do menu „Administration” i uruchom program GParted.

559203

2. Jeśli brakuje ci miejsca na nową partycję, zmniejsz istniejącą, klikając na niej prawym przyciskiem myszy. Z menu wybierz opcję „Resize/Move” i w „New size (MiB)” podaj docelowy rozmiar.

126497
126498

W podobny sposób tworzy się nowe partycje z dotychczas nieprzydzielonego, wolnego miejsca, oznaczonego jako „unallocated”.

559209

Koniecznie nadaj partycji etykietę („Label”) co ułatwi potem odnoszenie się do niej.

126500
126501

Pamiętaj aby potwierdzić modyfikacje klikając w ostatnią ikonkę ze strzałką, w przeciwnym razie GParted nie dokona żadnych zmian.

Instalacja alternatywnego Boot Loadera:

1. Uruchom manager plików i w panelu po lewej kliknij na partycję, którą przed chwilą utworzyłeś. Spowoduje to jej natychmiastowe zamontowanie. Miłośnicy linii poleceń pewnie zarzucą mi, że nie poleciłem zrobić tego w terminalu, ale uznałem że tak będzie prościej ludziom, którzy z Linuksem rzadko mają kontakt lub wręcz jest to ich pierwszy raz. I tej zasady będę się konsekwentnie trzymał gdzie tylko jest to możliwe.

559217

2. Pingwin nie byłby jednak pingwinem gdyby pewnych rzeczy - no cóż - nie dało się wyklikać. ;) A więc otwórz Terminal i żmudnie wklepuj w nim:

sudo su

Dzięki temu od teraz wszystkie czynności wykonywane będą jako administrator. Oszczędzi ci to dodawania do każdej komendy sudo.

add-apt-repository ppa:n-muench/burg

Dodajesz w ten sposób repozytorium z oprogramowaniem. Kiedy zostaniesz zapytany o potwierdzenie, wciśnij Enter.

apt-get update

Zaktualizujesz w ten sposób listę oprogramowania znajdującą się w repozytoriach w systemie operacyjnym.

apt-get install burg

Potwierdź instalację wpisując „y”. Zainstaluje się BURG (ale jeszcze nie na dysku twardym), czyli boot loader w którym będziesz mógł wybrać jaki system chcesz uruchomić. Wszystkie trzy pytania zignoruj wciskając Esc.

3. Trzeba teraz podpiąć część systemu do wcześniej utworzonej partycji na dysku twardym, po to aby Linux myślał że to na nim pracuje, a nie z płyty/pendrive. Wpisz więc:

for wynalazek in bin dev etc lib lib64 opt proc sbin sys tmp usr var; do mkdir /media/mint/<etykieta>/$ wynalazek && mount --bind /$wynalazek /media/mint/<etykieta>/$wynalazek; done

Oczywiście w miejscu <etykieta> użyj etykiety zamontowanej partycji. Jeśli używasz wersji 32 bitowej, nie dopisuj lib64. Jeśli innej dystrybucji linuksowej niż tej którą poleciłem, wpisz wszystkie nazwy folderów w katalogu głównym z wyjątkiem boot.

4. Jeśli nie wystąpił żaden błąd, możesz się już przepiąć:

chroot /media/mint/<etykieta>

Również nie powinien pojawić się żaden błąd.

5. Na chwilę zostaw terminal i wróć do managera plików. Przejdź do "/etc/default/" i klikając na nim prawym przyciskiem myszy, wybierz opcję „Open as Root”. W ten sposób otworzy się nowe okno managera plików Nemo, ale z prawami administratora (co symbolizuje czerwona wstążka „Elevated Privileges”), dzięki czemu będziesz mógł edytować zawartość wszystkich katalogów i plików w systemie.

559234

6. Dwukrotnie kliknij na plik "burg" dzięki czemu zostanie otworzony w edytorze tekstowym gedit.

559236

7. Zwróć uwagę na linijkę:

GRUB_CMD_LINE_LINUX_DEFAULT="quiet splash"

Jeśli nie chcesz aby zawsze po włączeniu komputera pojawiało się menu GRUB2/BURG, pozostaw bez zmian. W razie potrzeby wywołuje się je poprzez przytrzymanie przycisku Shift, inaczej od razu uruchomi się pierwszy w kolejności wpis, czyli w twoim przypadku Windows. Jeśli chcesz aby menu było zawsze widoczne, usuń quiet.

Z kolei parametr GRUB_TIMEOUT= odpowiada za ilość sekund po których automatycznie uruchomi się pierwszy w kolejności system operacyjny wpisany na listę. Domyślna wartość to 5.

559241

8. Wróć teraz do Terminalu i wpisz:

burg-install /dev/sda

Nie powinien pojawić się żaden błąd.

update-burg

Jedyny błąd jaki może się pojawić to „ERROR: mkdir /var/lock/dmraid”, który możesz zignorować. BURG powinien także zakomunikować o znalezieniu bootloadera Windows na sda1.

9. Odepnij się z chroot wpisując exit.

10. Wypadałoby teraz odmontować recovery i przy okazji dev. Niestety kolejny raz trzeba to zrobić w Terminalu - w sposób siłowy, ponieważ z poziomu np. managera plików, Mint będzie twierdził że partycja nadal jest używana przez inny program. W tym celu wpisz:

umount -l /media/mint/<etykieta>/dev

a następnie:

umount -l /media/mint/<etykieta>

11. Wpisz kolejno po sobie dwa razy exit, aby przejść na prawa użytkownika i zamknąć Terminal. Nie będzie już potrzebny.

559253

BURG został zainstalowany w MBR dysku twardego jak i jego moduły, skrypty, pliki konfiguracyjne i skórki na partycji recovery w folderze "boot". Z niewiadomych mi przyczyn niestety nie wszystkie i te będziesz musiał skopiować ręcznie, na dodatek edytując plik konfiguracyjny "/boot/burg.cfg", który nie jest kompletny.

12. Ponownie zamontuj partycję recovery (wystarczy w nią kliknąć w Nemo na prawach użytkownika, wówczas pojawi się także zamontowana w Nemo na prawach administratora) i przejdź do "/boot/burg/", skąd skopiuj foldery "fonts" i "themes" do "/media/mint/recovery/boot/burg/".

126507
126508

13. Możesz usunąć zbędne katalogi z themes, za wyjątkiem wybranej skórki, "burg", "conf.d" i "icons".

559260

Domyślne skórki są moim zdaniem mało atrakcyjne (może ewentualnie poza "coffee"). Polecam więc pobrać alternatywne np. z deviantart.

Wszystkie rozpakuj i wrzuć do folderu "themes".

126510
126511
126512
126513

14. Otwórz plik "/media/mint/<etykieta>/boot/burg/burg.cfg".

559270

15. Odszukaj parametr set_theme_name= i po znaku równości wpisz nazwę folderu wybranej skórki.

559272

16. Odszukaj if test -f i zastąp cały warunek poniższą litanią:

if test -f ${prefix}/themes/${theme_name}/theme ; then
  insmod coreui
  menu_region.text
  load_string '+theme_menu { -coffee { command="set theme_name=Lightness" }}'
  load_config ${prefix}/themes/conf.d/10_hotkey
  load_config ${prefix}/themes/${theme_name}/theme ${prefix}/themes/custom/theme_${theme_name}
  insmod vbe
  insmod png
  insmod jpeg
  set gfxfont="Unifont Regular 16"
  menu_region.gfx
  vmenu resolution_menu
  controller.ext
fi
559275

Dodaj też linijki dla wszystkich skórek jakie posiadasz, np:

load_string '+theme_menu { -Darkness { command="set theme_name=Darkness" }}'
load_string '+theme_menu { -Darkness_Blue { command="set theme_name=Darkness_Blue" }}'
load_string '+theme_menu { -El_Castillo { command="set theme_name=El_Castillo" }}'
load_string '+theme_menu { -Lightness { command="set theme_name=Lightness" }}'
load_string '+theme_menu { -Metro { command="set theme_name=Metro" }}'

17. Na samym końcu pliku dodaj wpis prowadzący do Clonezilli, czyli:

menuentry "Clonezilla v2.4.2-10 (64bit)" {
	set isofile="/iso/clonezilla.iso"
	loopback loop $isofile
	linux (loop)/live/vmlinuz boot=live config components union=overlay username=user noswap edd=on nomodeset ip=frommedia toram=filesystem.squashfs findiso=$isofile
	initrd (loop)/live/initrd.img
}
559280

i zapisz zmiany.

Może być ich oczywiście więcej, np. dla Parted Magic (niestety nie mam nowszej wersji, być może nic się nie zmieniło w aktualnych):

menuentry "Parted Magic (2014-01-04)" {
	# insmod part_gpt
	set isofile="/iso/partedmagic_2014.iso"
	loopback loop (hd0,3)$isofile
	linux (loop)/pmagic/bzImage iso_filename=$isofile edd=off load_ramdisk=1 prompt_ramdisk=0 ro vga=normal loglevel=9 max_loop=256 vmalloc=512MiB
	initrd (loop)/pmagic/initrd.img
}

dla Mint :

menuentry "Mint v17.1 (64bit)" {
	set isofile="/iso/linuxmint-17.1-cinnamon-nocodecs-64bit.iso"
	loopback loop (hd0,3)$isofile
	linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject toram
	initrd (loop)/casper/initrd.lz
}

dla Kubuntu :

menuentry "Kubuntu v15.04 (64bit)" {
        set isofile="/iso/kubuntu-15.04-desktop-amd64.iso"
        loopback loop (hd0,3)$isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject toram
        initrd (loop)/casper/initrd.lz
}

itp.

Można też wyprowadzić to menu na zewnątrz, tym samym tworząc podmenu, np. przez:

menuentry "Recovery"{
	configfile (hd0,3)/boot/recovery.cfg
}

Dzięki tej modyfikacji, w menu boot loadera pojawi się dodatkowa pozycja: Recovery (oczywiście jej nazwa może być dowolna, np. Przywracanie systemu), skąd wczytywane będzie kolejne menu z pliku "recovery.cfg" (które trzeba uzupełnić w ten sam sposób samymi menuentry). Plik ten powinien znajdować się na drugiej partycji pierwszego dysku twardego (stąd hd0,2) w folderze "boot". Jeśli Windows podczas instalacji stworzył dodatkową, ukrytą partycję z samym tylko swoim boot loaderem, wówczas będzie to trzecia partycja (czyli hd0,3).

Czy może to być partycja z Windows? Może być, trzeba jednak dodać insmod ntfs. Tylko czy to ma sens? Po co umieszczać plik konfiguracyjny menu na partycji, której kopię chcesz wykonać, a w przyszłości przywracać?

Ot, taka ciekawostka.

18. Możesz już skasować wszystkie foldery z partycji recovery (oczywiście z wyjątkiem "boot").

559295

19. Pobierz obraz płyty *.iso z Clonezillą i skopiuj na partycję recovery do folderu iso.

Zwróć uwagę dla jakiej architektury jest przeznaczony obraz: i586, i686 czy amd64. Jeśli posiadasz 64 bitowy procesor, wybierz amd64. Jeśli 32 bitowy, ale wielordzeniowy - i686, jeśli jednordzeniowy -  i586.

Pamiętaj aby nazwa pliku była zgodna z tym co wpisałeś w pliku "burg.cfg", w stałej isofile. Na poniższym przykładzie, dla uproszczenia nazwałem po prostu "clonezilla.iso".

559299

13. Odmontuj recovery po prostu klikając na ikonkę ze strzałką w panelu po lewej i wyłącz komputer. Po jego ponownym włączeniu powinno pojawić się menu nowego boot loadera skąd będziesz mógł wybrać czy chcesz uruchomić Windows czy np. Clonezillę. Jeśli w pliku "burg" skasowałeś quiet, po POST przytrzymaj na klawiaturze Shift aby owe menu wyświetlić.

Poniżej przykład zmodyfikowanej skórki Lightness.

559302

Tworzenie obrazu partycji:

Clonezilla - ta niepozorna, miniaturowa dystrybucja Linuksowa o siermiężnym interfejsie jest jednym z najlepszych zbiorów narzędzi do wykonywania i przywracania obrazów partycji lub całych nośników. Mimo iż cały czas pracuje się w trybie tekstowym, autorzy postarali się o bogate w opisy menu, które krok po kroku prowadzą nieszczęś... użytkownika, za rękę. ;)

Oczywiście ponownie złośliwi mogliby powiedzieć, że partclone i pozostałe programy można by pobrać z repozytoriów choćby Minta, na którym jeszcze niedawno instalowałeś boot loader, a więc ponownie można by skrócić cały poradnik o połowę - niestety ponownie przepisując trylogię Sienkiewicza w terminalu...

Po uruchomieniu Clonezilli przywita ciebie takie o to menu:

559307

1. Najedź strzałkami na „Don't touch keymap” i wciśnij Enter. W kolejnym menu w taki sam sposób wybierz „Start_Clonezilla”.

2. Na pytanie o tryb pracy wybierz „device-image”, ponieważ chcesz zapisać obraz partycji, a nie sklonować urządzenie.

3. Zdecyduj o miejscu docelowym na obraz, czyli na czym i co zamontować jako /home. A więc „local_dev” i drugą (sda2) bądź trzecią partycję (sda3) przeznaczoną na recovery. Kolejne urządzenia dostaną kolejne litery alfabetu (np. drugi dysk twardy sdb<numer partycji>, karta pamięci, pendrive itd.)

559311

Jako katalog na partycji najlepiej wybrać główny, czyli „Top_directory_in_the_local_device”.

4. Z następnych dwóch menu wybierz „Expert”, ponieważ jesteśmy ekspertami ;) i „saveparts”, ponieważ chcesz zapisać obrazy z poszczególnych partycji, a nie całego dysku twardego.

5. Wpisz nazwę folderu, w którym zapisane zostaną pliki obrazu. Nie używaj spacji, znaków diakrytycznych itp. Najlepiej ogranicz się do samych liter, cyfr, myślnika i jeśli potrzebujesz przerw to podkreślnika.

559315

6. Za pomocą spacji wybierz, które partycje mają wejść w skład obrazu. Jeśli posiadasz osobną partycję z bootloaderem dla Windows, zaznacz obie.

559317

7. W następnym menu ustaw najwyższy priorytet dla „partclone”, czyli „-q2”.

Dlaczego nie „ntfsclone”? Ponieważ nie ma takiej potrzeby skoro „partclone” obsługuje NTFS i w przeciwieństwie do „ntfsclone”, umożliwia weryfikację wpisanych do obrazu danych porównując je ze źródłem.

559320

8. Za pomocą spacji, ustaw dodatkowe, zaawansowane parametry, ;) czyli:

-rm-win-swap-hib

Dzięki czemu plik wymiany i zrzut pamięci użyty do hibernacji nie wejdzie w skład kopii. Jeśli opcje w Windows, odpowiedzialne za korzystanie z nich są włączone to w przypadku braku tych dwóch plików i tak zostaną zapisane nowe. Oszczędzasz w ten sposób (zależnie od systemu, ilości posiadanego RAM i limitów) od kilku do kilkunastu GB nadmiarowych, zbędnych danych.

-ntfs-ok

Dlatego że nie ma sensu sprawdzać integralności systemu plików NTFS, bad sektorów itp. Wszelkie problemy z odczytem i logiką dysku i tak poskutkują nieprzejściem weryfikacji. Chyba że użyłeś ntfsclone zamiast partclone, wówczas nie zaznaczaj tego parametru.

-gm

Parametr odpowiedzialny za wyliczanie sum kontrolnych MD5 dla wszystkich plików składających się na obraz partycji (nie plików w obrazie). Jeśli zaznaczysz, ułatwi ci to sprawdzanie integralności obrazu. Można też lub zamiast MD5, użyć SHA‑1, ale wydłuży to cały proces i w mojej ocenie nie ma to większego sensu.

559328

9. Jako algorytm kompresji wybierz XZ, który ze wszystkich da prawdopodobnie najmniejszy plik wynikowy, ale też najdłużej potrwa tworzenie obrazu. Jeśli nie zależy ci tak bardzo na kompresji, wybierz GZIP lub LZO. Jeśli w ogóle nie zależy ci na kompresji wybierz „No compression”.

559330

10. Jeśli masz zamiar później zrobić kopię obrazu na zewnętrzny nośnik z systemem plików FAT32, ustaw rozmiar na 4096 (domyślny). Jeśli na płytę i przy tym nie chcesz użyć systemu plików UDF, to 2048. A jeśli na jakikolwiek inny nośnik z systemem plików obsługującym pliki większe niż 4GB, dopisz po kilka zer, aby Clonezilla go nie podzieliła.

559332

11. Przy pytaniu czy użytkownik chce aby przed wykonaniem obrazu został sprawdzony i ewentualnie naprawiony system plików, wybierz „Skip checking/repairing source file system”.

12. Przy pytaniu czy po utworzeniu obrazu, sprawdzić jego poprawność, wybierz „Yes, check saved image”.

13. Przy pytaniu czy chcesz zaszyfrować utworzony obraz – wybierz wedle uznania. Jeśli nie przechowujesz na partycji z systemem operacyjnym żadnych prywatnych danych lub jeśli nie jest to np. laptop który można ukraść, zgubić etc. wybierz opcję „Not to encrypt the image”.

14. Ostatnie już pytanie dotyczy co zrobić po ukończeniu tworzenia obrazu partycji. Jeśli wybierzesz wyłączenie lub zresetowanie komputera, nie dowiesz się jak przebiegał proces. Dlatego zalecam opcję „Do nothing when the clone finishes”.

15. Rozpocznie się teraz kopiowanie danych z wybranych partycji do obrazu. Na wszystkie stawiane użytkownikowi pytania odpowiadaj twierdząco, czyli wpisując „y” i potwierdzając Enterem.

126529
126530
559341

16. Po wciśnięciu Enter pojawi się menu z którego wybierz „Poweroff”.

559343

Przywracanie obrazu partycji:

Aby przywrócić dane z obrazu partycji, również uruchom Clonezillę.

1. Podobnie jak w pierwszych punktach części opisującej tworzenie obrazu, tak i tym razem wybierz opcję „device-image”, „local_dev” i partycję z recovery na której zapisałeś obraz.

2. Z następnych trzech menu wybierz: „Top_directory_in_the_local_device”, „Beginner” (ponieważ wciąż jesteśmy ekspertami, ale tym razem domyślne opcje są wystarczające ;)) i „restoreparts”.

559348

3. Wybierz obraz do przywrócenia. Jeśli w przyszłości zrobisz ich więcej, na liście będzie kilka do wyboru.

4. Następnie za pomocą Spacji wybierz partycje, które chcesz przywrócić. Jeśli wcześniej wykonałeś obraz, który zawiera partycję z Windowsem i jego boot loaderem zaznacz obie.

5. W ostatnim menu wybierz partycje, które chcesz aby zostały nadpisane tymi z obrazu.

6. Rozpocznie się teraz proces przywracania partycji z obrazu. Na wszystkie zadane pytania odpowiedź twierdząco wpisując „y” i potwierdzając Enterem.

126534
126535
559356

7. Po wciśnięciu Enter pojawi się menu z którego wybierz „Poweroff”.

559358

Przemysław "Berion" Boruc Wszelkie prawa zastrzeżone, modyfikowanie i/lub kopiowanie zabronione.

Wybrane dla Ciebie
Komentarze (34)