Jak przenieść (skopiować) cały system Ubuntu na inny dysk twardy?

57

Dysk twardy, na którym mam zainstalowany system Ubuntu, wkrótce zawiedzie. Wolę nie tracić danych, dostosowań i aplikacji na 3 lata. Szukam sposobu na przeniesienie całego systemu (w tym SWAP, ponieważ nie jestem pewien, czy mogę ponownie połączyć system z nową partycją SWAP) na inny dysk twardy. Ale nie cały dysk twardy <tylko partycja zawierająca Ubuntu, na partycję na innym dysku twardym. Zasadniczo chciałbym zrobić to, co byłem w stanie zrobić z programem Norton Ghost dla mojej instalacji Windows. Myślałem o użyciu Clonezilli, ale myślę, że miałbym problemy z GRUB-em (zwłaszcza próba uruchomienia z innego UUID niż ten, który znajduje się w pliku conf). czy znasz sposób, w jaki można to zrobić?

PS, mój katalog domowy jest zaszyfrowany, ale to nie jest problem, ponieważ mogę to obejść.

EDYCJA: zmieniono wyjaśnienie, aby było jaśniejsze

boywithaxe
źródło

Odpowiedzi:

30

Tak naprawdę skończyło się na Gparted z Live CD. Skopiowałem partycję i wkleiłem ją w nieprzydzielonym miejscu na drugim dysku twardym. Następnie użyłem blkid do sprawdzenia UUID i edytowałem plik fstab. Działa jak urok!

boywithaxe
źródło
5
Jeśli przenosisz swoją partycję w tym samym systemie z jakiegokolwiek powodu (np. Potrzebujesz więcej miejsca), będziesz musiał zmienić UUID nowej partycji przed zmianą fstab, ponieważ będzie miał ten sam UUID, co oryginał (patrz askubuntu. com / pytania / 109938 / change-hdds-uuid )
Greg Kramida
To jest powód, ponieważ kocham linux
deFreitas
Jeśli wymieniasz stary dysk rozruchowy na nowy, musisz również zainstalować na nim grub. Jeśli dodajesz nowy dysk lub wymieniasz dysk danych, nie musisz tego robić.
David C.
9

Właśnie użyłem USB Stick + Ubuntu na żywo.

Przenosiłem Ubuntu 13.10 z większego dysku twardego na mniejszy dysk SSD, a Clonezilla „powiedziała”, że nie da się tego zrobić, ponieważ partycja docelowa jest mniejsza niż partycja źródłowa.

Zacząłem więc Ubuntu Live, podłączyłem oba dyski twarde (nowy dysk, oczywiście wcześniej został podzielony na partycje, nie zapomnij o zamianie;)) i po prostu:

cd /media/ubuntu/old-hdd-uuid/

następnie:

sudo cp -R --preserve=all bin/ boot/ cdrom/ dev/ etc/ home/ lib/ lib32/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ /media/ubuntu/new-hdd-uuid/

powyżej widać, że jest to po prostu kopiowanie wszystkich katalogów z jednego dysku twardego na drugi, rekurencyjnie z zachowaniem wszystkich uprawnień i innych rzeczy.

cd /media/ubuntu/new-hdd-uuid/

potem musiałem zrobić dwa dowiązania symboliczne w katalogu głównym nowego dysku:

sudo ln -s boot/vmlinuz-x.xx.x-xx-generic vmlinuz
sudo ln -s boot/initrd.img-x.xx.x-xx-generic initrd.img

a następnym krokiem była instalacja gruba, więc:

sudo grub-install --boot-directory=boot/ /dev/sdxy

gdzie x - urządzenie, y - numer partycji (jeśli nie jesteś pewien, użyj cfdisk lub fdisk, aby wydrukować tablicę partycji ...)

a ostatnim krokiem była zmiana UUID nowego HDD na UUID ze starego HDD (jest to najłatwiejszy sposób na oszukanie konfiguracji GRUB, FSTAB lub bez wyszukiwania i naprawiania konfiguracji)

sudo tune2fs /dev/sdxy -U OLD-UUID

nowy UUID pojawi się po ponownym zamontowaniu urządzenia. Teraz uruchom ponownie i jeśli wszystko jest w porządku, twoje Ubuntu powinno zacząć ...

matryc
źródło
4

Możesz to zrobić za pomocą dd. Aby uzyskać pełne informacje, sprawdź witrynę.

Sklonuj dysk twardy za pomocą Live CD Ubuntu

Warning dd to bardzo potężne narzędzie niskiego poziomu i nawet jedna mała literówka wystarczy, aby wymazać cały dysk. Zachowaj ostrożność podczas jego używania i, jeśli to możliwe, spróbuj użyć narzędzia wyższego poziomu.
Należy również pamiętać, że ta metoda działa tylko wtedy, gdy dysk docelowy ma ten sam rozmiar lub większy


Klonowanie dysków twardych jest częstym zadaniem konserwacyjnym. Nie zawracaj sobie głowy nagrywaniem nowej płyty rozruchowej lub płaceniem za nowe oprogramowanie - możesz to łatwo zrobić za pomocą płyty Ubuntu Live CD.

