Aplikacja Clonezilla na komputery stacjonarne?

11

To, czego szukam, to sposób na klonowanie dysków twardych (głównie partycji Windows), pozostając w systemie operacyjnym Ubuntu. Nie chcę tworzyć partycji na dysku twardym do rozruchu i nie chcę używać płyty rozruchowej. Jedyną rzeczą, o której nawet mogę pomyśleć, że jest blisko, jest 32-bitowa wersja ducha, która może działać z pulpitu w systemie Windows.

Nie musi to być clonezilla, ale jest to jedyne oprogramowanie do klonowania Linuksa, którego użyłem i prawie używałem go wyłącznie od momentu jego odkrycia. Jeśli nie ma możliwości użycia clonezilli z pulpitu, zaakceptuję alternatywny program. Najważniejsze jest to, że klonuje dyski i działa z poziomu Ubuntu.

Z góry dziękuję za poświęcony czas

Ctuchik
źródło

Odpowiedzi:

6

Clonezilla korzysta ddzza kulis.

Informacje o dyskach i partycjach

Cały dysk jest urządzeniem podobnym do /dev/sda. Jest to pierwszy dysk, drugi dysk jest /dev/sdbtrzeci /dev/sdc, itd. Starsze dyski podłączone przez kabel IDE są nazywane jak hda, hdb... Dysk może mieć wiele partycji typu /dev/sda1. Druga partycja na dysku /dev/sdajest /dev/sda2itd. Obraz (dosłowna kopia bajtów) można wykonać zarówno z partycji, jak i dysku. Zauważ, że pierwsze 512 bajtów dysku zawiera MBR (główny rekord rozruchowy).

Partycji nie należy montować podczas tworzenia lub przywracania obrazów, w przeciwnym razie może wystąpić utrata danych podczas odczytu z niej (tworzenie obrazu) lub nieoczekiwane zachowanie i uszkodzenie danych, jeśli do niej piszesz (przywracanie z obrazu).

W poniższych przykładach /dev/sda1jest partycja, z której należy utworzyć obraz.

Partycje i urządzenia dyskowe /devmogą być zapisywane tylko przez administratora (root) i użytkowników diskgrupy. Nie lubię uruchamiać wszystkiego jako root, więc dla bezpieczeństwa (na przykład, jeśli popełniłeś literówkę), zmieniam grupę tymczasowo na siebie, aby móc ją czytać i pisać:

sudo chgrp my_user_name /dev/sda1

Jeśli pominiesz powyższe polecenie, musisz poprzedzić je poniższym ddpoleceniem sudo.

Podstawy

Podstawowym poleceniem do tworzenia obrazu z partycji jest:

dd if=/dev/sda1 of=disk.img

ifoznacza „plik wejściowy”, ofoznacza „plik wyjściowy”. Wszystko w Linuksie to plik, nawet urządzenia.

Aby przywrócić taki obraz, uruchom:

dd if=disk.img of=/dev/sda1

Kolejność nie ma znaczenia, mógłbyś również napisać powyższe dd of=/dev/sda1 if=disk.img.

Skompresowane obrazy

Ponieważ partycje są zwykle duże, zaleca się kompresowanie danych przed zapisaniem ich na obrazie:

dd if=/dev/sda1 | gzip > disk.img.gz

Działa to, ponieważ jeśli ofzostanie pominięte, dane wyjściowe są zapisywane na „standardowym wyjściu”, który jest potokiem do programu kompresującego gzip. Wynik tego jest zapisywany do disk.img.

Aby przywrócić taki skompresowany obraz, uruchom:

gunzip -c disk.img.gz | dd of=/dev/sda1

Oto gunzipodwrotne polecenie gzip. -cpowoduje, że dane wyjściowe są zapisywane na standardowe wyjście, które jest potokiem do ddpolecenia. Ponieważ ifjest pominięty dd, wejście jest odczytywane z „standardowego wejścia”, które jest wyjściem gunzip.

Odczytywanie obrazu bez jego przywracania

Nieskompresowane obrazy można montować, aby można było z nich czytać. Jeśli skompresowałeś obrazy partycji, najpierw je rozpakuj ( disk.img.gzzostaną usunięte, disk.imgzostaną utworzone. Pamiętaj, aby mieć wystarczająco dużo miejsca!):

gunzip disk.img.gz

Alternatywnie, rozpakuj obraz bez dotykania samego obrazu:

gunzip -c disk.img.gz > disk.img

Teraz utwórz katalog, w którym można zamontować dysk, i zamontuj obraz tylko do odczytu ( ro):

sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind

Możesz teraz przeglądać swoje pliki w /mnt/wind. Po zakończeniu odmontuj go i usuń przestarzały punkt montowania:

sudo umount /mnt/wind
sudo rmdir /mnt/wind

Mniejszy rozmiar, większe zużycie procesora, dłuższy czas tworzenia kopii zapasowych i przywracania

Jeśli czas nie stanowi problemu i nie masz dużo miejsca, możesz użyć bzip2formatu kompresji. Wystarczy wymienić gzipprzez bzip2wyżej. Często używa się .bz2rozszerzenia dla plików skompresowanych w bzip2, więc zrób to.

