Come copiare un'installazione Ubuntu da un laptop a un altro


60

Sto per cambiare la mia macchina: da un laptop con Ubuntu a un altro laptop in cui ho intenzione di installare Ubuntu ...

Sono abbastanza contento del sistema attuale, ciò di cui ho paura è di dover ricostruire tutto da 0.

Quindi cosa fanno spesso le persone per clonare un sistema Ubuntu? Ciò può includere dati, pacchetti, impostazioni dei collegamenti, ecc ...


4
Non puoi semplicemente estrarre l'HDD dal tuo vecchio laptop e installarlo sul tuo nuovo laptop? Ho cambiato MB, MicroProcessore, RAM e HDD, solo conservando l'HDD di avvio e mi aspettavo un grosso problema dopo l'avvio, che non si è verificato. Questo potrebbe non essere davvero elegante ma funziona come un fascino.
Geppettvs D'Constanzo,

O semplicemente crea un clone del tuo sistema con remastersys, UCK, Customizer ...
Uri Herrera,

8
L'ho fatto diverse volte: collega la vecchia unità laptop al nuovo laptop con un convertitore da USB a SATA, avvia il nuovo laptop dal CD live di Ubuntu, cancella la nuova unità con gparted, copia l'intero disco dal vecchio al nuovo, ridimensionare la partizione, avviare, avere qualche biscotto, riconfigurare X11. Probabilmente non succederà mai così facilmente con Windows!
aquaherd,

1
qual è quella parte su riconfigurare X11? Inoltre, la copia è una semplice copia-incolla normale?
Whirl Mind,

Risposte:


39

Esistono alcuni modi per copiare la configurazione e l'impostazione. Dipende da quanto grandi sono state le modifiche apportate. E se stai eseguendo l'aggiornamento a una nuova versione. Alcuni metodi sono utili durante l'aggiornamento da una versione all'altra, ma fai attenzione perché possono impedire il corretto funzionamento di alcuni moduli software.

Metodo 1: nuova installazione

Il modo più robusto e stabile è una nuova installazione, quindi copia la configurazione e reinstalla tutti i tuoi pacchetti. Funziona anche da una versione precedente a una nuova versione. Ci sono modi per farlo accadere abbastanza rapidamente e automatizzare la maggior parte del processo. La parte più lenta sarebbe scaricare tutti i pacchetti non inclusi nel supporto di installazione. Ho avuto le 8 immagini del disco del dvd che mi hanno permesso di installare molto più velocemente del download.

Vorrei raccomandare questa opzione come impostazione e installazione di grub, può rendere il sistema inutilizzabile. È necessario disporre di una solida conoscenza di grub per utilizzare il metodo 2.

Prima di eseguire la nuova installazione (nuovo laptop) è necessario copiare alcune informazioni dalla vecchia installazione (vecchio laptop).

La tua installazione o configurazione

Tutti i file che salvano la personalizzazione vengono archiviati in due posizioni. La prima e più importante importazione è la tua directory / home / [nome utente]. Possono esserci centinaia di file e directory. [Package-config-dir]. Elencherò i più importanti, ma puoi averne di più e aggiungerne altri se vuoi. Questo processo può causare problemi con i pacchetti che non funzionano correttamente. Quindi fai attenzione quando lo fai. Fai una copia di backup della tua nuova installazione prima di incollare le tue nuove directory.

Queste directory e file non sono molto grandi e probabilmente impiegheranno solo poche centinaia di megabyte. Questo metodo è utile anche tra gli aggiornamenti. Puoi copiare abbastanza rapidamente tutte le modifiche alla configurazione che hai apportato tra le versioni di Ubuntu.

