Come clonare su un disco rigido più piccolo?


42

Come clonare un disco rigido in uno più piccolo.

  1. Clonezilla è eccezionale ma non supporta tale funzionalità.
  2. Inoltre, ddPartImage non supporta questa richiesta.
  3. rsync non copierà l'MBR poiché un MBR non è un file.

Devo clonare un HDD per non eseguire un backup, quindi rsyncnon è una risposta accettabile.

Eventuali suggerimenti?


2
Solo una domanda, perché è necessario essere un clone? Se è per l'UUID, ti dispiace ridurre il filesystem prima di eseguire la copia dd? Se non ti dispiace ridurlo, esegui semplicemente resize2fs per portare il filesystem in un punto in cui è più piccolo del disco di destinazione, quindi copiarlo. Dall'altro lato, eseguire nuovamente resize2fs per espanderlo e riempire il nuovo disco.
darkdragn,

Risposte:


36

Chiaramente non puoi clonare una partizione più grande su una partizione più piccola (usando dde simili) poiché semplicemente non c'è abbastanza spazio.

Tuttavia, se i file che si trovano sulla partizione più grande si adattano anche alla partizione più piccola, è possibile utilizzare rsyncper copiare tali file. Le opzioni esatte da utilizzare dipendono dal caso d'uso specifico, ma per copiare semplicemente tutti i file è necessario:

rsync -av /mount/point/of/large/partition/ /mount/point/of/small/partition

Modifica: ancora una volta: non è possibile clonare una partizione più grande su una partizione più piccola . (Ma continua a leggere, il tuo problema può essere ancora risolto.)

Il motivo è semplice: la partizione di origine è più grande della partizione di destinazione. Cosa ti aspetti? Alcuni blocchi devono essere eliminati? Quale? E come dovrebbe ddsaperlo? Ovviamente, potresti usare ddle opzioni bs=e le count=opzioni per copiare solo i primi così tanti blocchi della partizione di origine in modo che si adattino alla partizione di destinazione, ma finirai con una partizione rotta. Non è certamente quello che vuoi.

Pertanto, poiché non è possibile clonare una partizione più grande su una partizione più piccola, l'unica cosa che è possibile fare è ridurre innanzitutto la dimensione della partizione di origine a una dimensione inferiore o uguale a quella della partizione di destinazione con qualcosa di simile gpartedal specifiche del filesystem, in modo tale da non perdere dati. E solo allora potresti usare ddper clonare la partizione. Idealmente, la nuova dimensione della partizione di origine dovrebbe essere uguale alla dimensione della partizione di destinazione (e non solo più piccola o uguale ), altrimenti si otterrà uno spazio non allocato sulla partizione di destinazione dopo la clonazione.

Si prega di notare anche che si dovrebbe non semplicemente copiare un MBR di un disco più grande sul MBR di un disco più piccolo (o viceversa, se è per questo). L'MBR, che ha una dimensione di 512 byte ed è la prima sezione del disco rigido, contiene informazioni sul layout del disco rigido:

  • 446 byte - Bootstrap.
  • 64 byte - Tabella delle partizioni.
  • 2 byte - Firma.

(Nota che 446+64+2=512.)

Se si insiste sulla clonazione dell'MBR, clonare solo i primi 446 byte in questo modo:

dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1

... sostituendo /dev/sourcee /dev/targetcon i nomi dei dispositivi dei dischi rigidi di origine e di destinazione, ad esempio, /dev/sdae /dev/sdb, rispettivamente. ( Maggiori informazioni sono disponibili qui. )

Tuttavia, il modo corretto per farlo sarebbe quello di fare una reinstallazione di Grub pulita (o qualunque cosa tu abbia sul tuo MBR) sul nuovo hard disk.