Nie tylko możesz to zrobić z Live Ubuntu Live CD, ale możesz to zrobić od razu po wyjęciu z pudełka - nie potrzebujesz dodatkowego oprogramowania! Program, którego będziemy używać, nazywa się dd i jest zawarty w prawie wszystkich dystrybucjach Linuksa. dd jest narzędziem służącym do kopiowania niskiego poziomu - zamiast pracować z plikami, działa bezpośrednio na surowych danych na urządzeniu pamięci masowej.

Możesz także użyć:

Clonezilla, bezpłatne oprogramowanie do klonowania dysku twardego. Clonezilla działa z płyty CD na żywo i ma prosty interfejs użytkownika. Oczywiście nadal musisz zdawać sobie sprawę z tego, co robisz, ale to narzędzie może znacznie uprościć pracę dzięki podziałowi krok po kroku.

Możesz pobrać Clonezilla tutaj

Ostrzeżenie Zanim zaczniesz, sprawdź Ograniczenie Clonzilla.

Wspomniałeś również, że użyłeś Ghosta do Windowsa, więc możesz również użyć Ghosta do Linuxa .

Źródło: http://www.howtogeek.com/howto/19141/clone-a-hard-drive-using-an-ubuntu-live-cd/

Źródło: http://www.makeuseof.com/tag/2-methods-to-clone-your-linux-hard-drive/

Mitch
źródło
Czy dd pozwala również na kopiowanie tylko partycji? Jak w sudo dd = = / dev / sb3 of = / dev / sda2
boywithaxe
Pod warunkiem, że oba dyski mają dokładnie taki sam rozmiar. A w twoim przypadku jest to polecenie dd if = / dev / sd3 of = / dev / sd2
Mitch
Dzięki, jednak partycje znajdują się na dwóch różnych dyskach fizycznych: / dev / sda i / dev / sdb. Czy używanie sd3 i s2 jako deskryptorów nie kopiowałoby się na jednym dysku fizycznym?
boywithaxe
dyski nie muszą być tego samego rozmiaru, jedynym warunkiem jest to, że dysk, na który kopiujesz informacje, jest większy niż kopiowany dysk.
Bruno Pereira,
1
ddrescuebyłaby lepszym rozwiązaniem, ponieważ dysk twardy jest uszkodzony.
Ciro Santilli 27 改造 中心 法轮功 六四 事件
4

Kilka lat temu z powodzeniem użyłem tego narzędzia do „klonowania” moich partycji: G4L . Wszystko działało z pewnymi poprawkami poinstalacyjnymi, takimi jak zmiana rozmiaru partycji (sklonowałem partycje na innym rozmiarze HD) i ponowna instalacja GRUB-a (jest to dość proste, wystarczy tylko Live CD, aby ponownie zainstalować go w MBR).

Możesz bezpiecznie zignorować partycję wymiany (będziesz mógł odzyskać ją po raz drugi) lub sklonować ją i aktywować później, ręcznie edytując /etc/fstablub z linii poleceń.

W ostatnich tygodniach ponownie zrobiłem klon z clonezilla i wszystko poszło dobrze z tymi samymi poprawkami po klonowaniu. Więc nie martw się i spróbuj, nic na oryginalnym HD nie zostanie zmienione!

EDYTOWAĆ:

Znalazłem starą pocztę, w której opisałem pierwszy proces klonowania. Postępowałem następująco:

  • Partycjonowałem mój nowy HD podłączony przez USB dokładnie tak, jak stary
  • Sklonowano partycje w trybie surowym za pomocą G4L
  • Uruchomiono z Live CD i zmieniłem rozmiar partycji za pomocą resize2fs
  • Odłączono HD od USB i zamontowano na SATA / PATA.
  • Uruchomiłem ponownie z Live CD i zamontowałem nowy dysk:

    mkdir disk
    mount /dev/sda1 disk        (where sda1 contains boot and root partitions)
    mount /dev/sda2 disk/boot   (if you have a different boot partition) 
    mount --bind /dev/ disk/dev/
    mount -t proc none disk/proc
    chroot disk /bin/bash
    grub-install /dev/sda       (to install GRUB on sda MBR)
    
  • Uruchom ponownie, sprawdź swap

  • Cieszyć się
jaśmin
źródło
3

@boywithaxe - Jeśli chodzi o twoje komentarze do odpowiedzi Mitcha, możesz po prostu skopiować odpowiednie partycje . To właściwie najłatwiejsza część. Najtrudniejszą częścią jest to, że będziesz musiał zamontować nowo skopiowaną partycję, a także kilka innych partycji i zainstalować grub ( ) ( i dodać partycję wymiany przed ponownym uruchomieniem (jeśli klonujesz partycję rozruchową )). Korzystając z tej metody, nie ma takiej potrzeby .dd if=/dev/sdb3 of=/dev/sda3grub-install /dev/sdaresize2fs

Właśnie musiałem to zrobić sam i użyłem kombinacji naprawy rozruchu po aktualizacji systemu Windows na Ubuntu 14.04 (bez RAID) i odpowiedzi jaśminów .

Po uruchomieniu z liveCD:

dd if=/dev/sdb3 of=/dev/sda3

Kiedy to się skończy

sudo mount /dev/sda3 /mnt 

gdzie sda3 zawiera ostatnio skopiowane partycje rozruchowe i główne)

sudo mount --bind /dev/ /mnt/dev/

sudo mount -t /proc none /mnt/proc

sudo chroot /mnt

sudo grub-install /dev/sda 

zauważ, że to jest sda, a nie sda3

update-grub

exit
Greenonline
źródło