Forza il disco rigido clonato su un disco rigido più piccolo

Ho un'image che è stata presa con Clonezilla come SAVEDISK su un harddrive 160GB.
Ora una versione più recente del PC rilasciata con un hard disk da 120 GB, lo spazio in uso è di soli 20 GB

C'è un modo per forzare Clonezilla (o qualsiasi altro programma) per manipolare le immagini 'size originali' a 120 GB o inferiore, in modo che Clonezilla possa scrivere sul nuovo PC?

Clonezilla si basa su Partclone per salvare e ripristinare i filesystem. Anche se è utile, anche se si utilizza l'opzione -icds , quella sola non è sufficiente. Quando si ripristina il file system originale sul disco più piccolo, Partclone incontrerà un errore di ricerca che cerca di scrivere oltre il limite del disco. Quindi questa è una limitazione non solo di Clonezilla, ma degli strumenti sottostanti che utilizza.

Ciò che puoi fare però è ripristinare temporaneamente l'image su un disco da 160 GB, utilizzare uno strumento di ridimensionamento dei filesystem come ntfsresize (per NTFS) o resize2fs (per ext3 / 4) per ridurre il file system, ad esempio a 25GB. Ridimensionare la tabella delle partizioni, che GParted fa, non è necessaria. Usa Clonezilla di nuovo per creare una nuova image usando l'opzione "savedisk".

Quando si ripristina l'image sul disco più piccolo, utilizzare l'opzione -icds per ignorare Clonezilla se il disco è uguale o maggiore del disco originale. Poiché si è ridotto il filesystem, Partclone non incontrerà un errore di ricerca e i dati verranno ripristinati sul disco più piccolo.

Se si utilizza l'opzione per ripristinare proporzionalmente la tabella delle partizioni ( -k1 ), Clonezilla crea una tabella di partizione appropriata e ridimensiona (espande) il file system originale in modo che tutto lo spazio libero del nuovo disco diventi disponibile.

EDIT: L'opzione -icds non viene passata a ocs-expand-mbr-pt , quindi questo passaggio non è più ansible. Su questo progetto è stato presentato un bug report . Il bug è stato risolto.

Ripristinare l'image su un harddrive da 160 GB o più … potrebbe essere virtuale.
Avvia quella macchina con il CD PartedMagic Live.
Ridimensionare la partizione con la partizione.

Metti l'unità come unità secondaria in Windows o Linux,
e ridimensionare utilizzando il gestore di dischi separati, gparted o Windows.

Ho risolto con un'image di Windows 10 come segue

  1. Spostare temporaneamente alcuni file se l'unità di origine è quasi piena.
  2. Un drive drefragmentato lascia più spazio per la restringimento, quindi defrag c:\ cliccando con il tasto destro sul drive -> tools
  3. ridurre la c:\ attraverso la gestione del disco di Windows il più piccolo ansible
  4. avviare Clonezilla, esperto, dispositivo-dispositivo, locale, select -icds e infine l'opzione -k1
  5. spegnere e scolbind la vecchia unità
  6. riavviare con il nuovo drive e tenere premuto il login di Windows, select riavviare -> risoluzione dei problemi -> riparazione di avvio

In passato il quarto passo non è riuscito, ma dal 2015 il clonezilla support GPT con l'opzione -k1 , quindi penso che questo è il motivo per cui questo funziona:
http://clonezilla.org/downloads/stable/changelog.php

Clonezilla live 2.4.2-38 … La disposizione della proporzione GPT potrebbe essere creata con l'opzione -k1 .

Il sesto passo è necessario perché Windows non riconosce l'unità di avvio nello strumento di ottimizzazione (trim SSD) e cercherà di riparare l'unità in modo random, quindi qualcosa sembra errato nella tabella di avvio / tabella delle partizioni, ma la riparazione di avvio lo risolve.

EDIT: Ho caricato un video del process completo (tedesco):
https://www.youtube.com/watch?v=GJ2LVY5ja-o

