Comment cloner sur un disque dur plus petit?

42

Comment cloner un disque dur sur un disque de taille plus petite.

  1. Clonezilla est génial mais ne supporte pas une telle fonctionnalité.
  2. Aussi ddet PartImage ne supportent pas cette demande.
  3. rsync ne copiera pas le MBR puisqu'un MBR n'est pas un fichier.

Je dois cloner un disque dur pour ne pas faire de sauvegarde, ce rsyncn'est donc pas une réponse acceptable.

Aucune suggestion?

Maythux
la source
2
Juste une question, pourquoi est-il nécessaire d'être un clone? Si c'est pour l'UUID, est-ce que ça ne vous dérange pas de réduire le système de fichiers avant d'effectuer la copie DD? Si vous ne craignez pas de le réduire, exécutez simplement resize2fs pour obtenir le système de fichiers où il est plus petit que le disque cible, puis dd le copier. De l'autre côté, lancez resize2fs à nouveau pour développer et remplir le nouveau disque.
darkdragn

Réponses:

36

Il est clair que vous ne pouvez pas cloner une partition plus grande sur une partition plus petite (en utilisant ddet similaires) car il n’ya tout simplement pas assez d’espace.

Toutefois, si les fichiers de la partition la plus grande tiennent également sur la partition la plus petite, vous pouvez les rsynccopier. Les options exactes à utiliser dépendent de votre cas d'utilisation, mais pour copier simplement tous les fichiers, procédez comme suit:

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

Edit: Encore une fois: vous ne pouvez pas cloner une partition plus grande sur une partition plus petite . (Mais continuez à lire, votre problème peut encore être résolu.)

La raison est simple: votre partition source est plus grande que votre partition cible. Qu'attendez-vous? Est-ce que des blocs doivent juste être supprimés? Lesquels? Et comment devrait ddsavoir? Bien sûr, vous pouvez utiliser ddles options bs=et count=pour ne copier que les premiers blocs de votre partition source de manière à ce qu’ils s’insèrent dans votre partition cible, mais vous allez vous retrouver avec une partition endommagée. Ce n'est certainement pas ce que vous voulez.

Alors, puisque vous ne pouvez pas cloner une partition plus grande sur une partition plus petite, la seule chose que vous pouvez faire est de d' abord réduire la taille de votre partition source à une taille inférieure ou égale à celle de votre partition cible avec quelque chose comme ce gpartedqui est au courant de la spécificités du système de fichiers, de sorte que vous ne perdez pas de données. Et seulement alors pourriez-vous utiliser ddpour cloner la partition. Idéalement, la nouvelle taille de votre partition source devrait être égale à la taille de votre partition cible (et pas seulement plus petite ou égale ), sinon vous obtiendrez de l'espace non alloué sur votre partition cible après le clonage.

Notez également que vous ne devez pas simplement copier un MBR d'un disque plus grand sur le MBR d'un disque plus petit (ou l'inverse, d'ailleurs). Le MBR, qui a une taille de 512 octets et constitue la première section de votre disque dur, contient des informations sur la disposition du disque dur:

  • 446 octets - Bootstrap.
  • 64 octets - Table de partition.
  • 2 octets - Signature.

(Notez que 446+64+2=512.)

Si vous insistez pour cloner le MBR, ne clonez que les 446 premiers octets comme ceci:

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

