cambiando il formato del filesystem da xfs a ext4 senza perdere dati


8

Ho un nuovo Lucid Lynx (Ubuntu 10.04) in esecuzione su un laptop. dove ho definito i filesystem come:

  • mount point / su ext4 (46 Gb)
  • mount point / home su jfs (63 GB)
  • scambia come 3 Gb

Ho lasciato la macchina per tutta la notte per svolgere alcune attività, senza alimentazione CA. il giorno dopo la mattina l'ho trovato in standby, attività completata, ma il filesystem non era raggiungibile. mi ha dato errore I / O

sembra che ci sia un problema con jfs e standby.

comunque, per evitare qualsiasi problema, voglio spostare questo mount point dal formato jfs a ext4.

posso farlo senza perdere i dati e senza la necessità di posizionare i dati in una posizione temporanea fino al completamento della trasformazione?

mi dispiace dirlo, ma ricordo che ai giorni di Windows, avremmo cambiato un FAT16 in FAT32 o un FAT32 in NTFS senza perdere i dati. Spero che questo sia disponibile su Linux.

Aggiorna Il filesystem / home era xfs non jfs, e sembra che ci sia un bug con questo filesystem per qualche motivo, ho dovuto reinstallare il sistema operativo due volte fino a quando non ho finito con ext4 per l'intero /

Tuttavia, come conclusione, sembra che non ci sia modo di fare una conversione


3
Fai un backup e ripristina. Qualsiasi altro metodo non verrebbe usato abbastanza comunemente per essere considerato sicuro. Oh, e per la cronaca FAT32-> NTFS non è stato sempre senza problemi.
Zoredache,

@Zoredache: (o chiunque altro con informazioni) Quale sarebbe l'utilità di backup appropriata? Penso che potrebbe essere necessario utilizzare tarqualcosa di simile, poiché la mia impressione è che dumpsia specifico del filesystem.
mpez0,

Ho bisogno di convertire il mio root (/) fs, un reiser4, in ext4, e un mio amico mi ha consigliato di usare cp o anche tar su quello. Ho letto man cpe lo proverò presto, il metodo suggerito è di montare il target fs su un altro SO, se possibile uno live, formattare la partizione e quindi estrarre / copiare nuovamente i dati. Dal momento che non stai avviando attraverso quel sistema operativo, non avrai problemi a eseguirne il backup, poiché i file del nodo dei dispositivi e altri file speciali non verranno montati in quel momento.
Spidey,

Risposte:


5

non sono a conoscenza di alcun modo per convertire in modo non distruttivo un file system. questo non significa che sia impossibile, ma lo metterei in contrasto molto basso.

è possibile, ad esempio, convertire da ext2a ext3senza cancellare il disco e da ext3a ext4.

ma per andare da qualcosa di simile jfsal ext4sembra altamente improbabile, senza prima copiare i /homefile in un'altra partizione o disco rigido esterno.

anche allora, vorresti creare un nuovo utente sul tuo sistema, con una home directory da qualche parte /tmp/tempusero copiare le tue configurazioni per il tuo utente, di solito i file 'punto' (file che iniziano con .) nella tua home directory in una nuova posizione /homee l'aggiornamento /etc/passwdper utilizzare la nuova home directory, in modo da poter accedere come un normale utente mentre si esegue questo aggiornamento.

quindi, esegui il backup dei tuoi file, smonta /homee formattali usando /sbin/mkfs.ext4o qualunque strumento tu abbia intenzione di usare. montare la nuova partizione /homee copiare nuovamente i file.

inoltre, consiglierei qualcosa di "intelligente" come rsynccopiare i tuoi file, per assicurarti di preservare le tue autorizzazioni e tutto quel jazz.


7

fstransform converte tra ext2, ext3, ext4, jfs, minix, xfs, reiserfs.

Lo vedo nei repository Debian, quindi probabilmente è disponibile anche in altre distribuzioni basate su Debian.


2
Ulteriori informazioni su questo progetto sono disponibili su github
lockwobr il

Se sei un utente openSUSE e desideri utilizzare questo strumento, puoi scaricare / installare utilizzando il metodo 'one-click' qui: software.opensuse.org/…
seveninstl

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.