Se lo spazio non è in uso, vai in modalità esperta e abilita -icds quindi ripristina l'image. Salta il controllo della dimensione della partizione e lo ripristinerà con successo (solo se <120 GB è in uso).

La mia situazione:

  • Immagine di Clonezilla (di Windows 7) basata su unità 128GB (partizione di sistema 100MB + 117GB "C"),
  • nuovo azionamento da 120GB.

I seguenti suggerimenti (come https://superuser.com/a/592283/229908 ) non hanno risolto il problema per me.

Quello che ha funzionato per me è stato:

  1. ripristinare l'image ad un'altra unità (più grande)
  2. deframmenta quella unità (perché sembra che Clonezilla ripristina i dati come è stato strutturato sull'unità originale, quindi forse non ci sarà spazio sufficiente per ridurre la partizione alla dimensione di destinazione),
  3. ridurre la partizione (nel mio caso, il 117GB "C") alla dimensione dell'unità / partizione di destinazione (nel mio caso 111GB) o, più sicuro, ad una dimensione minore,
  4. installare Windows 7 sull'unità di destinazione (e creare la partizione di sistema utilizzando le opzioni avanzate),
  5. utilizzare Clonezilla per ripristinare each partizione (con il command restorepart ) dall'unità ridimensionata alla corrispondente partizione dell'unità di destinazione.

Il trucco principale perché ha funzionato è stato creare una tabella delle partizioni (nel mio caso fatto automaticamente installando Windows) che corrisponde all'unità di destinazione, quindi solo copiare i contenuti (via restorepart ) che non restorepart la configuration delle partizioni. Quindi, anche se la partizione di origine che viene ripristinata è inferiore a quella dell'objective, poiché la tabella delle partizioni non è toccata da restorepart , non è necessario estendere la partizione di destinazione dopo l'operazione.

Nel mio caso, i -icds non hanno risolto il problema. Non so se il problema è esattamente lo stesso della mia. Ma ho lasciato qui il mio centesimo.

Ho provato un disco a disco clonare da un disco rigido 930GiB (unità di origine) con una tabella di partizione GPT a 890GiB SSD (destinazione). Si prega di notare che sono un utente Linux e ho un doppio avvio con Windows 10. Ho cercato di lasciare invariato tutte le partizioni e di ridurre leggermente la dimensione della mia partizione di dati solo.

  1. Con gparted, ho ridimensionato la partizione dati più grande per avere una dimensione globale che si adatta alla destinazione SSD e ha spostato tutto lo spazio libero alla fine
  2. Ho usato il clonezilla-Live dalla penna USB, con modalità avanzata e -icds abilitate.

Ha fallito . Sembra che Clonezilla non riesca, all'inizio, a clonare la tabella delle partizioni sul disco di destinazione perché utilizza erroneamente l'utilità di sfdisk che è per i tipi di partizione più vecchi invece di sgdisk utils. La mia soluzione:

  1. Lo stesso di quello precedente (la dimensione complessiva deve adattarsi)
  2. Ho copiato manualmente la partizione da un'unità all'altra, usando la shell Clonezilla con questo command ( solo per le partizioni GPT! ):

    sgdisk / dev / sdSourceDeviceName -R / dev / sdDestinationDeviceName

  3. Eseguito Clonezilla disco-to-disc clone, selezionando l'opzione -icds e l'opzione per NON CREARE una tabella delle partizioni sul disco di destinazione, opzione -k . (In questo caso Clonezilla utilizza le partizioni di destinazione come sono e ridimensiona le partizioni quando le size sono più piccole, per adattarsi, esegue un buon "sforzo migliore").

Ha funzionato . Ho ottenuto tutte le partizioni della stessa dimensione della sorgente (Sì ho ridotto solo una piccola partizione più grande). Il doppio avvio con le windows continua a funzionare bene. Saluti