Per impostazione predefinita, la maggior parte dei programmi crea. [Package-config-dir] quando viene eseguita la prima volta. Se non esiste, viene ricreato. Non dovresti fare affidamento su questo comportamento poiché non tutti i programmi funzioneranno in questo modo.

  1. Utilizzando Nautilus, vai alla tua home directory ( /home/[username])
  2. Seleziona "Visualizza menu → Mostra file nascosti" (o Ctrl+ H)

  3. Ora dovresti vedere tutte le .*directory nascoste . Potrebbe essere necessario farlo come root. basta avviare nautilus come root da una riga di comando.

    Selezionare le seguenti directory e copiarle in una directory separata.

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

    Ho apportato modifiche a questi file. Quindi li copio anche io.

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

    Potrebbero essere presenti molti altri pacchetti che non memorizzano la configurazione in queste directory. Copiali pure, ma fai attenzione se i programmi non funzionano come previsto. Potrebbe essere necessario ripristinare il .*file o la directory. Potresti farlo semplicemente cancellando il file o la directory, ma avresti dovuto fare un backup prima di copiare le directory.

  4. A seconda di come usi il tuo sistema. Potresti aver apportato modifiche ad alcuni file nella /etcdirectory. Se hai, dovresti anche copiarli. Creo un file smb.conf personalizzato per il lavoro e ho molti host virtuali Apache che utilizzo per lo sviluppo, quindi li copio anch'io. È possibile copiare l'intera /etcdirectory ma ciò può creare problemi se la macchina non ha esattamente la stessa configurazione in termini di hardware. Che non passerà da una macchina all'altra.

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

    Copia i file di configurazione prima o dopo l'installazione del nuovo software. Non farlo mentre è in corso l'installazione di un pacchetto software. Potresti interrompere l'installazione.

I tuoi pacchetti installati

