Jak skopiować instalację Ubuntu z jednego laptopa na drugi

60

Zamienię swoją maszynę: z laptopa z Ubuntu na inny laptop, na którym mam zainstalować Ubuntu ...

Jestem całkiem zadowolony z obecnego systemu, boję się, że będę musiał odbudować wszystko od 0.

Co ludzie często robią, aby sklonować system Ubuntu? Może to obejmować dane, pakiety, ustawienia skrótów itp.

SoftTimur
źródło
4
Czy nie możesz po prostu wyodrębnić dysku twardego ze starego laptopa i zainstalować go na nowym laptopie? Zmieniłem MB, mikroprocesor, pamięć RAM i dyski twarde, po prostu oszczędzając rozruchowy dysk twardy i spodziewałem się poważnego problemu po uruchomieniu, co się nie zdarzyło. To może nie być naprawdę wymyślne, ale działa jak urok.
Geppettvs D'Constanzo
Lub po prostu stwórz klon swojego systemu za pomocą remastersys, UCK, Customizer ...
Uri Herrera
8
Zrobiłem to kilka razy: podłącz stary dysk do nowego laptopa za pomocą konwertera USB-SATA, uruchom nowy laptop z Live CD Ubuntu, wyczyść nowy dysk za pomocą gparted, skopiuj cały dysk ze starego na nowy, zmień rozmiar partycji, uruchom, trochę herbatników, ponownie skonfiguruj X11. W systemie Windows prawdopodobnie nigdy nie będzie to takie proste!
aquaherd
1
co to za część przy ponownej konfiguracji X11? Czy kopia jest zwykłym prostym kopiowaniem i wklejaniem?
Whirl Mind

Odpowiedzi:

39

Istnieje kilka sposobów kopiowania konfiguracji i konfiguracji. To zależy od tego, jak duże zmiany zostały wprowadzone. A jeśli aktualizujesz do nowej wersji. Niektóre metody są przydatne podczas aktualizacji między wersjami, ale należy zachować ostrożność, ponieważ mogą one uniemożliwić poprawne działanie niektórych programów.

Metoda 1: Świeża instalacja

Najbardziej niezawodny i stabilny sposób to nowa instalacja, a następnie skopiowanie konfiguracji i ponowna instalacja wszystkich pakietów. Działa to również ze starej wersji do nowej wersji. Istnieją sposoby, aby to zrobić dość szybko i zautomatyzować większość procesu. Najwolniejszą częścią będzie pobranie wszystkich pakietów, które nie znajdują się na nośniku instalacyjnym. Miałem 8 obrazów dysków DVD, które pozwoliły mi zainstalować znacznie szybciej niż pobieranie.

Poleciłbym tę opcję, ponieważ konfiguracja i instalacja gruba może sprawić, że twój system będzie bezużyteczny. Aby skorzystać z metody 2, musisz mieć solidny chwyt gruba.

Przed wykonaniem nowej instalacji (nowy laptop) musisz skopiować niektóre informacje ze starej instalacji (stary laptop).

Twoja konfiguracja lub konfiguracja

Wszystkie pliki, które zapisują twoje dostosowanie są przechowywane w dwóch miejscach. Pierwszym i najbardziej importowanym jest katalog / home / [nazwa użytkownika]. Mogą istnieć setki plików i katalogów. [Package-config-dir]. Wymienię najważniejsze, ale możesz mieć więcej i dodać więcej, jeśli chcesz. Ten proces może powodować problemy z niepoprawnym działaniem pakietów. Więc bądź ostrożny, kiedy to robisz. Utwórz kopię zapasową świeżej instalacji, zanim wkleisz nowe katalogi.

Te katalogi i pliki nie są bardzo duże i prawdopodobnie zajmą tylko kilkaset megabajtów. Ta metoda jest również przydatna między aktualizacjami. Możesz dość szybko skopiować wszystkie zmiany konfiguracji dokonane między wersjami Ubuntu.