Riassumendo, se si desidera clonare un'unità più grande su un'unità più piccola, procedere come segue:

  1. Disporre una tabella delle partizioni sull'unità di destinazione con tante partizioni quante sull'unità di origine. Dovrebbe esserci una corrispondenza uno a uno tra le partizioni sull'unità di origine e le partizioni sull'unità di destinazione, tranne per il fatto che (alcune) delle partizioni sull'unità di destinazione possono essere più piccole delle rispettive partizioni sull'unità di origine. Utilizzare uno strumento come fdisko cfdiskper quello.

  2. Per ogni partizione sull'unità di destinazione che è più piccola della sua partizione corrispondente sull'unità di origine, ridurre la dimensione di questa partizione corrispondente sull'unità di origine in modo che corrisponda alla dimensione della partizione sull'unità di destinazione. Utilizzare uno strumento come gpartedquello.

  3. Per ogni partizione sull'unità di origine, immettere il comando

    dd if=/dev/sdaX of=/dev/sdbY
    

    ... per clonare la partizione /dev/sdaXdall'unità di origine alla partizione corrispondente /dev/sdbYsull'unità di destinazione (ovviamente sostituire i nomi dei dispositivi in ​​modo appropriato).

  4. Se insisti nel clonare anche l'MBR, usa i due ddcomandi scritti più sopra in questo post (quelli con /tmp/mbr.bakroba). Tuttavia, tieni presente che una reinstallazione pulita di Grub sarebbe migliore.


2
rsync non copierà l'MBR poiché l'MBR non è un file, quindi rsync non è per la clonazione. Ho bisogno di clonare un disco rigido, non fare un backup;)
Maythux

2
Sì, non rsyncè davvero per la clonazione. Questo è esattamente quello che stavo dicendo: leggi attentamente il mio post. ;) Ho modificato il mio post per spiegare come è possibile clonare tutte le partizioni, nonché l'MBR. Spero che questo sia più vicino a quello che vuoi.
Malte Skoruppa,

1
Come fa qualcuno a installare Grub pulito?
Ken Sharp,

1
@KenSharp Vedi qui, ad esempio: help.ubuntu.com/community/Grub2/Installing
Malte Skoruppa

1
@gerrit L'uso di parted/ gpartedper il passaggio 1 va perfettamente bene. Come spesso accade, ci sono molti modi per raggiungere un obiettivo. fdisk/ cfdiskSono strumenti più "di base" e nella descrizione sopra stavo semplicemente cercando di fare riferimento allo strumento più semplice che avrebbe fatto il lavoro.
Malte Skoruppa,

14

La clonazione esatta non è possibile poiché Malte Skoruppa ha già pubblicato. Tuttavia clonezilla è in grado di svolgere questa attività purché il disco più grande non sia pieno (Malte lo ha già menzionato).

Fondamentalmente è necessario abilitare le opzioni avanzate e "ignorare" il messaggio di avviso su un disco più piccolo. Vedi i documenti di Clonezilla per i dettagli con gli screenshot. Ho avuto lo stesso problema durante il ripristino di un backup di un HDD da 160 GB su un SSD da 64 GB. Per me questo ha funzionato bene.

Un'altra soluzione che dovrebbe essere il risultato desiderato sarebbe il ripristino su un disco della stessa dimensione e la ripartizione per adattare il nuovo schema di partizione al disco più piccolo. Vedi jsm-techblog.blogspot.de per i dettagli su come farlo.


@DennisNolte Quale opzione avanzata deve essere abilitata in Clonezilla? Leggendo i documenti, immagino -k1che creerà la tabella delle partizioni in modo proporzionale nel disco di destinazione e attivare l'opzione -rper ridimensionare automaticamente il file system nella partizione. È corretto?
Pro Backup

Non ne sono più sicuro al 100%, ma quelle sarebbero le opzioni che proverei se facessi di nuovo la stessa cosa, sì. Tuttavia, ho avuto bisogno di 2 o 3 tentativi fino a quando non ha funzionato correttamente, e purtroppo non mi sono ricordato quali passi ho preso, oltre all'utilizzo delle opzioni di avanzamento.
Dennis Nolte,

Non sono riuscito a farlo funzionare utilizzando l' k1opzione, tuttavia l' -icdsopzione ha funzionato per me. Invierò una risposta con maggiori dettagli.
bbodenmiller,

Ho aggiunto i dettagli su come ho funzionato su askubuntu.com/a/504778/310789 .
bbodenmiller

Clonezilla può farlo tramite copia da disco a disco, ma solo in modalità Esperto (parametro -icds). @ProBackup sii consapevole di usare -k1, nel mio caso genera un segfault (Clonezilla Live 20160627). Invece, usa Gparted prima (e dopo) del clone per lasciare (e recuperare) tutto lo spazio non allocato necessario e quindi clonare saltando il controllo dello spazio su disco (-icds). Ho elencato i passaggi per eseguire il clone in un disco più piccolo qui (salta le parti di Win7 su MBR se hai solo Linux).
Chirale,