Usando Synaptic è possibile esportare abbastanza facilmente tutti i pacchetti installati usando l'opzione di menu dei contrassegni di esportazione.

  1. Menu File → Salva contrassegni come
  2. Seleziona "Salva stato completo, non solo modifiche"
  3. Scegli un nome e una directory per salvare questo file (probabilmente dovrai metterlo su un'unità flash.)

È quindi possibile ricaricare tutti i pacchetti installati invertendo il processo:

  1. Menu File → Leggi i contrassegni
  2. Seleziona il file che hai creato nel primo passaggio.

Questo probabilmente richiederà più tempo. Se scarichi molti pacchetti (1 GB di pacchetti), ci vorranno alcune ore.

Metodo 2: utilizzo delle immagini del disco

Farò il metodo 2 come post separato. Questa è un'opzione più avanzata. Richiede la comprensione delle partizioni, l'installazione di grub e l'uso della riga di comando.

Come copiare un'installazione Ubuntu da un laptop a un altro


Cosa succede se l'ultimo passaggio del ripristino dei pacchetti installati non riesce con questi errori ?
Chris,

30

Esistono alcuni modi per copiare la configurazione e l'impostazione. Dipende da quanto grandi sono state le modifiche apportate. E se stai eseguendo l'aggiornamento a una nuova versione. Alcuni dei metodi sono utili durante l'aggiornamento da una versione all'altra, ma fai attenzione perché possono impedire ad alcuni software di funzionare correttamente.

metodo 1: nuova installazione

Pubblicato separatamente. Come copiare un'installazione Ubuntu da un laptop a un altro

Questo è il metodo più sicuro e non richiede di modificare la configurazione di grub e boot. Facile poiché la maggior parte può essere eseguita utilizzando gli strumenti della GUI.

metodo 2: utilizzo delle immagini del disco

Questo può essere il modo più veloce per spostarti. Come copiare le tue partizioni del disco rigido come le immagini del disco sono abbastanza veloci. Se non si desidera reinstallare tutti i software. Sebbene la creazione, il ridimensionamento e lo spostamento delle immagini del disco possano richiedere parecchio tempo. Lo consiglierei solo se non hai intenzione di passare a una nuova versione di Ubuntu. Assicurati di comprendere partizioni del disco e grub. La maggior parte di ciò che sto facendo utilizzerà la riga di comando. Devi assicurarti di capire cosa fa un comando prima di eseguirlo. Non sono responsabile per la perdita di dati a seguito delle istruzioni che seguono.

Passo uno crea un'immagine del disco della tua installazione.

Per prima cosa dobbiamo ottenere alcune informazioni sulla configurazione. Utilizzando parted -lemount

$ 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

La tua configurazione potrebbe apparire diversa. Ho una partizione separata per /home, root ( /) e /usr.

Creazione delle immagini del disco

Uso ddin quanto è semplice e veloce. Assicurati di leggere e capire come funziona. Sarà necessaria una partizione vuota più grande dell'intera dimensione della partizione che si sta copiando. Questo può richiedere del tempo. La creazione del ridimensionamento e la copia delle partizioni può richiedere alcune ore a seconda delle loro dimensioni. Sarà necessario sostituire l'unità esterna con una parte del supporto di archiviazione che verrà utilizzato per questo processo.

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

Ecco un esempio reale di out put dopo averlo eseguito sul mio setup.

$ 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

Possiamo ridurre le dimensioni di questa immagine del disco, usando gli strumenti forniti da 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.

e2fsckprodurrà necessariamente molti errori o correzioni. Questo perché le informazioni nel file system non sono più corrette in termini di inizio e fine dei confini della partizione. Questo è corretto perché non è più nella partizione per cui è stato configurato.

$ 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

Rimuove essenzialmente tutto lo spazio libero nella partizione. Quindi, per la partizione più grande, questo può essere più del 50% della dimensione del disco. Molto più veloce per copiare un file più piccolo

Ora devi avviare il tuo nuovo laptop con un disco live e fare quanto segue qui. È necessario utilizzare un disco live poiché non è possibile apportare modifiche a una partizione in esecuzione attualmente utilizzata dal sistema operativo installato.

Ora puoi copiare queste immagini del disco nelle partizioni sul nuovo computer. Dovresti aver già impostato queste partizioni. Utilizzando il disco live ed gpartedè un modo semplice e veloce per farlo. Assicurati di avere tutte le partizioni richieste dal tuo sistema. Puoi rendere queste partizioni più grandi di quelle che avevi sul tuo sistema precedente. Quando copiamo le immagini del disco in esse, ridimensioneremo il file system e occuperemo tutto lo spazio libero sulla partizione.

Ora passo due: copiare le immagini del disco sulla nuova unità e nelle nuove partizioni.

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

Sulla mia macchina, ecco come appariva l'output

$ 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  

Ora dobbiamo modificare il file fstab per puntare ai dispositivi corretti. Se hai appena copiato la nuova partizione del disco sul nuovo disco, il file fstab si trova su quella partizione, quindi è necessario montarlo per accedere al file. Dovrai anche avere la partizione root montata per installare grub se non hai una partizione di avvio separata.

$ 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

Qui puoi vedere che la nuova immagine del disco che ho copiato sull'altro disco ha lo stesso UUID del file system originale. Quindi puoi copiare il tuo file fstab dalla vecchia installazione nella nuova installazione e avere un sistema funzionante. Quello si avvierà. Sul mio setup non posso lasciare il mio computer in questo modo o si avvierà su qualsiasi dispositivo che trova per primo.

Modifica fstab e assicurati che l'UUID corrisponda alle partizioni che hai impostato per root e home e qualsiasi altra partizione configurata.

L'ultimo passo è installare grub sul tuo nuovo disco.

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

Nel mio caso:

grub-install /dev/sdb
update-grub

Si prega di leggere queste istruzioni prima di iniziare. È inutile avere tutti i dati sul tuo nuovo laptop e non essere in grado di avviarlo.

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


Ho avuto un dubbio, se la partizione di destinazione ha più spazio dell'immagine del disco, ci permetterà di usare lo spazio aggiuntivo o sarà sprecato?
nikhil,

@nikhil. No dd non utilizzerà lo spazio aggiuntivo. Ma non è progettato per. Non capisce i file system. fsck.ext4 dall'altro aveva capito partizioni e file system. Parte del controllo del file system consiste nel controllare la dimensione della partizione e assicurarsi che il file system corrisponda alla dimensione della partizione.
nelaaro,

8

Prova clonezilla. Clonezilla è uno strumento di imaging / clonazione del disco. Puoi usare questo strumento per clonare Ububtu su un nuovo sistema.

menu di avvio di clonezilla

Clonezilla clona le tue impostazioni e anche le tue intere partizioni.

Sono disponibili due versioni di clonezilla. Clonezilla live è adatto per un singolo utilizzo.

Per ulteriori informazioni visita questo link .


1
Buona opzione. Ricorda, il ripristino su hardware diverso potrebbe non essere così semplice. Immagino che dovrebbe andare bene, se ripristini su una partizione della stessa dimensione. Puoi anche provare PING (Partition-Image-Is-Not-Ghost). Questo è un altro strumento.
Whirl Mind,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.