Dnia Thu, 28 Jul 2016 15:00:49 +0200, ąćęłńóśźż napisał(a):
> A jak podejść do zagadnienia, żeby nie zaszkodzić?
Aby nie zaszkodzić, należy utworzyć kopię zapasową.
Najlepiej całego dysku (włącznie z MBR/GPT).
Najlepiej bajt po bajcie.
Przywrócenie tego w razie niepowodzenia to banał.
Jak to zrobić – poradników są w internecie terabajty tekstu. W skrócie
na przykład ja uparłem się ostatnio pod linuksem na:
dcfldd if=/dev/sdX|gzip -9|split -b 2G - obraz.gz. && sync
** dcfldd jest lepsze od dd bo podaje postęp.
** za /dev/sdX oczywiście podajemy nasz dysk do skopiowania, zamiast X
powinna być mała litera. Jaka – należy wykminić przed operacją, w
programie partycjonujÄ…cym.
** gzip – chyba wiadomo.
** split dzieli pliki (tutaj po 2 GB), w celu łatwego tworzenia kopii
również na nośnikach z FAT32.
** Dysk kopiowany powinien być niezamontowany, dysk z kopią oczywiście
– zamontowany. Polecenie najłatwiej odpalić będąc linią komend w
folderze, w którym ma powstać kopia.
Jeśli nie dysponujemy dyskiem odpowiednio dużym na kopię, to:
a) jeśli systemy plików są sprawne i jest sporo wolnego miejsca, można
je nadpisać zerami, by gzip łatwo te fragmenty skompresował do niemal
zera. W zamontowanej partycji:
dcfldd if=/dev/zero|split -b 2G - zero. && sync && rm zero.* && sync
b) jeśli nie ma dużo pustego miejsca lub też systemy plików
na partycjach są niesprawne logicznie, możemy podzielić sobie
pracę na kilka etapów, ustalając odpowiednio parametr count= w
poleceniu dcfldd, w kolejnych częściach również parametr skip= (przy
przywracaniu z kopii będzie to seek=). Uprzedzam, że tego nie
przećwiczyłem. :)
Przywrócenie kopii na dysk komendą:
cat obraz.*|gzip -dc|dcfldd of=/dev/sdX && sync
Wszystkie ** przypisy z akapitu o tworzeniu kopii obowiązują również
tu. Wszędzie zamiast dcfldd można użyć standardowego dd. Uwaga przy
ręcznym dzieleniu plików: dla count/seek/skip dcfldd używa bloku chyba
32 KB, zaś dd 512 B. W obu programach można to zmienić parametrem
bs=(ilość bajtów).
Powodzenia. :)
--
Pozdrawiam,
Marsjanin
|