7

Gparted dovrebbe fare il lavoro

  1. Dopo il ridimensionamento con gparted, avviare dall'unità per dare al sistema operativo la possibilità di correggere eventuali errori prima di eseguire l'imaging con Clonezilla.

  2. Quindi esegue Clonezilla e crea una copia delle partizioni del disco rigido necessarie

Un'altra opzione che ho trovato eccezionale per me: MondoRescure

Mondo Rescue è una soluzione di ripristino di emergenza GPL.

Supporta nastri, dischi, rete e CD / DVD come supporto di backup, file system multipli, LVM, Raid software e hardware.

Una semplice guida può essere trovata qui

Pubblicherò alcuni screenshot:

FASE 1 BACKUP (PARTITION SCREENSHOT)

1. Scegliere dall'elenco dei tipi di supporto di backup supportati.

inserisci qui la descrizione dell'immagine

2.Se stai eseguendo il backup su CD / DVD- + R [W], Mondo ti chiederà se il tuo masterizzatore CD ha la tecnologia BurnProof, è all'interno di un laptop o è eccentrico. Se si esegue il backup su uno streamer di nastri, non verrà visualizzato questo messaggio

3.Quanta compressione vuoi? Nessuno, se lo streamer del nastro ha una compressione hardware integrata. Massimo, se la tua CPU è incredibilmente veloce. Media dovrebbe andare bene per la maggior parte delle situazioni.

inserisci qui la descrizione dell'immagine

4.Se si desidera eseguire il backup dell'intero computer (esclusi / sys, / run e / proc, naturalmente così come / tmp), lasciare questo come / che è l'impostazione predefinita. Altrimenti, specifica i sottoinsiemi (ad es. / Usr / local | / home) assicurandoti di inserire una pipe tra ogni percorso.

inserisci qui la descrizione dell'immagine

5.Se si esegue il backup dell'intero computer, è possibile che si desideri escludere determinate directory, ad esempio / shared / MP3. Specificali nella finestra di dialogo "escludi directory". Inserisci una pipe tra ogni percorso, ad es. / Shared / private | / scratch | / nfs | / windows

inserisci qui la descrizione dell'immagine

6. Il tuo kernel è sano? Gli utenti di Red Hat, Mandrake, SuSE, Debian e Slackware dovrebbero in generale dire di sì perché questi fornitori sono bravi a produrre kernel affidabili. Se stai usando Gentoo o LFS, il tuo kernel potrebbe non essere standard, nel qual caso dire 'no' per usare il kernel di sicurezza di Mondo (fornito separatamente).

inserisci qui la descrizione dell'immagine

7.Se si desidera verificare gli archivi dopo averli scritti sui media, dire 'sì' qui. Se hai assoluta fiducia nel tuo hardware e nella tua distribuzione Linux, dì "no" ... e una piccola preghiera.

inserisci qui la descrizione dell'immagine

8.Se sei sicuro di voler andare avanti, di '"sì" e trova qualcos'altro da fare mentre Mondo esegue il backup del computer. Se dici "no", verrai scaricato senza tante cerimonie al prompt della shell. :-)

inserisci qui la descrizione dell'immagine

9.Il processo di backup inizierà ora. Ci sono alcune attività di pre-backup da eseguire prima, ma il backup è essenzialmente in corso. Per semplificare il processo di backup, è stata posta una serie di domande. La prossima volta, se vuoi, puoi chiamare mondoarchive con varie opzioni della riga di comando per controllarne il comportamento, invece di rispondere a una serie di domande. Vedi la pagina man per i dettagli.

inserisci qui la descrizione dell'immagine

10.Mondo creerà un catalogo di tutti i file di cui eseguire il backup. Questa operazione potrebbe richiedere fino a cinque minuti. L'elenco dei file sarà diviso in set, circa 4 MB (prima della compressione) di file per set. Questo in genere richiede un minuto.

inserisci qui la descrizione dell'immagine

11.Mondo chiama Mindi. Mindi genera immagini del supporto di avvio e immagini del disco di dati ausiliari basate sulla distribuzione e sul filesystem di Linux esistenti. In questo modo, puoi essere sicuro che gli strumenti di Mondo saranno compatibili con i tuoi filesystem e binari esistenti: gli strumenti di Mondo sono i tuoi strumenti. Mindi richiede fino a cinque minuti per l'esecuzione.