... en remplaçant /dev/sourceet /dev/targetpar les noms de périphérique des disques durs source et cible, par exemple, /dev/sdaet /dev/sdb, respectivement. ( Plus d'informations sont disponibles ici. )

Cependant, la meilleure façon de le faire serait de réinstaller proprement Grub (ou ce que vous avez sur votre MBR) sur le nouveau disque dur.

En résumé, si vous souhaitez cloner un disque plus grand sur un disque plus petit, procédez comme suit:

  1. Disposez une table de partitions sur le lecteur cible avec autant de partitions que sur le lecteur source. Il devrait y avoir une correspondance un à un entre les partitions de votre lecteur source et les partitions de votre lecteur cible, sauf que certaines partitions du lecteur cible peuvent être plus petites que leurs partitions correspondantes sur le lecteur source. Utilisez un outil tel que fdiskou cfdiskpour cela.

  2. Pour chaque partition du lecteur cible dont la taille est inférieure à celle de la partition correspondante sur le lecteur source, réduisez la taille de cette partition correspondante sur le lecteur source pour correspondre à la taille de la partition du lecteur cible. Utilisez un outil comme gpartedcelui-là.

  3. Pour chaque partition du lecteur source, lancez la commande

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

    ... pour cloner la partition /dev/sdaXdu lecteur source vers la partition correspondante /dev/sdbYsur le lecteur cible (remplacez les noms de périphérique de manière appropriée, bien sûr).

  4. Si vous insistez également pour cloner le MBR, utilisez les deux ddcommandes écrites plus haut dans ce post (celles avec le /tmp/mbr.baktruc). Cependant, gardez à l'esprit qu'une réinstallation propre de Grub serait préférable.

Malte Skoruppa
la source
2
rsync ne copie pas le MBR car ce dernier n’est pas un fichier, rsync n’est donc pas destiné au clonage. Je dois cloner un disque dur, pas faire une sauvegarde;)
Maythux
2
Oui, rsyncn'est en effet pas pour le clonage. C’est précisément ce que je disais - lisez mon message attentivement. ;) J'ai édité mon article pour expliquer comment cloner toutes les partitions, ainsi que le MBR. Espérons que cela se rapproche de ce que vous voulez.
Malte Skoruppa
1
Comment faire une installation propre de Grub?
Ken Sharp
1
@KenSharp Voir ici, par exemple: help.ubuntu.com/community/Grub2/Installing
Malte Skoruppa
1
@gerrit Utiliser parted/ gpartedpour l'étape 1 convient parfaitement. Comme souvent, il y a plusieurs façons d'atteindre un objectif. fdisk/ cfdisksont plus des outils "de base", et dans la description ci-dessus, j’essayais simplement de me référer à l’outil le plus fondamental qui ferait le travail.
Malte Skoruppa
14

