I file diventano più grandi durante la copia


1

Sono stato abbastanza stupido da dimenticare che ho cancellato un vecchio backup in modo da poterne creare uno nuovo. Alcuni giorni dopo averlo cancellato, il mio Windows si è bloccato.

Ora sto cercando di creare un backup tramite Debian. Sto copiando il mio disco da 1 TB su un'unità da 1,5 TB, con l'albero delle directory di Windows (non come immagine). Ma il mio 1TB non si adatta al 1,5TB. Non ci sono altri file sul disco da 1,5 TB. Entrambe le unità sono NTFS.

Cosa sta succedendo e come posso risolvere questo problema?


Stai facendo una copia della partizione o una copia del file? Usi la compressione sull'unità da 1 TB? I file system sono entrambi NTFS e le dimensioni dei blocchi sono le stesse? Una copia della partizione darà sempre la stessa dimensione e puoi creare una partizione aggiuntiva nel 500 MB gratuito. io raccomando gparted per queste operazioni, ma in alternativa puoi usare dd copiare il disco da 1 TB in un singolo file da 1 TB in una partizione da 1,5 TB (o anche in un file più piccolo se si comprime al volo, al costo di un processo di backup più lento).
AFH

Sono entrambi NTFS. La dimensione del blocco di entrambi è 512. gparted non funziona per me (Debian Jessie) E ho bisogno di clonare l'intero disco, non di crearne un'immagine.
hasnieking

Puoi usare dd per clonare anche il disco. Vedi la mia risposta qui sotto.
John

Risposte:


2

Ok, Ho cancellato la mia intera unità e sono andato alle proprietà. Qui ho scoperto che era elencato come vuoto ma 1 TB usato. Ho formattato come NTFS e ora tutto si adatta!


1
Ricorda di segnare la tua risposta se funziona per te.
NetworkKingPin

Se vuoi un clone utilizzabile da cui puoi eseguire l'avvio (al contrario di un semplice backup dei tuoi file personali), tieni presente che copiando le cose usando cp come stai probabilmente non funzionerà. Ad esempio, non copierai il settore di avvio. Anche se riesci a farla avviare facendo del lavoro aggiuntivo, potrebbe darti dei problemi in fondo perché cp non può copiare determinati attributi e altre cose specifiche di ntfs correttamente. D'altra parte, se vuoi solo fare un backup dei tuoi file personali, perché non utilizzare la funzionalità di backup integrata in Windows?
John

0

Esistono diversi possibili motivi per cui un albero di directory copiato potrebbe occupare più spazio nella destinazione rispetto a quello nella fonte. La maggior parte dei file system, incluso NTFS, supporta le seguenti funzionalità che potrebbero contribuire a questo.

Edit: Ho appena visto che stai cercando di usare cp per fare la copia piuttosto che Windows Explorer. Non sono sicuro di come cp e ntfs-3g comportarsi rispetto a questi articoli. Tuttavia, continua a leggere perché c'è una seconda parte della risposta.

  • link simbolici / hardlinks : I file system possono creare una "copia" leggera di un file che, anziché essere una copia completa del file originale, punta semplicemente al file originale (il che significa che le modifiche apportate a una "copia" si applicano all'altra). Credo che Windows utilizzi anche questa funzionalità stessa, ad esempio, nella cartella WinSXS. Quando si tenta di copiare un link simbolico / hard con Windows Explorer, non verrà semplicemente copiato il collegamento simbolico leggero / hard link. Invece, ti darà una copia completa del file originale. Ad esempio, supponiamo di avere un file e un collegamento simbolico a quel file e di copiarli entrambi in una nuova posizione. Quindi si finirà con due copie del file originale anziché uno, occupando un totale del doppio dello spazio utilizzato inizialmente.
  • file sparsi : NTFS consente alle persone di risparmiare spazio su file che contengono lotti di grandi dimensioni che sono tutti 0. Invece di salvare l'intero file, al file system può essere detto di salvare solo i blocchi che sono diversi da zero. Quando si copia un file sparse usando Windows Explorer, la copia risultante non sarà più sparsa, quindi i blocchi di tutti gli 0 nel file occuperanno effettivamente spazio ora, aumentando la dimensione della copia.
  • compressione: NTFS consente alle persone di chiederlo di comprimere i file per risparmiare spazio. Quando un file viene copiato utilizzando Windows Explorer, la copia risultante non verrà compressa a meno che la directory in cui viene copiato sia una directory compressa. Vedere questa pagina della guida di Microsoft per i dettagli .

A meno che tu non stia facendo personalmente uso di queste funzionalità in modo esteso, sembra improbabile che una qualsiasi di queste cose possa causare alla tua copia di consumare così tanto spazio. È possibile capire da dove proviene lo spazio extra eseguendo un'utilità di utilizzo dello spazio su disco come WinDirStat sia sulla fonte che sulla copia (incompleta) per vedere quali cartelle occupano più spazio nella copia.

Tuttavia, se si desidera effettivamente un'immagine Windows completamente utilizzabile da cui eseguire il ripristino, non è consigliabile utilizzare un'utilità simile cp poiché non sono sicuro che copierà correttamente i metadati (ad esempio, ACL di Windows). Invece raccomanderei di fare una copia basata su immagini come suggerito da AFH. Se vuoi clonare il disco invece di crearne un'immagine, dovresti essere in grado di seguire essenzialmente le stesse istruzioni, con lievi modifiche che verranno menzionate alla fine.

  1. Avvio in Linux. (Credo che tu abbia detto che stavi usando Debian.)
  2. Determina il percorso del disco rigido di cui vuoi eseguire il backup. Dovrebbe iniziare con /dev/. Raccomando di eseguire il backup dell'intero disco rigido anziché solo di una partizione. Faremo riferimento a questo come di seguito.
  3. Montare il disco rigido sul quale si desidera eseguire il backup e individuare il percorso del relativo punto di montaggio. Faremo riferimento a questo come di seguito.
  4. Correre dd if=<path to source> of=<path to destination mount point>/mybackup.bak
  5. Attendere da 3 ore a 1,5 giorni per il completamento. (La velocità sarà probabilmente tra 10mb / se 100mb / s.) Se la tua sorgente o destinazione è un'unità esterna USB 3.0, potresti essere sorpreso di notare che la velocità di copia è molto più lenta rispetto a Windows. Il motivo è che anche se Linux dovrebbe supportare UASP , il supporto non sempre viene abilitato quando dovrebbe essere. (Almeno, questa è stata la mia esperienza.)
  6. Se è necessario ripristinare il backup, eseguire dd if=<path to destination mount point>/mybackup.bak of=<path to source>

Se vuoi clonare il disco invece di creare un'immagine, dovresti essere in grado di sostituire con il percorso dell'HD che vuoi copiare. (Dovrebbe iniziare con /dev/.)

Modifica: come sottolinea gronostaj, usando il bs=<size> parametro con dd potrebbe velocizzare le cose Tuttavia, il miglior valore da utilizzare dipende dal tuo sistema. Vedere questa risposta per i dettagli .


Aggiungere bs=4K a dd chiama per farli waak più veloce.
gronostaj
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.