inserisci qui la descrizione dell'immagine

12. Infine, Mondo inizia a eseguire il backup del computer. Questo processo può richiedere alcuni minuti o alcune ore, a seconda della quantità di dati che stai archiviando, della velocità della tua CPU, della quantità di RAM che hai e così via. Eseguirà il backup dei file normali e quindi dei file di grandi dimensioni (file di dimensioni superiori a circa 32 MB). Se hai scelto di verificare i tuoi backup, anche Mondo lo farà.

inserisci qui la descrizione dell'immagine

PASSAGGIO 2 RIPRISTINO (PARTITION CLONE)

1.Scegli il tuo tipo di supporto di backup. Il processo di ripristino live è molto simile a quello che sperimenterai se digiti mondorestore senza parametri dopo l'avvio da un supporto Mondo.

inserisci qui la descrizione dell'immagine

2. Premere 'OK' dopo aver inserito il nastro / CD. Se è stato generato un backup su nastro, il nastro stesso dovrebbe essere sufficiente. Se hai generato un backup del CD, il primo CD dovrebbe essere sufficiente. Altrimenti, potrebbe essere necessario il supporto di avvio.

inserisci qui la descrizione dell'immagine

3.Flag i file e le directory che desideri ripristinare. Utilizzare i pulsanti "Altro" e "Meno" per aprire e chiudere le sottodirectory.

inserisci qui la descrizione dell'immagine

4.Specificare la posizione in cui ripristinare i file. In generale, '/' è appropriato. Se non si desidera sovrascrivere le versioni più recenti dei file che si stanno ripristinando, specificare / tmp / BKP o simili come percorso di ripristino.

inserisci qui la descrizione dell'immagine

5.Mondorestore recupererà le informazioni di configurazione dal supporto. (La schermata di esempio è per gli utenti di nastri. Gli utenti di CD vedranno qualcosa di diverso.)

inserisci qui la descrizione dell'immagine

6.I dati verranno ripristinati sul disco rigido: prima i file normali, quindi tutti i file di grandi dimensioni (32 MB o superiori) nel set di ripristino.

inserisci qui la descrizione dell'immagine


Sembra interessante Proverò quindi ti
fornirò i

@Maythux feedback con i risultati?
Highmastdon,

Devi prima masterizzare tutto su disco?
Ken Sharp,

Per coloro a cui piace saltare subito e provare le cose per far funzionare mondo, dovrai scaricare e installare le ultime versioni di lib-projectbuilder-perl, libmondorescue-perl, mindi-busybox, mindi e mondo dal MondoRescue link sopra e installarli in quell'ordine per evitare dipendenze insoddisfatte. Ci sono pacchetti .deb disponibili in modo da non doverli compilare tutti dal sorgente se preferisci non farlo.
Elder Geek,

La versione corrente non sembra avere l'interfaccia utente della versione (1.5) elencata qui e il test mindy non è riuscito ad avviarsi per me.
Elder Geek,

4