Le clonage exact n'est pas possible car Malte Skoruppa a déjà été posté. Cependant, clonezilla est capable de faire cette tâche tant que le plus gros disque n'est pas plein (Malte l'a déjà mentionné).

En gros, vous devez activer les options avancées et "ignorer" le message d'avertissement relatif à un disque plus petit. Voir la documentation Clonezilla pour plus de détails avec les captures d'écran. J'ai eu le même problème lors de la restauration d'une sauvegarde d'un disque dur de 160 Go sur un SSD de 64 Go. Pour moi cela a bien fonctionné.

Une autre solution, qui devrait donner les résultats souhaités, serait la restauration sur un disque de même taille et la répartition pour adapter le nouveau schéma de partition au disque plus petit. Voir jsm-techblog.blogspot.de pour plus de détails sur la procédure à suivre.

Dennis Nolte
la source
@DennisNolte Quelle option avancée doit être activé dans Clonezilla? En lisant les documents, je suppose que -k1ce qui créera la table de partition proportionnellement sur le disque cible et activera l’option -rpermettant de redimensionner automatiquement le système de fichiers dans la partition. Est-ce correct?
Pro Backup
Je ne suis plus sûr à 100%, mais ce sont les options que j'essaierais si je refaisais la même chose, oui. Cependant, j'ai eu besoin de 2 ou 3 essais jusqu'à ce que cela fonctionne correctement et, malheureusement, je ne me souvenais pas des étapes que j'avais suivies, autres que l'utilisation des options avancées.
Dennis Nolte
J'étais incapable d'obtenir que cela fonctionne avec l' k1option, mais l' -icdsoption a fonctionné pour moi. Je posterai une réponse avec plus de détails.
bbodenmiller
J'ai ajouté des détails sur la façon dont j'ai obtenu ce résultat à l' adresse askubuntu.com/a/504778/310789 .
bbodenmiller
Clonezilla peut le faire via une copie de disque à disque, mais uniquement en mode Expert (paramètre -icds). @ProBackup sachez que vous utilisez -k1. Dans mon cas, cela génère un segfault (Clonezilla Live 20160627). À la place, utilisez Gparted avant (et après) le clone pour laisser (et récupérer) autant d’espace non alloué que nécessaire, puis clonez en ignorant la vérification de l’espace disque (-icds). J'ai énuméré les étapes pour faire le clone dans un disque plus petit ici (ignorez les parties Win7 sur MBR si vous avez seulement Linux).
Chirale
7

Gparted devrait faire le travail

  1. Après le redimensionnement avec gparted, démarrez à partir du lecteur pour permettre au système d'exploitation de corriger les erreurs éventuelles avant de créer l'image avec Clonezilla.

  2. Puis lance Clonezilla et crée une copie des partitions de disque dur nécessaires

Une autre option que j'ai trouvée géniale pour moi: MondoRescure

Mondo Rescue est une solution de récupération après sinistre GPL.

Il prend en charge les bandes, les disques, le réseau et les CD / DVD en tant que supports de sauvegarde, plusieurs systèmes de fichiers, LVM, ainsi que le raid matériel et logiciel.

Un guide simple peut être trouvé ici

Je vais poster quelques captures d'écran:

STEP 1 Backup (Écran de partition

1. Faites votre choix dans la liste des types de supports de sauvegarde pris en charge.

entrez la description de l'image ici

2.Si vous sauvegardez sur un CD / DVD- + R [W], Mondo vous demandera si votre graveur de CD est doté de la technologie BurnProof, se trouve dans un ordinateur portable ou est excentrique. Si vous sauvegardez sur un lecteur de bande, vous ne verrez pas ce message

3.Combien de compression voulez-vous? Aucune, si votre lecteur de bande possède une compression matérielle intégrée. Maximum, si votre CPU est extrêmement rapide. La moyenne devrait suffire dans la plupart des situations.

entrez la description de l'image ici

4.Si vous souhaitez sauvegarder l'ensemble de l'ordinateur (à l'exception de / sys, / run et / proc, naturellement ainsi que / tmp), laissez-le en tant que / qui est celui par défaut. Sinon, spécifiez des sous-ensembles (par exemple, / usr / local | / home) en veillant à insérer un tuyau entre chaque chemin.

entrez la description de l'image ici

5.Si vous sauvegardez tout votre ordinateur, vous voudrez peut-être exclure certains répertoires, par exemple / shared / MP3. Veuillez les spécifier dans la boîte de dialogue "répertoires exclus". Veuillez insérer un tuyau entre chaque chemin, par exemple / shared / private | / scratch | / nfs | / windows

entrez la description de l'image ici

6.Est-ce que votre noyau est sain d'esprit? Les utilisateurs de Red Hat, de Mandrake, de SuSE, de Debian et de Slackware devraient en général dire «oui», car ces fournisseurs sont capables de produire des noyaux fiables. Si vous utilisez Gentoo ou LFS, votre noyau peut être non standard. Dans ce cas, dites «non» pour utiliser le noyau à sécurité intégrée de Mondo (fourni séparément).

entrez la description de l'image ici

7.Si vous souhaitez vérifier les archives après les avoir écrites sur le support, dites «oui» ici. Si vous avez une confiance absolue dans votre matériel et votre distribution Linux, dites 'non' ... et une petite prière.

entrez la description de l'image ici

8.Si vous êtes sûr de vouloir aller de l'avant, dites «oui» et trouvez autre chose à faire pendant que Mondo sauvegarde votre ordinateur. Si vous dites «non», vous serez vidé sans cérémonie à l'invite du shell. :-)

entrez la description de l'image ici

9.Le processus de sauvegarde va maintenant commencer. Certaines tâches préalables à la sauvegarde doivent être effectuées en premier lieu, mais la sauvegarde est essentiellement en cours. Pour simplifier le processus de sauvegarde, une série de questions vous a été posée. La prochaine fois, si vous le souhaitez, vous pouvez appeler mondoarchive avec différents commutateurs de ligne de commande pour contrôler son comportement, au lieu de répondre à une série de questions. Voir la page de manuel pour plus de détails.

entrez la description de l'image ici

10.Mondo créera un catalogue de tous les fichiers à sauvegarder. Cela peut prendre jusqu'à cinq minutes. La liste des fichiers sera divisée en ensembles, environ 4 Mo (avant compression) de fichiers par ensemble. Cela prend généralement une minute.

entrez la description de l'image ici

11.Mondo appelle Mindi. Mindi génère une image de support de démarrage et des images de disque de données auxiliaires basées sur votre distribution Linux et votre système de fichiers existants. De cette façon, vous pouvez être sûr que les outils de Mondo seront compatibles avec vos systèmes de fichiers et vos fichiers binaires existants: les outils de Mondo sont vos outils. Mindi prend jusqu'à cinq minutes pour s'exécuter.

entrez la description de l'image ici

12.Enfin, Mondo commence à sauvegarder votre ordinateur. Ce processus peut prendre quelques minutes ou quelques heures, en fonction de la quantité de données que vous archivez, de la vitesse de votre processeur, de la quantité de RAM dont vous disposez, etc. Il sauvegardera vos fichiers habituels, puis vos gros fichiers (plus de 32 Mo environ). Si vous avez choisi de vérifier vos sauvegardes, Mondo le fera également.

entrez la description de l'image ici

ÉTAPE 2 RESTAURER (CLÔTURE DE PARTITION)

1. Choisissez votre type de support de sauvegarde. Le processus de restauration en direct est très similaire à celui que vous rencontrerez si vous tapez mondorestore sans paramètres après l’amorçage à partir d’un média Mondo.

entrez la description de l'image ici

2. Appuyez sur «OK» lorsque vous avez inséré la cassette / le CD. Si vous avez généré une sauvegarde sur bande, la bande elle-même devrait suffire. Si vous avez généré une sauvegarde sur CD, le premier CD devrait suffire. Sinon, vous aurez peut-être besoin du support de démarrage.

entrez la description de l'image ici

3.Faites glisser les fichiers et les répertoires que vous souhaitez restaurer. Utilisez les boutons "Plus" et "Moins" pour ouvrir et fermer les sous-répertoires.

entrez la description de l'image ici

4.Spécifiez l'emplacement de restauration des fichiers. En général, '/' est approprié. Si vous ne souhaitez pas écraser les versions les plus récentes des fichiers que vous restaurez, spécifiez / tmp / BKP ou similaire comme chemin de restauration.

entrez la description de l'image ici

5.Mondorestore récupérera les informations de configuration du support. (L'écran d'exemple est destiné aux utilisateurs de bandes. Les utilisateurs de CD verront quelque chose de différent.)

entrez la description de l'image ici

6.Les données seront restaurées sur le disque dur - d'abord les fichiers normaux, puis tous les gros fichiers (32 Mo ou plus) de l'ensemble de restauration.

entrez la description de l'image ici

kamil
la source
Il semble interessant. Je vais essayer, puis je vais vous donner des résultats
Maythux
Commentaires de Maythux avec les résultats?
Highmastdon
Vous devez tout graver sur le disque en premier?
Ken Sharp
Pour ceux qui aiment se lancer et essayer quelque chose pour que mondo fonctionne, vous devez télécharger et installer les dernières versions de lib-projectbuilder-perl, libmondorescue-perl, mindi-busybox, mindi et mondo de MondoRescue lien ci-dessus et installez-les dans cet ordre afin d'éviter les dépendances non satisfaites. Il y a des paquets .deb disponibles, vous n'avez donc pas besoin de les compiler tous depuis le source si vous préférez ne pas le faire.
Elder Geek
La version actuelle ne semble pas avoir l'interface utilisateur de la version (1.5) répertoriée ici et le test mindy n'a pas réussi à démarrer pour moi.
Elder Geek
4

Le "pseudo-clonage" d'un disque dur plus grand en disque plus petit peut être réalisé à l'aide de Clonezilla. Effectivement, vous pouvez enregistrer et restaurer les partitions du disque. Les étapes suivantes (développées pour le transfert de disque dur à SSD) vous y conduiront:

  1. La première astuce consiste à utiliser Gparted pour redimensionner les partitions du disque dur, en réduisant chaque partition de manière à réduire la quantité d'espace inutilisé qu'elle contient. Bien entendu, les partitions doivent être dimensionnées de manière à ce que l’espace total requis pour toutes les partitions soit inférieur à la capacité du disque SSD.

  2. On exécute ensuite Clonezilla et crée une copie des partitions individuelles du disque dur (à l’aide de l’option saveparts), en les stockant temporairement sur un lecteur USB externe. Notez qu'il est nécessaire de sauvegarder les partitions (saveparts) plutôt que de créer une image de l'intégralité du disque (Savedisk).

  3. Avec le SSD installé sur la machine cible, la deuxième astuce consiste à utiliser à nouveau le gestionnaire de partitions pour créer la structure de partition souhaitée sur le SSD.
  4. Clonezilla est ensuite utilisé pour restaurer les partitions sauvegardées (à l'aide de restoreparts) sur le disque SSD.

Voir: "Clonage" d'un disque dur sur un disque SSD plus petit pour plus d'informations sur le processus et sur un certain nombre de liens vers des sources de référence.

CentaurusA
la source
3

Comme la plupart des exemples ci-dessus semblent suggérer de redimensionner votre disque d'origine, il est risqué de modifier vos données avant de les copier, le cas échéant.

Il existe un autre moyen moins risqué, bien que très manuel, que j’utilise. Comme il laisse le lecteur source intact, au cas où vous voudriez vous replier en raison d’un problème.

De plus, avec le clonage / redimensionnement, vous ne pouvez pas basculer vers un système de fichiers plus récent tout en passant à un nouveau lecteur tout en échangeant votre disque. Avec la procédure ci-dessous, il vous suffit de créer le système de fichiers de votre choix sur le lecteur de destination.

Installez le nouveau lecteur de destination le long du lecteur d'origine dans votre ordinateur.

  • ordinateur de démarrage à partir de Ubuntu Live CD.
  • Sur le lecteur de destination. utilisez gparted create: un ext4 (ou tout nouveau système de fichiers rapide sur lequel vous décidez de basculer) (volume et un volume d'échange et un système de fichiers d'échange)
  • Dans gparted définir le bootflag sur le nouveau volume

Dans mon exemple, la source (lecteur d'origine) est / dev / sda et la destination (nouveau lecteur plus petit) est / dev / sdb. Dans votre configuration, cela peut être différent

montez src en lecture seule sous / mnt / source

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

montez le lecteur de destination sous / mnt / destination

  • mount / dev / sdb1 / mnt / destination /

copier le système de fichiers src sur le système de fichiers de destination avec:

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

ubuntu utilise uuid au lieu de nom de périphérique pour rechercher et monter le lecteur car nous avons un nouveau disque, nous souhaitons changer la destination du fstab pour utiliser les nouveaux lecteurs uuid afin de monter le disque.

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

    changez maintenant uuid pour / et échangez dans / mnt / destination / etc / fstab. n'oubliez pas de changer le système de fichiers pour le point de montage, si vous avez décidé de le changer pour quelque chose de différent du lecteur d'origine

s'il est important que grub ait la même version, redémarrez le disque d'origine, puis exécutez la commande ci-dessous pour installer grub sur le nouveau lecteur.

  • grub-install / dev / dev / sdb

Maintenant, retirez le lecteur source de votre ordinateur et démarrez le lecteur de destination. grub ne parviendra pas à démarrer complètement et à accéder à un shell de récupération dans le shell de récupération grub:

charger quelques modules de grub nécessaires - insmod ext2 - insmod linux liste vos périphériques de disque - ls

choisissez le bon périphérique (dans mon exemple, il s'agit de hd0, msdos1)

  • set root = (hd0, msdos1)

trouver le nom exact de vmlinuz-xxx et initrd-xxx pour configurer grub à utiliser

  • ls / boot /

    voyez et utilisez le nom correct pour vmlinuz et initrd que vous avez obtenu de ls ci-dessus et utilisez-les à la place de la version d'exemple que j'utilise ci-dessous

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

    si / dev / sda est le périphérique, le lecteur sera le disque rootfs lors du prochain redémarrage de la> machine avec uniquement un disque dst

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

  • démarrage

Enfin, cela devrait avoir réussi à démarrer la machine. Enfin, mettre à jour grub pour qu’il utilise le nouveau disque uuid afin que vous n’ayez pas besoin de répéter cette procédure manuelle à chaque fois:

  • update-grub
tomodachi
la source
3

Vous pouvez transférer vos données sur un disque plus petit en utilisant Clonezilla et GParted .

En utilisant le GParted Live CD, réduisez vos partitions de manière à ce qu’elles tiennent sur le nouveau lecteur. Déplacez vos partitions de sorte que l’espace vide (gris) se trouve à la fin / à droite de votre lecteur. S'il y avait déjà de l'espace vide avant la première partition, laissez-le, car il peut contenir des informations de démarrage ou cachées.

Utiliser Clonezilla pour faire un device-deviceclone. Sélectionnez les options avancées et activez l' -icdsoption pour ignorer la vérification de la taille du disque. Continuez avec le clone, retirez l’ancien lecteur et essayez de démarrer à partir du nouveau lecteur. Si vous obtenez des erreurs, essayez l' -fsck-src-partoption qui vous aide à réparer les erreurs sur le disque source.

De la documentation Clonezilla :

Si vous êtes sûr que toutes les données de l'image peuvent contenir le plus petit disque, c.-à-d. Qu'il ne sera pas écrit sur le mauvais espace disque, vous pouvez cocher l'option "-icds" .Warning! Pour sélectionner cette option, vous devez savoir ce que vous faites!.

Une FAQ que j'ai lue suggérait d'utiliser les options -icdset -k1avec Clonezilla, mais cela ne fonctionnait pas pour moi. D'autres ont mentionné que vous pouvez copier des partitions à l'aide de GParted, mais il ne peut pas copier tous les types de partitions et je ne parviens pas à redémarrer ma machine après avoir utilisé cette méthode, probablement à cause de certaines informations cachées entre les partitions qui ne sont pas copiées.

bbodenmiller
la source
1

Peut-être pas la bonne réponse à la question, mais j'arrive à cette page en essayant de résoudre un problème similaire:

Je voulais cloner une vieille carte Compact Flash de 256 Mo en une carte de 32 Mo qui s'est cassée. La carte Flash contient un petit appareil Linux qui fabrique de petites bobines de ressort.

Résolu de cette façon:

(Bien sûr, l’espace effectif utilisé dans les 256 Mo était <32 Mo, donc il s’intègre bien)

  1. créez une image de la carte flash de 256 Mo avec «dd» (en supposant que la carte est montée dans / dev / sdb):

    dd if=/dev/sdb of=image256.iso
  2. Utilisez unetbootin pour lire l'ISO 'image256.iso' (option Diskimage).

  3. Sélectionnez le lecteur USB sur lequel se trouve la carte 32Mb et transférez l'image sur la carte 32Mb.

C'est tout, la carte 32 Mo a démarré avec succès ma machine.

HTH

tfonrouge
la source
0

Vous pouvez essayer de créer un clone du système en une image fragmentée en deux étapes (l'image s'agrandit au fur et à mesure que vous ajoutez des éléments supplémentaires). Restaurez maintenant cette image sur le deuxième disque plus petit.

Konqui
la source
0

cela peut être fait .. Avec un cd en direct, réduisez simplement le système de fichiers (resize2fs), puis lvm (le cas échéant) de la dernière partition (comme / dev / sdc3) du disque de grande taille afin qu’il puisse tenir sur le petit disque.

Avec fdisk, supprimez et recréez avec des secteurs plus petits la dernière partition (/ dev / sda3), de sorte que le dernier secteur du grand disque ait la même valeur que le dernier secteur du petit disque.

Que faire votre # dd si = grand de = petit bs = 10M jusqu'à ce qu'il manque d'espace.

Une prudence supplémentaire lors de la réduction, car une valeur incorrecte entraînera une perte de données.

chaoss
la source
0

Après avoir réduit le système de fichiers dans le plus grand disque à l'aide de GParted, j'ai placé les deux disques dans un boîtier RAID en mode miroir, où le plus grand disque est la source et le plus petit disque est la cible. Il me suffisait de cliquer sur le bouton de réinitialisation à l'intérieur du boîtier (pour ne pas changer de mode, c'est-à-dire Raid 1 à Raid 0) pour que le clonage commence. A parfaitement fonctionné! :) J'ai utilisé le boîtier Raid GW3.5AX2-SU3 / MB.

Rey
la source
0

Je publie mon expérience de réduire un disque de démarrage avec 250 Go (sda) à un disque de 120 Go (sdc)

sda contient 2 partitions:

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

moi aussi:

  • dd sda mbr à sdc
  • fdisk sdc et écrit les modifications, il crée donc la structure dans sdc
  • dd sda1 à sdc1

alors que mon gparted ne fonctionne pas avec lvm:

à partir d'un disque de secours:

  • premier umount VG / LV00
  • e2fsck VG / LV00
  • resize2fs / VG / LV00 xxxxxxxxxK (je donne 1 Go de plus que l'espace utilisé)
  • lvreduce -L xxxxxxxxxK VG / LV00 (je donne 1 Go de plus que l'espace fs)
  • pvresize / dev / sda2 --setphysicalvolumesize xxxxxxxxxxxxK (je donne 1 Go de plus que le volume LV) (j'ai une erreur ici ... alors:

    • pvs -v --segments / dev / sda2 (pour voir les segments)
      • pvmove --alloc partout / dev / sda2: segment_min-segment_max (à partir des segments que j'ai vus "à droite" du disque)

Mais toujours la partition était grosse, comme je ne rétrécis que le FS-LV-VG, donc:

Je recrée la partition avec fdisk:

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

puis le système vous invite à utiliser l'ancienne table de partition jusqu'au prochain redémarrage. Mais j'ai oublié de redémarrer et de faire l'image:

dd if = / dev / sda2 de = / dev / sdc2 bs = 4096 (à ce stade, je pensais que quelque chose n'allait pas et je ne pouvais pas démarrer avec sdc car la table de partition ne reflète pas la fin de la nouvelle sda2)

MAIS tout allait bien et après le redémarrage, et même le système choisit la partition sdc pour démarrer (se plaindre de la duplication de PV, LV et / boot)

Je ne sais pas si je suis chanceux ou si je fais des démarches inutiles ... tout commentaire peut être apprécié.

oso_togari
la source
Est-ce une réponse ou une question?
Seth
les deux choses que je suppose ...
oso_togari
0

Disclaimer: Je suis l'auteur original de WereSync

Ceci est possible avec WereSync . WereSync suit le processus général de la réponse de Malte mais n'exige qu'une seule commande au lieu de plusieurs. En outre, si vous utilisez votre clone en tant que sauvegarde, il peut mettre à jour cette sauvegarde de manière incrémentielle, car il utilise rsync dans le backend.

Pour installer WereSync, utilisez pip:

pip install weresync

À partir de là, vous pouvez simplement utiliser la commande WereSync

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

La commande ci-dessus copie les données de / dev / sda vers / dev / sdb. Les -Cmarques indiquant que WereSync doit vérifier si les partitions des deux lecteurs sont équivalentes et si elles ne le sont pas, WereSync doit copier les partitions de / dev / sda dans / dev / sdb et les redimensionner à leur convenance. Les UUID des nouvelles partitions seront différents. Le système utilisé pour vérifier si les partitions sont valides peut être complexe, donc après votre première sauvegarde, je vous recommande de ne pas utiliser cet indicateur.

Les commandes -get -Epourraient être omises, mais l'installation du chargeur de démarrage échouerait presque sûrement dans ce cas.

-g fait référence à la "partition grub", ou la partition sur laquelle grub doit être installé. Généralement c'est la partition montée sur /. Donc, si vous avez / dev / sda2 monté sur /, vous passez -g 2à WereSync, comme dans l'exemple ci-dessus. Si ceci est omis, WereSync essaiera de découvrir par lui-même la partition appropriée, mais ceci est sujet aux erreurs. Je recommande simplement de passer le drapeau.

-Efait référence à la partition EFI. Si votre partition EFI est sur / dev / sda1, passez -E 1à WereSync comme dans la commande ci-dessus.

Si vous avez une partition séparée pour le dossier / boot, vous devez également informer WereSync. Si vous avez cela sur / dev / sda3, passez -B 3à WereSync.

Des informations plus détaillées sur les indicateurs possibles de cette commande sont disponibles dans la documentation de commande WereSync .

DonyorM
la source
Pouvez-vous ajouter un livecd?
Tal
0

J'ai rencontré ce problème car la mise à jour Win 10 vers 1607 s'interrompait après le redémarrage, à cause du fait que mon NVMe (Samsung 950 Pro) n'était pas reconnu. , mis à jour le Win 10 et restauré le système sur NVMe.

Voici les étapes à suivre pour atteindre cet objectif (car restoreparts -icdsne fonctionnait pas).

Outils:

  • Windows 10 1607 DVD (résolution en bits et langue selon votre système d'exploitation actuel)
  • Clonezilla Live DVD ( 2.4.5 + )
  • ou Clonezilla Live DVD ( 20160203-xenial + ), car il peut démarrer avec UEFI défini dans le BIOS
  • (facultatif) DVD GParted Live ( 0.27.0-1 )

Préparation:

  1. graver tous les outils sur CD / DVD
  2. lancez Clonezilla et clonez (lecteur sur image) le NVMe en une image (sur un lecteur externe, par exemple)

Remarque:

Si vous avez utilisé Clonzila depuis la branche stable, vous devez passer en mode de démarrage Legacy dans le BIOS pour pouvoir démarrer à partir du CD. Sinon, si vous utilisez le téléchargement depuis la branche alternative, il devrait prendre en charge le démarrage UEFI.

Avertissement:

Suivez le guide sous votre propre responsabilité. Les étapes et les commandes sont vérifiées et revérifiées, mais les fautes de frappe peuvent vous causer une perte de données ou une défaillance matérielle. Découvrez tout d'abord ce que vous faites et suivez ces étapes pour vous guider dans la bonne direction.

La procédure:

  1. exécutez Clonezilla et clonez (lecteur à lecteur) le NVMe vers Toshiba (dans mon cas, l'autre lecteur interne, que j'avais préalablement nettoyé / sauvegardé)
  2. la première fois, je pense que j'ai eu des conflits dans Windows avec NVMe et que les informations de démarrage Windows étaient toujours présentes. Cette fois, j'ai immédiatement après le clonage initial sur Toshiba (avant le passage au démarrage UEFI) supprimé toutes les partitions du lecteur NVMe.

    ~ la suppression se fait facilement dans le shell Clonezilla avec:

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

    ~ alternativement, démarrez GParted et visuellement

  3. (passer au démarrage UEFI dans le BIOS)

  4. boot (Toshiba sera utilisé)
  5. lancez le DVD d'installation Win 10 1607 et choisissez Installer, cochez Télécharger les mises à jour et choisissez Conserver les applications et les données. Cela devrait mettre à niveau Toshiba vers la dernière version de Win 10.
  6. (basculez vers Legacy Boot dans le BIOS) au cas où, sauvegardez Toshiba vers une image (via Clonezilla)
  7. Comme la copie de MBR ne m'a rien apporté, le GPT est important dans cette histoire. Entrez donc dans le shell (Clonezilla) et copiez le GPT de Toshiba vers NVMe avec

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

    ( explication )

  8. depuis Clonezila (même avec Expert switch-icds) pour restaurer des partitions, entrez à nouveau dans le shell et faites:

    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
    ...
    

    ( plus d'infos )

  9. sauvegarder le Tosiba MBR et le GPT:

    sgdisk --backup=sda.gpt /dev/sda
    
  10. copiez la sauvegarde dans un endroit sûr (pour que nous puissions la restaurer et non l'image entière du lecteur que nous avons créée à l'étape 6)

    mkdir /mnt/usb
    (put in usb flash or similar)
    mount /dev/sdb /mnt/usb
    cp sda.gpt /mnt/usb
    umount /dev/sdb`
    
  11. effacer les informations de partition Toshiba afin qu'il ne provoque pas de conflits avec Windows

    dd if=/dev/zero of=/dev/sda bs=512 count=1
    
  12. (passez au démarrage UEFI dans le BIOS) démarrez à partir du DVD Windows 10 (1607), choisissez Réparer> Résoudre les problèmes> Invite de commande et exécutez tous les éléments suivants:

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

    ( plus d'infos )

  13. redémarrez Windows 1607 sur votre disque NVMe

  14. Gagner!
  15. (Réinitialisez Toshiba dans Gestion des disques)
  16. (facultatif) sauvegarder le disque NVMe mis à jour (cloner à l'image avec Clonezilla)
Saran
la source