Come posso spostare un'installazione Linux tra le partizioni?


8

Ho un nuovo HDD e desidero spostare un'installazione Linux esistente (più specifica: OpenSUSE 11.1) da una partizione sul vecchio HDD a una partizione sul nuovo HDD.

Il mio piano è:

  1. avviare usando un CD di avvio (diciamo che è il CD di avvio di OpenSUSE)

    MODIFICA Come suggerito da molte persone (grazie a tutti)
    1a. copia tutti i file da un disco all'altro

  2. modifica / etc / fstab ( aggiungi punti di mount a nuove partizioni)
  3. modifica /boot/grub/menu.conf ( aggiungi partizione di avvio)
  4. reinstallare grub

Ho ragione? È così?
O ho sbagliato qualche passo importante? (Sono abbastanza sicuro di averlo fatto)


1
hai perso il passaggio di copiare effettivamente i file dalla vecchia partizione a quella nuova. alcuni potrebbero dire che era abbastanza importante :)
Cas

Risposte:


4

Direi che c'è una cosa che ti sei perso.

  1. avviare usando un CD di avvio (diciamo che è il CD di avvio di OpenSUSE)

    1 bis. copia tutti i file da un disco all'altro

  2. modifica / etc / fstab (cambia i punti di montaggio in nuove partizioni)

  3. modifica /boot/grub/menu.conf (cambia partizione di avvio)
  4. reinstallare grub

Direi che se si imposta la partizione sul nuovo disco in modo che sia compatibile con i vecchi settaggi, questo dovrebbe essere piuttosto semplice. Potrebbe essere un po 'più complicato se devi modificare le posizioni dei punti di mount all'interno dei file del sistema operativo. Consiglierei di mantenere le partizioni abbastanza simili che tutto ciò che devi fare è avviare, montare la nuova unità, copiare, cambiare la partizione di avvio, reinstallare grub sul nuovo disco. rimuovi il vecchio disco e il gioco è fatto!


Devi stare attento con la copia però. Usa l'opzione -a per cp.
Kim,

5
o usa rsync. ha il vantaggio che se qualcosa interrompe la copia, puoi semplicemente eseguire di nuovo rsync e riprenderà da dove era stato interrotto anziché ricominciare dall'inizio. in ordine di preferenza, gli strumenti giusti per questo lavoro sono: rsync, tar, cp -a
cas

+1 Il suggerimento di Craig sopra è davvero un buon consiglio.
Axxmasterr,

1

È necessario copiare i file come sottolineato da Axxmasterr. Tutto il resto mi sembra giusto. Altri hanno seguito un percorso molto simile: spostare un'installazione GNU / Linux in una nuova partizione

Fai attenzione con il comando cp che usi per copiare i file. Utilizzare l'opzione -a per garantire il comportamento corretto quando si toccano i collegamenti simbolici e si conservano le informazioni sulla proprietà.

Alcune persone hanno usato tar invece di cp per copiare i file nella nuova partizione:

$ cd sourcedir; tar --create --file = -. | (cd targetdir; tar --extract --file = -)

Come suggerito nel link all'inizio, potresti voler lasciare la vecchia voce nel file grub e semplicemente aggiungerne una nuova, nel caso in cui sia necessario ripristinare.

In bocca al lupo!


Consiglio di cambiare i punti e virgola in questo comando in && (operatori condizionali) in modo che i successivi comandi 'tar' non vengano eseguiti se chdir () fallisce per qualsiasi motivo (errore di battitura, permessi, qualunque cosa). Inoltre consiglio di usare l'opzione -S (--sparse) con 'tar' --create per abilitare la gestione di file sparsi come alcune istanze di / var / log / wtmp o / var / run / utmp, per esempio).
Jim Dennis,

1

Penso che funzionerà.

Se c'è solo una partizione su ogni disco rigido e il nuovo disco ha le stesse dimensioni o più grande del disco originale, allora un modo più veloce è quello di clonare quello vecchio (/ dev / xxx, dove xxx = il tuo disco originale sda , hdb, ecc.) a quello nuovo (/ dev / yyy).

Quindi i passaggi sarebbero:

  1. Avvia utilizzando un cd live
  2. sudo dd if = / dev / xxx di = / dev / yyy bs = 32k

Assicurati di ottenere if (file di input) e corretto, altrimenti intaserai tutto il tuo vecchio disco.


Facendo dd si copierà anche il file system, potrebbe non essere pronto per la modifica delle dimensioni del disco (anche se più spazio sul nuovo disco)
Joakim Elofsson

È vero, la partizione clonata sul nuovo disco avrà le stesse dimensioni della partizione originale sul vecchio disco, quindi dovresti espanderla per usare il nuovo disco completo (userei gparted). Se vuoi cambiare anche i filesystem, allora l'approccio "cp -a" menzionato in un'altra risposta è migliore.
Fred Hamilton,

Puoi ridimensionare filesystem ext2-3-4 usando resize2fs. Altri file system hanno strumenti simili. Per ext è anche possibile ridurre le dimensioni del filesystem. Ho sempre preferito questo rispetto agli approcci cp / tar / dump.
Kristof Provost,
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.