La "pseudo-clonazione" di un disco rigido più grande su uno più piccolo può essere realizzata usando Clonezilla. In effetti è possibile salvare e ripristinare le partizioni del disco. I seguenti passaggi (sviluppati per il trasferimento da HDD a SSD) ti porteranno lì:

  1. Il primo trucco è utilizzare Gparted per ridimensionare le partizioni sul disco rigido, riducendo ogni partizione in modo da ridurre la quantità di spazio inutilizzato che contiene. Ovviamente, le partizioni devono essere dimensionate in modo tale che lo spazio totale richiesto per tutte le partizioni sia inferiore alla capacità dell'SSD.

  2. Uno esegue quindi Clonezilla e crea una copia delle singole partizioni del disco rigido (usando l'opzione saveparts), memorizzandole temporaneamente su un'unità USB esterna. Si noti che è necessario salvare le partizioni (saveparts) anziché creare un'immagine dell'intero disco (saveisk).

  3. Con l'SSD installato nel computer di destinazione, il secondo trucco è utilizzare ancora una volta il gestore delle partizioni per creare la struttura di partizioni desiderata sull'SSD.
  4. Clonezilla viene quindi utilizzato per ripristinare le partizioni salvate (usando restoreparts) sull'SSD.

Vedere: "Clonazione" di un disco rigido su un SSD più piccolo per ulteriori discussioni sul processo e una serie di collegamenti per fonti di riferimento.


3

Dal momento che la maggior parte degli esempi precedenti sembrano suggerire di ridimensionare effettivamente l'unità originale Vi è un rischio per i dati modificandoli prima di fare effettivamente una copia se.

C'è un altro modo che è meno rischioso anche se molto manuale che uso. Dal momento che lascia intatta l'unità di origine nel caso in cui si desideri tornare indietro perché qualcosa non ha funzionato.

Inoltre, con la clonazione / ridimensionamento non è possibile passare a un file system più recente mentre ci si sposta su una nuova unità mentre si esegue lo scambio del disco. Con la procedura seguente, è sufficiente creare il file system di propria scelta sull'unità di destinazione.

Installa nuova unità di destinazione lungo l'unità originale laterale nel tuo computer.

  • avviare il computer da Ubuntu live cd.
  • Sull'unità di destinazione. usa gparted create: un ext4 (o qualsiasi nuovo filesystem veloce su cui decidi di passare) (volume e un volume di swap e swap - filesystem
  • In gparted impostare il bootflag sul nuovo volume

Nel mio esempio la sorgente (unità originale) è / dev / sda e la destinazione (nuova unità più piccola) è / dev / sdb Nella tua configurazione potrebbe essere diverso

mount src come letto solo in / mnt / source

  • mkdir / mnt / source; mount -o ro / dev / sda / mnt / souce

montare l'unità di destinazione in / mnt / destination

  • mount / dev / sdb1 / mnt / destinazione /

copia il filesystem src nel filesystem di destinazione con:

  • rsync -log /mnt/destination/rsync-copy.log --progress -avr --exclude = / mnt / source / dev / -A -H -X --numeric-ids / mnt / source / * / mnt / destination /

ubuntu usa uuid invece del nome del dispositivo per trovare e montare l'unità dal momento che abbiamo un nuovo disco, vogliamo cambiare fstab di destinazione per usare le nuove unità uuid per montare il disco

  • ls -la / dev / disk / by-uuid

    ora cambia uuid per / e scambia in / mnt / destination / etc / fstab. non dimenticare di cambiare il filesystem per il mount point, se hai deciso di cambiarlo in qualcosa di diverso dall'unità originale

se è importante che grub sia la stessa versione, avvia nuovamente il disco originale ed esegui ed esegui il comando seguente per installare grub sulla nuova unità

  • grub-install / dev / dev / sdb

Ora rimuovi l'unità di origine dal tuo computer e avvia l'unità di destinazione. grub non si avvia completamente e termina in una shell di ripristino nella shell di ripristino di grub:

per caricare alcuni moduli grub necessari - insmod ext2 - insmod linux elenca i tuoi dispositivi disco - ls

scegli il dispositivo corretto (nel mio esempio è hd0, msdos1)

  • set root = (hd0, msdos1)

trova il nome esatto di vmlinuz-xxx e initrd-xxx per configurare grub da usare

  • ls / boot /

    vedi e usa il nome corretto per vmlinuz e initrd che hai da ls sopra e usali invece della versione di esempio che sto usando qui sotto

  • linux /boot/vmlinuz-2.6.32-5-amd64 root = / dev / sda single

    se / dev / sda è il dispositivo, l'unità sarà il disco rootfs al prossimo riavvio del computer con solo il disco dst

  • initrd /boot/initd.img-2.6.32-5-amd64

  • avvio

questo avrebbe dovuto avviare correttamente la macchina. Infine, per aggiornare grub per utilizzare il nuovo disco uuid, non è necessario ripetere ogni volta questa procedura manuale:

  • update-grub

3

Puoi trasferire i tuoi dati su un'unità più piccola usando Clonezilla e GParted .

L'uso del CD Live GParted riduce le partizioni in modo che si adattino alla nuova unità. Sposta le tue partizioni in modo tale che lo spazio vuoto (grigio) si trovi alla fine / a destra dell'unità. Se c'era già spazio vuoto prima della prima partizione, lasciare quello spazio in quanto potrebbe contenere l'avvio o altre informazioni nascoste.

Usando Clonezilla fai un device-deviceclone. Seleziona le opzioni avanzate e abilita l' -icdsopzione per saltare il controllo della dimensione del disco. Procedere con il clone, rimuovere la vecchia unità e tentare di eseguire l'avvio dalla nuova unità. Se ricevi errori, prova l' -fsck-src-partopzione che ti aiuta a riparare gli errori sul disco di origine.

Dai documenti di Clonezilla :

Se sei sicuro che tutti i dati dell'immagine possano adattarsi al disco più piccolo, cioè non verranno scritti nello spazio su disco sbagliato, puoi selezionare l'opzione "-icds" .Avvertenza! Per selezionare questa opzione, devi sapere cosa stai facendo !.

Una FAQ che ho letto mi ha suggerito di utilizzare entrambe le opzioni -icdse -k1con Clonezilla che tuttavia non ha funzionato per me. Altri hanno detto che è possibile copiare le partizioni usando GParted ma non è possibile copiare tutti i tipi di partizioni e non sono riuscito a far avviare la mia macchina dopo aver usato quel metodo, probabilmente a causa di alcune informazioni nascoste tra le partizioni che non venivano copiate.


1

Potrebbe non essere la risposta corretta alla domanda, ma arrivo a questa pagina cercando di risolvere un problema simile:

Volevo clonare una vecchia scheda flash compatta da 256 Mb in una scheda da 32 Mb che è stata danneggiata, la scheda flash contiene un piccolo dispositivo Linux che produce piccole bobine a molla.

Risolto in questo modo:

(Ovviamente, lo spazio effettivo utilizzato nei 256 Mb era <32 Mb, quindi si adatta bene)

  1. crea un'immagine della scheda flash da 256 Mb con 'dd' (ovvero supponendo che la scheda sia montata in / dev / sdb):

    dd if=/dev/sdb of=image256.iso
  2. Utilizzare unetbootin per leggere la ISO 'image256.iso' (opzione Diskimage).

  3. Seleziona l'unità USB in cui si trova la scheda da 32 Mb e procedi con il dump dell'immagine nella scheda da 32 Mb.

Questo è tutto, la scheda da 32 Mb ha riavviato correttamente la mia macchina.

HTH


0

Potresti provare a farlo in due passaggi prima di fare un clone del sistema in un'immagine sparsa (l'immagine sta diventando più grande aggiungendo più cose ad essa) Ora ripristina da questa immagine sul secondo disco più piccolo.


