Najwięcej informacji opisano w poprzednich wstawionych przepisach, ale nie wszystkie zostały opisane.
W systemie Linux możesz sklonować dysk twardy lub partycję za pomocą polecenia dd. Uwaga, gdy popełnisz błąd, stracisz wszystkie swoje dane.
Po pierwsze, miejsce docelowe nie powinno być używane, po drugie źródło nie powinno być używane lub ponownie zamontowane w trybie tylko do odczytu. W przeciwnym razie kopia zostanie uszkodzona. Jeśli ponowny montaż jest niemożliwy, należy ustawić dysk rozruchowy (hdd / ssd / pendrive) na dowolną dystrybucję linux na żywo. Prever knoppix, ale to jest twój wybór. Jeśli jest to możliwe, możesz uruchomić system lub zmienić poziom systemu na 1, dla trybu pojedynczego użytkownika, lub możesz bezpośrednio zrestartować system w trybie pojedynczego użytkownika, jest to zależne od dystrybucji. Jeśli sklonujesz tylko jedną partycję, ta partycja powinna zostać odmontowana lub ponownie zamontowana w RO:
umount /mountpoint_or_device
lub
remount -o,ro /mountpoint_or_device
Jeśli chcesz sklonować cały dysk twardy, musisz podłączyć lub ponownie zamontować wszystkie partycje.
Musisz zidentyfikować urządzenie źródłowe i docelowe. proszę spojrzeć na dmesg, tutaj są przechowywane wszystkie potrzebne informacje o urządzeniu, z dostawcą itp. Alternatywnie identyfikacja może być oparta na wielkości urządzenia, jeśli jest inna. Następnie miejsce docelowe powinno być takie samo lub większe niż źródło. musisz obliczyć źródło, na przykład: fdisk -l / dev / sda oprócz geometrii partycji (może istnieć GPT), pobierzesz: 1. całkowity rozmiar dysku wigh GB i bajty 2. geometria historyczna i całkowity numer sektora, bardzo ważne informacje 3. rozmiar bloku w bajtach, zwykle jest to 512.
na przykład:
# fdisk -l /dev/sda
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f1d1e
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 40136703 20067328 83 Linux
/dev/sda2 40138750 41940991 901121 5 Extended
/dev/sda5 40138752 41940991 901120 82 Linux swap / Solaris
następnie spróbujmy większy niż 512 dzielnik, mamy 41943040 sektorów fizycznych:
41943040/256 = 163840, bardzo dobrze, możemy wykonać zbiorczą kopię 256 sektorów. możemy więcej? spróbujmy: 41943040/1024 = 40960, myślę, że to wystarczy, wybierzemy ten. Policzmy rozmiar grupy sektorów: 512 (rozmiar sektora) * 1024 = 524288 bajtów eq 512K. Następnie możemy użyć parametru bs = 512 K lub mniej, ale podzielmy to przez 2 ^ x. Jest to dość praktyczne w przypadku nowoczesnych dysków twardych z dużą pamięcią podręczną. w przypadku starszych dysków ze znacznie mniejszą pamięcią podręczną wystarczy wartość 32 KB lub mniej.
Następnie po przygotowaniu możemy wykonać kopię: dd if = / dev / source_devide of = / dev / destination_device bs = 32K i kopiowanie zostanie wykonane. Zwróć uwagę, każdy błąd zastąpi importowane dane. W miejscu docelowym wszystko zostanie zastąpione.
Jeśli spróbujesz uratować dane na uszkodzonym dysku źródłowym, lepiej użyj rodzimego rozmiaru sektora, zwykle jest to 512 bajtów i dodaj opcję conv = notrunc. w przeciwnym razie dziury w źródle upuszczone przez uszkodzone sektory zostaną połączone przez przesunięcie sektora w miejscu docelowym. Spowoduje to uszkodzenie kopii z niewielką szansą na naprawę. wtedy polecenie będzie:
dd if=/dev/source of=/dev/destination bs=512 conv=notrunc
i długo czekaj, aż napęd i system zrezygnują i przejdą sektor po sektorze do końca.
dd to przydatne narzędzie do przenoszenia partycji w nowe miejsce. Po prostu stwórz partycję, zmień dd na nową partycję (może być większa, znacznie większa), a jeśli to możliwe, rozwiń skopiowany system plików do wypełnienia całej nowej partycji, ext3 / ext4 / xfs / zfs / btrfs mają tę funkcję. Na koniec musisz zmienić / etc / fstab, następnie umount / mount, jeśli to możliwe, lub zrestartować system.
Oczywiście możesz sklonować dowolny typ partycji. Polecenie dd nie sprawdza typu systemu plików, nie robi nic ze swoją strukturą. to polecenie może być przydatne do klonowania NTFS lub innych typów partycji.
Jest jakaś sztuczka. Jeśli nie ustawiłeś parametru, to dd umieści dane wyjściowe na swoim standardowym wyjściu. następnie możesz wykonać skompresowaną surową kopię dysku lub partycji, na przykład:
dd if=/dev/sda bs=512 | gzip >/any/place/computerOne_sda.gz
Oczywiście należy to zrobić offline. możesz to przywrócić:
zcat /any/place/computerOne_sda.gz| dd of=/dev/sda bs=512
, wówczas wszystkie dyski twarde sda zostaną zastąpione przez tę kopię zapasową, a wszystkie bieżące dane zostaną utracone. Możesz to zrobić również przy użyciu partycji Windows NTFS i używanego przez nią dysku twardego. Oczywiście możesz użyć innego polecenia kompresji, zależnie od twojego wyboru.