Converti partizione NTFS in ext4 - Come copiare i dati?


1

Volevo convertire la mia D:\partizione con tutti i miei dati da NTFS a ext4 e Internet mi ha detto che avrei dovuto fare quanto segue:

  1. Riduci tutte le partizioni alla dimensione minima
  2. Eseguire il backup dei miei dati (fatto clonando la partizione in GParted)
  3. Formatta la partizione su ext4 (Non ancora fatto, ma non così difficile)
  4. Copia il backup sull'unità
  5. Elimina il backup e ingrandisci tutte le partizioni

E non so come fare la parte 4. Posso davvero copiare un'intera unità come farei per le cartelle? Ci sono strumenti specializzati in questo? Come posso assicurarmi di non perdere nessuna cartella nascosta dal sistema o collegamenti simbolici ecc.? Ho una chiavetta USB dal vivo Ubuntu su cui lavorare se questo è importante.


2
Non sai come copiare i file?
Ramhound,

So come copiare i file. La domanda è se posso copiare intere unità come faccio per i file o se ci sono cose speciali da fare per non rompere il sistema.
piegames

Esistono strumenti che leggono ciascun settore di un'unità e producono un'immagine di detta unità.
Ramhound,

Risposte:


1

1. Strumento GUI di FreeFileSync (Windows, Mac, Linux)

Per assicurarti di non perdere alcun dato, ti consiglio vivamente di utilizzare un buon strumento di copia di file come FreeFileSync . È grafico, gratuito, gratuito e open source e multipiattaforma (Windows, Mac, Linux). Basta essere sicuri di non rovinare tutto e copiare all'indietro, eliminando tutto! Non è difficile da ottenere, tuttavia, poiché è grafico e molto intuitivo.

Basta impostare le cartelle con l' origine a sinistra e la destinazione a destra, quindi fare clic sull'ingranaggio in alto a destra e scegliere l'opzione "Mirror" per eseguire il mirroring da sinistra a destra, quindi premere il pulsante "Confronta" in alto a sinistra. Una volta determinato ciò che deve copiare, verrà visualizzata una schermata informativa che mostra cosa sta per fare (quanti file creerà, sovrascriverà o eliminerà, ecc.). Assicurati di non vedere nulla accanto al cestino (che indica cosa deve essere eliminato) o di vedere i file previsti da eliminare, come indicato con il cestino e un segno meno, quindi premi il pulsante "Sincronizza" per iniziare. Ecco! Facile da usare. Ecco uno screenshot:inserisci qui la descrizione dell'immagine

2. Strumento da riga di comando rsync (Linux, Windows con Cygwin) (AKA: "Come usare rsync"):