0

può essere fatto .. Con un cd live basta restringere il filesystem (resize2fs), di lvm (se presente) dell'ultima partizione (come / dev / sdc3) dal disco grande in modo che possa adattarsi al disco piccolo.

Con fdisk elimina e ricrea con settori più piccoli l'ultima partizione (/ dev / sda3), quindi l'ultimo settore del disco grande ha lo stesso valore dell'ultimo settore del disco piccolo.

Quindi fai # dd if = big of = small bs = 10M fino a quando non si esaurisce lo spazio.

Prestare particolare attenzione durante la riduzione poiché un valore errato causa perdita di dati.


0

Dopo aver ridotto il file system nel disco più grande utilizzando GParted, ho inserito i due dischi in una custodia RAID in modalità mirroring, in cui il disco più grande è l'origine e il disco più piccolo è la destinazione. Ho dovuto semplicemente fare clic sul pulsante di ripristino all'interno del caso (non cambiare la modalità, ovvero Raid 1 su Raid 0) per iniziare la clonazione. Ha funzionato perfettamente! :) Ho usato il caso Raid GW3.5AX2-SU3 / MB.


0

inserisco la mia esperienza riducendo un disco di avvio con 250 gb (sda) su un disco da 120 gb (sdc)

sda contiene 2 partizioni:

  • sda1 -> / boot (ext3)
  • sda2 -> lvm2: / (245 gb) e swap (5 gb)

faccio così:

  • dd sda mbr a sdc
  • fdisk sdc e scrivere le modifiche, in modo da creare la struttura in sdc
  • dd sda1 a sdc1

allora come il mio gparted NON funziona con lvm:

