Come passare da un'unità a un'altra di dimensioni diverse?


21

Ho incontrato questo scenario alcune volte: ho bisogno di sostituire un'unità perché ho bisogno di più spazio, problemi, passaggio a una nuova scatola, ecc.

Qual è il modo migliore per copiare i dati da una dimensione della partizione a un'altra (supponendo che la destinazione abbia abbastanza spazio)?

Che dire se si tratta di un file system diverso (come ReiserFS a ext4)?

Se è solo una nuova unità su un sistema esistente, come posso assicurarmi di non aver bisogno di reinstallare per far funzionare tutto?

Aggiornamento : molte delle opzioni sono altamente praticabili e ho cambiato questa domanda in wiki della comunità perché non credo che ci sia una risposta "giusta".


1
superuser.com/questions/32164/… è stato richiesto per unità / partizioni di Windows
Warren,

Risposte:


10

Clonare l'unità utilizzando CloneZilla , quindi utilizzare gparted per ridimensionarla. Tieni il tuo vecchio caso nel caso in cui vada storto :-)

A proposito, in questo modo è gratuito.


2
Mi piace la parte gratuita qui, anche se nulla batte il BUONO software funzionante che fa tutto (invece di 3 freewares insieme)
Ivo Flipse,

1
Sono solo due freewares ed è abbastanza indolore. L'avvio ISO non è un problema.
Craigmoliver,

Posso confermare che funziona. Ho spostato correttamente l'unità secondaria con Windows 7 da un'unità da 160 GB a un'unità da 1 TB. Clonato sul mio disco Linux con Clonezilla. Lo ha ripristinato sul nuovo disco e lo ha ridimensionato con lo strumento Gestione disco di Windows 7. Questo da un NTFS a un NTFS però.
Thomas Watnedal,

dite "clonare l'unità" sebbene abbia chiesto di clonare la partizione. Inoltre ha detto diversi file system.
barlop

5

La soluzione che ho usato in passato è tar. Se le partizioni hanno esattamente le stesse dimensioni e tipo, puoi usare dd.

Ecco la mia risposta al dilemma:

  1. avviare utilizzando una distribuzione cd live come Slax
  2. verificare che le partizioni desiderate siano nella nuova unità
  3. assicurati che siano montate sia le unità vecchie che quelle nuove, ad esempio /tmp/driveold/ / tmp / drivenew '
  4. eseguire da un terminale il seguente tarcomando:

    (tar cp --xattrs /tmp/driveold/path) | (tar x /tmp/drivenew/path)

  5. ripetere per ogni partizione che è necessario copiare

Questo funziona per ogni partizione su cui abbia mai provato (escluso /boot, per il quale mi assicuro che le partizioni siano identiche e che uso dd).


2
Mi piace questa soluzione perché è così semplice, ma penso che avresti bisogno di alcune opzioni extra come p (preserva le autorizzazioni) per ottenere tutti i metadati.
Jay Conrod,

1
hai ragione sulla p - l'ho aggiunto :)
warren,

2
Parlando di meta-dati, --xattrsdovrebbe essere usata anche l' opzione (archivia ACL e informazioni SELinux).
Cristian Ciupitu,

I 2 tar collegati ad un tubo potrebbero essere sostituiti con cpio --pass-through.
Cristian Ciupitu,

1
Quale versione di tarha --xattrsun'opzione? Non mio. Suggerisco invece di usare rsynco plain cp: serverfault.com/questions/306538/…
Teddy

2

Questo è uno dei motivi per cui mi piace LVM. Basta aggiungere il nuovo disco al gruppo di volumi, pvmovei volumi logici dal vecchio al nuovo disco, rimuovere il vecchio disco dal gruppo di volumi e quindi dal sistema. Se si sta sostituendo il disco di avvio, è necessario aggiornare anche il caricatore di avvio.


Questa è un'ottima idea - tranne se non stai usando LVM, è un po 'una seccatura :) Grazie per il suggerimento, però!
Warren,

Qualcosa da considerare la prossima volta che si installa :-)
pag

2

+1 per warren e per usare tar.

Tuttavia, di solito cerco invece di ripristinare dai miei backup. E passare da un disco a uno nuovo sembra una buona opportunità per vedere se il tuo piano di backup funziona.

Se si simula un errore del disco (togliere l'alimentazione dal vecchio disco), iniziare a ripristinare sul nuovo disco. E quando hai finito, avvii il vecchio disco e li diff per vedere se hai tutti i file.

Se sono identici, entrambi avete spostato tutti i dati e sapete che il piano di backup è valido e funzionante.


buona idea - anche se per quelli di noi (<whistle mode = "innocent" />) che non hanno una soluzione di "backup", questo potrebbe anche essere un buon momento per trovarne uno :)
warren

1
:)
Johan,

2

Un'altra opzione sarebbe quella di avviare da un liveCD e montare la vecchia unità in sola lettura. Questo per impedire a livecd di modificarlo durante la copia. Quindi rsync -avz /mnt/olddisk/ /mnt/newdisk(la barra finale dopo olddisk è necessaria). Come altri hanno già detto, se questo è il disco di avvio che si sta espandendo, sarà necessario eseguire nuovamente grub-install <new device>prima di poter essere avviato.


ce n'è uno di cui non avrei mai pensato :)
warren,



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.