Se stai eseguendo la copia da Linux, puoi anche usare FreeFileSync ovviamente, ma se sei un guru della riga di comando ti potrebbe piacere di rsyncpiù. È uno strumento solo a riga di comando, più difficile da usare, ma comunque molto potente, anche se non altrettanto potente di FreeFileSync poiché non gestisce molto bene la sincronizzazione bidirezionale. Ecco alcuni dei miei rsynccomandi preferiti :

  1. COPIA dalla sorgente alla destinazione, lasciando intatto tutto ciò che non è in conflitto:

    sudo rsync -rah --stats --info=progress2 '/path/to/source' '/path/to/destination'
    

    Facoltativamente, aggiungi --verboseo semplicemente -v(o -rahvnel mio caso) per ottenere anche un elenco completo di ciò che verrà copiato.

    Facoltativamente, aggiungere --dry-runper mostrare ciò che sarebbe accaduto ma in realtà non ancora farlo.

    Facoltativamente, puoi anche registrare l'intero elenco di file da copiare in un stdout.logfile come questo e qualsiasi errore in un stderr.logfile come questo. Qui rimuovo l'indicatore di avanzamento rimuovendolo --info=progress2, solo così i file di registro non vengono inquinati con le informazioni sullo stato ovunque:

    (sudo rsync -rah --verbose --dry-run --stats '/path/to/source' '/path/to/destination' | tee -a '/path/to/stdout.log') 3>&1 1>&2 2>&3 | tee -a '/path/to/stderr.log'
    

    Rimuovi --dry-runda quanto sopra quando sei pronto per effettuare effettivamente la copia. Assicurati di rivedere la stampa del paragrafo stats (che hai stampato perché avevi --stats) alla fine del file stdout.log prima di eseguire lo script per davvero, per assicurarti che tutto appaia bene.

    Ecco un esempio di --statsoutput ottenuto eseguendo l'opzione MIRROR di seguito. Si noti che sta eliminando alcuni file. Prestare attenzione a ciò, poiché non è possibile annullare l'eliminazione dei file (almeno non senza speciali strumenti di recupero del software). Tieni presente che li sta eliminando definitivamente , NON li sta inviando a una sorta di cestino o qualcosa del genere, quindi fai attenzione!

    Numero di file: 102.033 (reg: 89.638, dir: 9.867, collegamento: 2.502, speciale: 26)
    Numero di file creati: 3 (reg: 3)
    Numero di file cancellati: 9.861 (reg: 9.360, dir: 474, collegamento: 27)
    Numero di file regolari trasferiti: 25
    Dimensione totale del file: 8.12G byte Dimensione
    totale del file trasferito: 35.30M byte
    Dati letterali: 35.30M byte
    Dati corrispondenti: 0 byte
    Dimensione dell'elenco file: 917.43K
    Tempo di generazione dell'elenco file : 0.007 secondi
    Elenco file tempo di trasferimento: 0.000 secondi
    Byte totali inviati: 38.33M
    Byte totali ricevuti: 1.02M

    inviato 38,33 M byte ricevuto 1,02 M byte 7,15 M byte / sec
    dimensione totale è 8,12 G speedup è 206,37

  2. A SPECCHIO dalla sorgente alla destinazione, il che significa anche eliminare qualsiasi cosa nella destinazione che non sia nella fonte (nota la riga "Numero di file eliminati" nell'output delle statistiche mostrato sopra), aggiungi --delete --delete-excluded(anche se non stiamo ancora escludendo nulla, una volta che conosci la --exclude=PATTERNsintassi ti accorgerai anche che vuoi la --delete-excludedbandiera).

    Innanzitutto, la versione sicura a secco:

    (sudo rsync -rah --verbose --dry-run --stats --delete --delete-excluded '/path/to/source' '/path/to/destination' | tee -a '/path/to/stdout.log') 3>&1 1>&2 2>&3 | tee -a '/path/to/stderr.log'
    

    E ora il pericolo pericolo pericolo - potrebbe eliminare tutto se si fa la versione all'indietro di origine e destinazione (quindi controllare l'output delle statistiche alla fine di stdout.log prima di continuare):

    (sudo rsync -rah --verbose --stats --delete --delete-excluded '/path/to/source' '/path/to/destination' | tee -a '/path/to/stdout.log') 3>&1 1>&2 2>&3 | tee -a '/path/to/stderr.log'
    

    E ora la versione che non viene salvata in nessun file di registro nel caso in cui si desideri solo vedere l'avanzamento in tempo reale e il paragrafo delle statistiche alla fine, ma NON avere un registro dei singoli file copiato o eliminato in stdout.log, o errori stampati in stderr.log:

    sudo rsync -rah --info=progress2 --stats --delete --delete-excluded '/path/to/source' '/path/to/destination'
    
  3. E questo è solo l'inizio di rsync. Leggi il manuale: man rsyncoppure online: https://linux.die.net/man/1/rsync e tieni presente che puoi combinare e abbinare molte delle opzioni che ho mostrato sopra. Altre cose davvero utili da esaminare includono la configurazione di un file source.txt e di un file exclude.txt , per includere ed escludere, rispettivamente, elenchi di file e percorsi. Fallo con l'opzione --files-from='/path/to/source.txt'e --exclude-from='/path/to/exclude.txt', rispettivamente. Questo è estremamente utile. Infine, questo va molto bene con l' --relativeopzione. Alla fine, uno script Bash completo potrebbe assomigliare a questo:

     (sudo rsync $OPTIONS $SRC $DEST | tee -a $LOG_STDOUT) 3>&1 1>&2 2>&3 | tee -a $LOG_STDERR
    

    Dove $ SRC è il percorso di origine (in questo caso, un percorso relativo per tutti i file nel file source.txt , ad esempio semplicemente /per rendere tutto relativo alla directory principale), $ DEST è il percorso di destinazione, $ LOG_STDOUT è il percorso dove vuoi registrare le tue informazioni stdout, $ LOG_STDERR è il tuo percorso verso dove vuoi registrare le tue informazioni stderr e $ OPTIONS potrebbe assomigliare a questo:

    -rah --verbose --stats --relative --info=progress2 --delete --delete-excluded --dry-run --files-from='/path/to/source.txt' --exclude-from='/path/to/exclude.txt'
    

    E, naturalmente, come si è detto, si potrebbe desiderare di rimuovere --verbose, --relative, --info=progress2, --deletee --delete-excluded, e --dry-run, se lo desideri, a seconda di quello che stai facendo.

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.