da un disco di ripristino:

  • primo umount VG / LV00
  • e2fsck VG / LV00
  • resize2fs / VG / LV00 xxxxxxxxK (do 1 gb in più rispetto allo spazio utilizzato)
  • lvreduce -L xxxxxxxxxK VG / LV00 (do 1 gb in più rispetto allo spazio fs)
  • pvresize / dev / sda2 --setphysicalvolumesize xxxxxxxxxxxxK (do 1 gb in più dello spazio LV) (ho un ERRORE qui ... quindi:

    • pvs -v --segments / dev / sda2 (per vedere i segmenti)
      • pvmove --alloc ovunque / dev / sda2: segment_min-segment_max (dai segmenti che ho visto "a destra" del disco)

Ma la partizione era ancora grande, poiché ho solo ridotto l'FS-LV-VG, quindi:

Ricreare la partizione con fdisk:

fdisk /dev/sda 
d --> 2
n --> p --> 2 --> default --> (new reduced
size!!!)
 w

quindi il sistema richiede che la vecchia tabella delle partizioni sia in uso fino al prossimo riavvio. Ma ho dimenticato di riavviare e fare l'immagine:

dd if = / dev / sda2 di = / dev / sdc2 bs = 4096 (a questo punto ho pensato che qualcosa non andava e non sono riuscito ad avviarlo con SDC poiché la tabella delle partizioni non riflette la fine della nuova sda2)

MA tutto è andato bene e dopo il riavvio, e anche il sistema ha scelto la partizione SDC per l'avvio (lamentandosi di duplicati PV, LV e / boot)

Non so se sono fortunato o se faccio passi inutili ... ogni commento è apprezzato.


È una risposta o una domanda?
Seth,

entrambe le cose immagino ...
oso_togari

0

Disclaimer: sono l'autore originale di WereSync

Questo è possibile utilizzando WereSync . WereSync segue il processo generale della risposta di Malte ma richiede solo un comando anziché diversi. Inoltre, se si utilizza il clone come backup, è possibile aggiornarlo in modo incrementale, poiché utilizza rsync nel back-end.

Per installare WereSync usare pip:

pip install weresync

Da lì puoi semplicemente usare il comando WereSync

 weresync -C -g 2 -E 1 /dev/sda /dev/sdb

Il comando sopra copia i dati da / dev / sda a / dev / sdb. Il -Cflag indica che WereSync dovrebbe verificare se le partizioni sulle due unità sono equivalenti e se non lo sono, WereSync dovrebbe copiare le partizioni da / dev / sda a / dev / sdb e ridimensionarle in modo che si adattino. Gli UUID delle nuove partizioni saranno diversi. Il sistema utilizzato per verificare se le partizioni sono valide può essere pignolo, quindi dopo il tuo primo backup ti consiglio di omettere questo flag.

I comandi -ge -Epotrebbero essere omessi, ma l'installazione del boot loader fallirebbe quasi sicuramente in quel caso.

-g si riferisce alla "partizione grub", o la partizione grub dovrebbe essere installata su. Generalmente questa è la partizione montata su /. Quindi se hai / dev / sda2 montato su /, passi -g 2a WereSync, come nell'esempio sopra. Se questo viene omesso, WereSync proverà a scoprire la partizione corretta da solo, ma è soggetto a errori. Consiglio di passare semplicemente la bandiera.

-Esi riferisce alla partizione EFI. Se la partizione EFI è su / dev / sda1, passare -E 1a WereSync come nel comando sopra.

Se si dispone di una partizione separata per la cartella / boot, è necessario informare anche WereSync. Se lo hai su / dev / sda3, passa -B 3a WereSync.

Informazioni più dettagliate sui possibili flag di questo comando sono disponibili nella documentazione del comando WereSync .


Puoi aggiungere un livecd?
Tal

0

Sono arrivato a questo problema perché l'aggiornamento di Win 10 al 1607 si interrompeva dopo il riavvio, a causa del mancato riconoscimento del mio NVMe (Samsung 950 Pro), quindi ho clonato l'NVMe sull'altra (più grande) unità interna (nel mio caso "Toshiba") , aggiornato Win 10 e ripristinato il sistema su NVMe.

Ecco i passaggi che dovevo fare per raggiungere questo obiettivo (poiché restoreparts con -icdsnon funzionava).

Utensili:

  • DVD di Windows 10 1607 (profondità di bit e lingua in base al sistema operativo in uso)
  • Clonezilla Live DVD ( 2.4.5 + )
  • o Clonezilla Live DVD ( 20160203-xenial + ), poiché può essere avviato con UEFI impostato nel BIOS
  • (opzionale) DVD live GParted ( 0.27.0-1 )

Preparazione:

  1. masterizza tutti gli strumenti su CD / DVD
  2. eseguire Clonezilla e clonare (drive to image) l'NVMe su un'immagine (ad es. drive esterno)

Nota:

Se hai usato Clonzila dal ramo stabile, devi accedere alla modalità di avvio Legacy nel BIOS per poter avviare dal CD. Altrimenti, se si utilizza il download dal ramo alternativo, dovrebbe supportare l'avvio UEFI.

Disclaimer:

Segui la guida sotto la tua responsabilità. I passaggi e i comandi qui sono controllati e ricontrollati, ma i refusi potrebbero causare la perdita di dati o guasti hardware, quindi prima impara cosa stai facendo e prendi questi passaggi come suggerimenti per la giusta direzione.

La procedura:

  1. esegui Clonezilla e clona (drive to drive) l'NVMe su Toshiba (nel mio caso, l'altra unità interna, che ho pulito / copiato in precedenza)
  2. la prima volta penso di avere avuto dei conflitti in Windows con NVMe che aveva ancora le informazioni di avvio di Win, quindi questa volta immediatamente dopo la clonazione iniziale su Toshiba (quindi, prima del passaggio all'avvio UEFI) ho eliminato tutte le partizioni sull'unità NVMe

    ~ l'eliminazione avviene facilmente nella shell Clonezilla con:

    sudo su
    dd if=/dev/zero of=/dev/nvme0n1 bs=512 count=1
    

    ~ in alternativa, avvia GParted e fallo visivamente lì

  3. (passa all'avvio UEFI nel BIOS)

  4. avvio (verrà utilizzato Toshiba)
  5. esegui Win 10 1607 installa DVD e scegli Installa, seleziona Scarica aggiornamenti e scegli Mantieni app e dati. Ciò dovrebbe aggiornare Toshiba all'ultima versione di Win 10.
  6. (passa all'avvio legacy nel BIOS) per ogni evenienza, esegui il backup di Toshiba su un'immagine (tramite Clonezilla)
  7. dal momento che copiare MBR non ha fatto nulla per me, il GPT è importante in questa storia, quindi entra nella shell (Clonezilla) e copia il GPT da Toshiba a NVMe con

    sudo su
    sgdisk /dev/sda -R /dev/nvme0n1
    sgdisk -G /dev/nvme0n1`
    

    ( spiegazione )

  8. dal momento che Clonezila (anche con Expert switch -icds) si rifornisce di nuovo per ripristinare le partizioni, entra di nuovo nella shell e fai:

    partprobe #forces kernel to reload partition infos
    fdisk -l #shows all disks info
    dd if=/dev/sda1 of=/dev/nvme0n1p1 bs=64K status=progress
    dd if=/dev/sda2 of=/dev/nvme0n1p2 bs=64K status=progress
    dd if=/dev/sda3 of=/dev/nvme0n1p3 bs=64K status=progress
    ...
    

    ( maggiori informazioni )

  9. eseguire il backup di Tosiba MBR e GPT:

    sgdisk --backup=sda.gpt /dev/sda
    
  10. copia il backup in un luogo sicuro (in modo che possiamo ripristinarlo e non l'intera immagine dell'unità che abbiamo fatto al passaggio 6)

    mkdir /mnt/usb
    (put in usb flash or similar)
    mount /dev/sdb /mnt/usb
    cp sda.gpt /mnt/usb
    umount /dev/sdb`
    
  11. cancellare le informazioni sulla partizione Toshiba in modo che non causino conflitti con Windows

    dd if=/dev/zero of=/dev/sda bs=512 count=1
    
  12. (passa all'avvio UEFI nel BIOS) avvia dal DVD di Windows 10 (1607), scegli Ripara> Risoluzione dei problemi> Prompt dei comandi ed esegui tutti questi:

    bootrec /fixboot
    bootrec /scanos
    bootrec /fixmbr
    bootrec /rebuildbcd
    exit
    

    ( maggiori informazioni )

  13. riavviare su Windows 1607 sul disco NVMe

  14. Vincere!
  15. (reinizializzare Toshiba in Gestione disco)
  16. (facoltativo) esegui il backup del disco NVMe aggiornato (clona nell'immagine con Clonezilla)
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.