Domyślnie większość programów tworzy plik. [Pakiet-config-katalog] przy pierwszym uruchomieniu. Jeśli nie istnieje, jest odtwarzany. Nie powinieneś polegać na tym zachowaniu, ponieważ nie wszystkie programy będą tak działać.

  1. Korzystając z Nautilus, przejdź do katalogu domowego ( /home/[username])
  2. Wybierz „Widok menu → Pokaż ukryte pliki” (lub Ctrl+ H)

  3. Powinieneś teraz zobaczyć wszystkie ukryte .*katalogi. Być może trzeba to zrobić jako root. po prostu uruchom nautilus jako root z linii poleceń.

    Wybierz następujące katalogi i skopiuj je do osobnego katalogu.

    /home/aaron/.config  
    /home/aaron/.gconf  
    /home/aaron/.gnome2  
    /home/aaron/.gnome2_private  
    /home/aaron/.local  
    /home/aaron/.mozilla  
    

    Wprowadziłem zmiany w tych plikach. Więc też je kopiuję.

    /home/aaron/.bash_aliases 
    /home/aaron/.bashrc 
    /home/aaron/.vimrc
    

    Może być wiele innych używanych pakietów, które nie przechowują konfiguracji w tych katalogach. Skopiuj je również, ale ostrzegaj, jeśli programy nie działają zgodnie z oczekiwaniami. Może być konieczne przywrócenie .*pliku lub katalogu. Możesz to zrobić, po prostu usuwając plik lub katalog, ale powinieneś wykonać kopię zapasową przed skopiowaniem katalogów.

  4. W zależności od sposobu korzystania z systemu. Możliwe, że wprowadziłeś zmiany w niektórych plikach w /etckatalogu. Jeśli tak, powinieneś je również skopiować. Tworzę niestandardowy plik smb.conf do pracy i mam wiele wirtualnych hostów Apache, których używam do programowania, więc również je kopiuję. Możesz skopiować cały /etckatalog, ale może to powodować problemy, jeśli komputer nie ma dokładnie takiej samej konfiguracji sprzętowej. Który nie będzie przechodził z jednej maszyny na drugą.

    /etc/samba/smb.conf
    /etc/hosts
    /etc/apache2 # the whole directory.
    

    Skopiuj pliki konfiguracyjne przed lub po zainstalowaniu nowego oprogramowania. Nie rób tego, gdy trwa instalacja pakietu oprogramowania. Możesz przerwać instalację.

Twoje zainstalowane pakiety

Za pomocą Synaptic można dość łatwo eksportować wszystkie zainstalowane pakiety, korzystając z opcji menu Eksportuj oznaczenia.

  1. Menu Plik → Zapisz oznaczenia jako
  2. Zaznacz „Zapisz pełny stan, nie tylko zmiany”
  3. Wybierz nazwę i katalog, aby zapisać ten plik (prawdopodobnie będziesz musiał go umieścić na dysku flash).

Następnie możesz ponownie załadować wszystkie zainstalowane pakiety, odwracając proces:

  1. Menu Plik → Czytaj oznaczenia
  2. Wybierz plik utworzony w pierwszym kroku.

To zajmie prawdopodobnie najdłużej. Jeśli pobierzesz dużo pakietów (1 Gb pakietów), zajmie to kilka godzin.

Metoda 2: Korzystanie z obrazów dysków

Zrobię metodę 2 jako osobny post. To jest bardziej zaawansowana opcja. Wymaga to zrozumienia partycji, instalacji gruba i korzystania z wiersza poleceń.

Jak skopiować instalację Ubuntu z jednego laptopa na drugi

nelaaro
źródło
Co się stanie, jeśli ostatni krok przywracania zainstalowanych pakietów nie powiedzie się z powodu tych błędów ?
Chris,
30

Istnieje kilka sposobów kopiowania konfiguracji i konfiguracji. To zależy od tego, jak duże zmiany zostały wprowadzone. A jeśli aktualizujesz do nowej wersji. Niektóre metody są przydatne podczas aktualizacji między wersjami, ale należy zachować ostrożność, ponieważ mogą one uniemożliwić poprawne działanie niektórych programów.

metoda 1: świeża instalacja

Wysłany osobno. Jak skopiować instalację Ubuntu z jednego laptopa na drugi

Jest to najbezpieczniejsza metoda i nie wymaga edycji ustawień grub i boot. Łatwe, ponieważ większość z nich można wykonać za pomocą narzędzi GUI.

Metoda 2: Korzystanie z obrazów dysków

To może być najszybszy sposób na poruszanie się. Co do kopiowania partycji dysku twardego, ponieważ obrazy dysków są dość szybkie. Jeśli nie chcesz ponownie instalować każdego oprogramowania. Chociaż tworzenie, zmiana rozmiaru i przenoszenie obrazów dysków może zająć dość dużo czasu. Poleciłbym to tylko, jeśli nie zamierzasz uaktualnić do nowej wersji Ubuntu. Upewnij się, że rozumiesz partycje dysku i grub. Większość tego, co robię, będzie używać wiersza polecenia. Musisz upewnić się, że rozumiesz, co robi polecenie przed jego uruchomieniem. Nie ponoszę odpowiedzialności za utratę danych w wyniku poniższych instrukcji.

Krok pierwszy utwórz obraz dysku swojej instalacji.

Pięść musimy uzyskać trochę informacji o konfiguracji. Korzystanie parted -limount