Lekensteyn
źródło
Będąc tym, że clonezilla używa dd, to właśnie tego szukam. Zakładam, że polecenia z pierwszego postu są prawidłowe, ponieważ przechodzę z dysku na dysk. Dziękuję za wyjaśnienie.
Ctuchik
Pierwsza odpowiedź była poprawna, ale nie wspomniała o metodzie potoku. Musiałem wykonać kopię zapasową dysku o pojemności 20 GB za pomocą zaledwie 150 MB danych z 4 GB pamięci flash z uruchomionym tinycorelinux. Oczywiście 20 GB nieskompresowanych danych nie zmieści się na tym, więc musiałem użyć tej metody potoku.
Lekensteyn
@ Lekensteyn Świetny sposób na zaoszczędzenie miejsca za pomocą metody potokowej. Dzięki za wgląd
Amey Jah,
Po napisaniu odpowiedzi brzmi - NIE :) Dodatkowo „Partycji nie należy montować podczas tworzenia lub przywracania obrazów (...)”, więc nie ma możliwości zrobienia obrazu partycji / dysku systemowego.
Bucic
Dziękuję za bardzo edukacyjny przewodnik. Uruchomiłem te polecenia z kompresją, ale plik obrazu okazuje się większy niż mój system (!). Wiesz dlaczego? @Lekensteyn
Heisenberg
4

Czy chcesz sklonować jeden dysk twardy na inny? Można to zrobić na kilka sposobów. Ogólnie wolę polecenie dd. Pamiętaj, że aby użyć tego polecenia, potrzebujesz dostępu sudo.

  1. Aby sklonować dysk twardy 1 na dysk twardy 2. Pamiętaj, że dysk twardy 2 musi być większy niż dysk twardy 1. Jeśli źródłowy dysk twardy to sda, a docelowy dysk twardy to sdb, możesz skopiować całą zawartość sda na sdb, wykonując następujące czynności Komenda.

    dd if=/dev/sda of=/dev/sdb
    
  2. Aby sklonować cały dysk twardy 1 na obraz, użyj następującego polecenia. Zauważ, że ~ / disk1.img powinien znajdować się na innym dysku

    dd if=/dev/sda of=~/disk1.img
    
  3. Aby sklonować pojedynczą partycję na obraz, użyj następującego polecenia. Pamiętaj, że plik obrazu nie powinien znajdować się na tej samej partycji.

    dd if=/dev/sda1 of=~/drive1.img
    
  4. Aby przywrócić obraz, użyj następującego polecenia.

    dd if=drive1.img of=/dev/sda1 - For Partition
    dd if=disk1.img of=/dev/sda   - For whole hard disk
    
  5. Możesz także zaoszczędzić miejsce, kompresując plik obrazu.

    gzip disk1.img  - This will generate disk1.img.gz
    bzip2 disk1.img - This will generate disk1.img.bz2
    

Dzięki uprzejmości: Linux Backup: Hard Disk Clone with „dd”

Amey Jah
źródło
W rzeczywistości chcę przejść z jednego dysku na drugi. Najważniejsze, co muszę pracować, to rejestr jest przechowywany na dyskach Windows po skopiowaniu. Mój problem z DD polega na tym, że słyszałem historie, w których klonowanie może potrwać wyjątkowo długo, czasem nawet przez jeden dzień. Po prostu nie mam czasu na klonowanie dysku. W przypadku ducha wiem, że średnia wynosi około 2-3 godzin (używam komputera współpracującego z Windows). Naprawdę nie potrzebuję funkcji obrazowania, chociaż miło jest wiedzieć, że jest taka możliwość. Jeśli DD spełni te wymagania, na pewno dam mu szansę.
Ctuchik
@Ctuchik dd po prostu skopiuje z bajtu na bajt. Więc IMO powinien zachować rejestr, ponieważ tworzy dokładną kopię dysku twardego. Chociaż nie wiem, co wpłynie na zachowanie przez okno informacji o dysku twardym w rejestrze. Ponieważ pamiętam, że Windows ma profil rozruchowy, w którym faktycznie zapamiętuje informacje o twoim bootsectorze i dysku twardym. Spróbuj i daj nam znać.
Amey Jah
@Ctuchik Zrobiłem trochę czytania. Wydaje się, że system Windows jest wystarczająco inteligentny (: P), aby wykryć nowy dysk twardy. Jeśli więc sklonujesz dysk twardy, pamiętaj, aby usunąć stary dysk twardy i podłączyć najnowszy. W zależności od poprzedniej konfiguracji i lokalizacji mbr, może być konieczne wykonanie fixmbr lub fixboot przy użyciu Windows CD. Śledź ten wątek, aby uzyskać rzeczywiste wyjaśnienie i procedurę klonowania XP (przy użyciu dd) justlinux.com/forum/showthread.php?threadid=134457
Amey Jah
Ok, może minąć kilka dni, zanim będę musiał wykonać klon dla klienta, ale jeśli to zrobię, zaktualizuję ten wątek z wynikami. Dzięki za szybką odpowiedź.
Ctuchik
Kiedy przywróciłem obraz na nowy (większy) dysk, musiałem ponownie aktywować WinXP. Pamiętaj tylko, że coś takiego może się zdarzyć.
Lekensteyn