Sposta installazione su nuovo disco


10

Al momento ho un hd con queste partizioni:

/dev/sdb1    /
/dev/sdb2    swap
/dev/sdb3    /home

Sto pensando di acquistare un SSD per la mia /partizione.

Ora la mia domanda è: è possibile spostare / convertire la mia configurazione attuale in quella nuova (due dischi, / resti di casa)? Prefarabilmente dall'interno del sistema in esecuzione?

Risposte:


11

Mi sconsiglio di utilizzare dd. Fa solo un settore stupido per copia del settore, il che significa che non riuscirà se la partizione di destinazione è più piccola e spreca molto tempo a copiare spazio libero e se la partizione di destinazione è più grande, lo spazio aggiuntivo non sarà disponibile fino a quando non si esegue resize2fsper espandere il filesystem.

È meglio farlo da un CD live perché se copi i file mentre vengono modificati, otterrai risultati corrotti.

Formatta ssd e installa sia la nuova partizione ssd che la partizione root originale, quindi esegui sudo cp -ax /media/old-partition/* /media/new-partition, dove vecchia-partizione e nuova-partizione vengono sostituite con i loro effettivi punti di montaggio. Ciò copierà ogni file, preservando la proprietà, le autorizzazioni e i timestamp.

Quindi eseguire sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICE, dopo aver sostituito i valori corretti per new-partition e SSD_DEVICE. Ciò installerà grub, rendendo avviabile il disco.

Una volta riavviato (assicurandoti che il BIOS sia configurato per l'avvio da SSD anziché dalla vecchia unità), assicurati di essere in esecuzione da SSD e non dalla vecchia unità controllando l'output di dfe / o mount, e dovresti essere bello spazzare via la vecchia partizione.

Oh, e vorrai modificare il /etc/fstabfile sulla nuova partizione dopo aver copiato e aggiornato l'UUID della partizione root in modo che corrisponda all'UUID della nuova partizione SSD anziché a quella vecchia. Puoi trovare quell'UUID eseguendo sudo blkid.

Modifica: aggiunto / * nella copia sopra, ma la modifica doveva contenere più di 6 caratteri. Ora sono 101 caratteri!


1
Presumo che ha funzionato?
Martin Ueding,

2
Ho avuto problemi con l'installazione di grub usando il metodo sopra. Alla fine ho fatto ciò che suggerisce questo thread: askubuntu.com/a/3409/8152 per configurare e installare grub sull'altro disco. Il resto della risposta ha funzionato alla grande.
Mladen Jablanović,

1

Questo comando:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

dovrebbe funzionare per clonare la /partizione sull'unità SSD.

EDIT: funzionerà solo se la tua partizione ha le stesse dimensioni dell'unità. Se non hanno le stesse dimensioni, puoi utilizzare il partimage :

partimage -z0 -d save /dev/sdb1 clone.partimg
partimage restore DEVICE_PATH_OF_SSD_DRIVE clone.partimg
rm clone.partimg

Un avvertimento per questo metodo è che hai bisogno di spazio sufficiente sul tuo disco per un'immagine contenente tutto il contenuto di /. Dovresti andare bene se hai> 10 GB gratuiti. Altrimenti, è possibile utilizzare -z1invece di -z0comprimere l'immagine. Per una compressione ancora maggiore, utilizzare -z2. Inoltre, il partimage non supporta il file system ext4 .

Una volta fatto ciò, dovresti montare l'SSD e verificare se i tuoi dati sono stati copiati correttamente:

$ mkdir /tmp/ssd
$ sudo mount -t ext4 DEVICE_PATH_OF_SSD_DRIVE /tmp/ssd
$ ls /tmp/ssd
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

Sostituisci ext4con il file system che hai utilizzato /.

Probabilmente dovrai installare il bootloader GRUB su questa unità:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

Sarà quindi necessario modificare il /etc/fstabfile per sostituirlo /dev/sdb1con il percorso del dispositivo dell'unità SSD nella voce a cui si monta /. ( sudo $EDITOR /etc/fstab)

Attendi fino a quando questa risposta non presenta alcuni voti prima di seguire queste istruzioni. Non sono un esperto di queste cose, quindi potrei aver perso alcune informazioni vitali. Chiunque veda difetti in questo, si prega di aggiungere un commento che li spiega. Dovresti prendere tali precauzioni perché se qualcosa va storto, potrebbe lasciare il tuo computer non avviabile.


(-1) Questa soluzione è più che pericolosa . Soprattutto se le dimensioni dei dispositivi non corrispondono.
Raphael Bossek,

Copierà anche l'UUID dell'unità di origine se si utilizza dd.
Michael,

0

Leggi prima come migrare, c'è un modo semplice per trasferire un sistema operativo da un disco rigido a un altro? .

Avvia dal tuo SSD e aggiungi la seguente riga a /etc/fstab(è solo un bind):

/media/slowhd/home /home none rw,bind 0 0

Inizia mount -aa rendere attive le modifiche.

Suggerimento : non mount /dev/yourhd /homeperdere la flessibilità necessaria per spostare ulteriori directory sul vecchio HD.

Una soluzione più tecnica sarebbe quella di utilizzare LVM (gestore del volume logico) .

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.