$ sudo parted -l
Model: ATA ST9320423AS (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  197MB   197MB   primary   ext4            boot
 2      197MB   10.2GB  10.0GB  primary   linux-swap(v1)
 3      10.2GB  50.2GB  40.0GB  primary   ext4
 4      50.2GB  299GB   249GB   extended
 5      50.2GB  54.4GB  4195MB  logical   ext4
 6      54.4GB  65.9GB  11.5GB  logical   ext4
 7      65.9GB  299GB   233GB   logical   ext4

$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
/dev/sda7 on /home type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda6 on /usr type ext4 (rw)
# I took out the entries that were not need for these instructions

$ cat /etc/fstab 
proc            /proc           proc    nodev,noexec,nosuid 0       0
UUID=ddc8c237-e8ac-4038-a0ed-f7c866d6603b /               ext4    errors=remount-ro 0    1
UUID=aa9881d1-5cc1-4e94-8cd7-8125e18ece2f /boot           ext4    defaults        0      2
UUID=31a6fde1-6b96-4cc3-acfd-88573f52be36 /home           ext4    defaults        0      2
UUID=073146a7-5668-4728-9a6f-1a599f358a8d /usr            ext4    defaults        0      2
UUID=540b96b6-b3c3-4092-b4ad-6b33bcbbe16d none            swap    sw              0      0

Twoja konfiguracja może wyglądać inaczej. Mam osobną partycję dla /home, root ( /) i /usr.

Tworzenie obrazów dysku

Używam, ddponieważ jest to proste i szybkie. Przeczytaj i zrozum, jak to działa. Będziesz potrzebował pustej partycji, która jest większa niż cały rozmiar partycji, którą kopiujesz. Może to zająć trochę czasu. Tworzenie zmiany rozmiaru i kopiowanie partycji może potrwać kilka godzin w zależności od ich rozmiaru. Konieczne będzie zastąpienie dysku zewnętrznego częścią nośnika pamięci, który będzie używany w tym procesie.

sudo dd if=/dev/sda5 of=/media/externaldrive/sda5-root.img
sudo dd if=/dev/sda7 of=/media/externaldrive/sda7-home.img
sudo dd if=/dev/sda6 of=/media/externaldrive/sda6-usr.img

Oto rzeczywisty przykład out po uruchomieniu tego w mojej konfiguracji.

$ sudo dd if=/dev/sda5 of=/media/home0/sda5-root.img
8193087+0 records in
8193087+0 records out
4194860544 bytes (4.2 GB) copied, 55.3159 s, 75.8 MB/s

Możemy zmniejszyć rozmiar tego obrazu dysku, korzystając z narzędzi dostarczonych przez Linux.

$ sudo resize2fs -P sda5-root.img
 resize2fs 1.41.11 (14-Mar-2010)
 Estimated minimum size of the filesystem: 605972
$ ls -sh ./sda5-root.img
 4.0G ./sda5-root.img
$ sudo resize2fs -M sda5-root.img
 resize2fs 1.41.11 (14-Mar-2010)
 Please run 'e2fsck -f sda5-root.img' first.
$ sudo e2fsck -fy ./sda5-root.img # y makes it run without asking thousands of questions.

e2fsckwyświetli wiele błędów lub poprawek koniecznie. Wynika to z faktu, że informacje w systemie plików nie są już prawidłowe pod względem początku i końca granic partycji. Jest to poprawne, ponieważ nie ma go już na partycji, dla której został skonfigurowany.

$ sudo resize2fs -M sda5-root.img
 resize2fs 1.41.11 (14-Mar-2010)
 Resizing the filesystem on sda5-root.img to 605505 (4k) blocks.
 Resizing the filesystem on sda5-root.img to 605505 (4k) blocks.
 The filesystem on sda5-root.img is now 605505 blocks long.
$ ls -sh ./sda5-root.img
 2.4G ./sda5-root.img

Zasadniczo usuwa całe wolne miejsce na partycji. W przypadku większej partycji może to być więcej niż 50% rozmiaru dysku. Znacznie szybsze jest kopiowanie mniejszego pliku

Musisz teraz uruchomić nowy laptop z dysku na żywo i wykonać poniższe czynności. Musisz użyć dysku na żywo, ponieważ nie możesz wprowadzać zmian w działającej partycji, która jest aktualnie używana przez zainstalowany system operacyjny.

Teraz możesz skopiować te obrazy dysków do partycji na nowym komputerze. Powinieneś już skonfigurować te partycje. Korzystanie z dysku na żywo i gpartedjest to szybki i łatwy sposób to zrobić. Upewnij się, że masz wszystkie partycje wymagane przez system. Możesz zrobić te partycje większe niż te, które posiadałeś w poprzednim systemie. Kiedy skopiujemy do nich obrazy dysków, zmienimy rozmiar systemu plików i zajmie on całe wolne miejsce na partycji.

Teraz krok drugi: kopiowanie obrazów dysków na nowy dysk i na nowe partycje.

sudo dd if=/media/exteranldrive/sda5-root.img of=/dev/sda3 # replace the [sda3] with your partition.  

Na mojej maszynie tak wyglądało wyjście

$ sudo dd if=./sda5-root.img of=/dev/sdb6 
4844040+0 records in  
4844040+0 records out  
2480148480 bytes (2.5 GB) copied, 87.4921 s, 28.3 MB/s  

$ sudo fsck.ext4 -fy /dev/sdb6  
e2fsck 1.41.11 (14-Mar-2010)  
Pass 1: Checking inodes, blocks, and sizes  
Pass 2: Checking directory structure  
Pass 3: Checking directory connectivity  
Pass 4: Checking reference counts  
Pass 5: Checking group summary information  
root1: 50470/504000 files (1.4% non-contiguous), 616736/2060328 blocks  

Teraz musimy edytować plik fstab, aby wskazywał właściwe urządzenia. Jeśli właśnie skopiowałeś nową partycję na nowy dysk, plik fstab znajduje się na tej partycji, więc musisz go zamontować, aby uzyskać dostęp do pliku. Będziesz także musiał zainstalować partycję root, aby zainstalować grub, jeśli nie masz osobnej partycji rozruchowej.

$ sudo mkdir /mnt/tmp  
mount /dev/sdb6 /mnt/tmp  
$ sudo blkid  # to see what the disk uuid is   
/dev/sda5: LABEL="root1" UUID="ddc8c237-e8ac-4038-a0ed-f7c866d6603b" TYPE="ext4"  
/dev/sdb6: LABEL="root1" UUID="ddc8c237-e8ac-4038-a0ed-f7c866d6603b" TYPE="ext4"  
$ gksu gedit /mnt/tmp/etc/fstab  
replace the UUID with the UUID of your partition  
UUID=ddc8c237-e8ac-4038-a0ed-f7c866d6603b /               ext4    errors=remount-ro 0  1

Tutaj możesz zobaczyć, że nowy obraz dysku, który skopiowałem na inny dysk, ma ten sam UUID, co oryginalny system plików. Możesz więc skopiować plik fstab ze starej instalacji do nowej instalacji i mieć działający system. To się uruchomi. Po ustawieniu nie mogę zostawić komputera w ten sposób, ponieważ uruchomi się na dowolnym urządzeniu, które znajdzie jako pierwsze.

Edytuj fstab i upewnij się, że identyfikator UUID pasuje do partycji skonfigurowanych dla roota i home oraz każdej innej partycji, którą skonfigurowałeś.

Ostatnim krokiem jest zainstalowanie GRUB-a na nowym dysku.

sudo chroot /mnt/tmp # your root partition.   
grub-install /dev/XXX  

W moim przypadku:

grub-install /dev/sdb
update-grub

Przeczytaj instrukcje przed rozpoczęciem. Nie ma sensu mieć wszystkich danych na nowym laptopie i nie można go uruchomić.

https://help.ubuntu.com/community/Grub2
https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows

nelaaro
źródło
Miałem wątpliwości, czy jeśli partycja docelowa ma więcej miejsca niż obraz dysku, czy dd pozwoli nam wykorzystać dodatkowe miejsce, czy zostanie zmarnowane?
nikhil
@nikhil. Żadne dd nie wykorzysta dodatkowego miejsca. Ale to nie jest przeznaczone do. Nie rozumie systemów plików. fsck.ext4 z drugiej strony rozumie partycje i systemy plików. Częścią kontroli systemu plików jest sprawdzenie rozmiaru partycji i upewnienie się, że system plików odpowiada rozmiarowi partycji.
nelaaro,
8

Spróbuj clonezilli. Clonezilla to narzędzie do obrazowania / klonowania dysku. Możesz użyć tego narzędzia, aby sklonować system Ububtu do nowego systemu.

menu startowe clonezilla

Clonezilla klonuje twoje ustawienia, a także całe partycje.

Dostępne są dwie wersje clonezilla. Clonezilla live nadaje się do jednorazowego użytku.

Aby uzyskać więcej informacji, odwiedź ten link .

Kolappan Nathan
źródło
1
Dobra opcja Pamiętaj, że przywracanie na innym sprzęcie może nie być takie łatwe. Myślę, że powinno być w porządku, jeśli przywrócisz partycję o tym samym rozmiarze. Możesz także wypróbować PING (Partition-Image-Is-Not-Ghost). To kolejne narzędzie.
Whirl Mind