Dans la série des problématiques classiques lorsque l'on change de disque, arrive rapidement celle du "comment diantre vais-je transférer la partition du MauditOS sans repasser deux heures à tout ré-installer" !! Pas si compliqué en réalité... si c'est fait sous Unix
Pour fixer le cadre, prenons donc deux disques durs de marque et de taille évidemment différentes, avec cependant assez de place pour transférer les données d'un côté vers l'autre. Le second disque est considéré comme vide. Ce n'est pas obligatoire mais dans le cas contraire, c'est à vos risques et périls si chemin faisant vous perdez de précieuses données...
Sur le premier disque nous avons une partition primaire contenant VilainOS. Le but va donc être de créer une partition de même taille sur l'autre disque, d'y recopier notre partition d'origine, et de garder l'espace restant pour une utilisation plus sérieuse. Au final, nous aurons un nouveau disque qui s'amorcera comme l'ancien.
Pour faire tout cela, nous allons utiliser un simple adaptateur USB/IDE. Ainsi le disque sera toujours /dev/sdb et la partition source ou cible /dev/sdb1.
Malic et Dab (qui interviennent souvent ici) m'avaient parlé de trois outils libres répondant au besoin : CloneZilla, Partimage Is Not Ghost ou plus simplement PING, et justement puisqu'on en parle, PartImage.
Alors certes, comme le sous-entend PING partImage n'est pas Ghost, mais comparé aux deux autres, pour une utilisation ultra épisodique, il a l'avantage de ne pas non plus être une usine à gaz...
Pour ce faire, il suffit de l'invoquer comme suit :
root#partimage -z1 save /dev/sdb1root#
Cela a pour effet de demander à partImage de créer dans le dossier courant une copie des données de la partition /dev/sdb1 en activant au passage une compression GZIP.
L'interface graphique s'affiche alors et vous pouvez affiner vos besoins en augmentant ou supprimant le taux de compression, en ajoutant ou pas une description, bref tout ce que vous voulez jusqu'au moment où, fin prêt, vous pressez la touche F5 pour démarrer la sauvegarde...
Pour cette opération nous aurions pu utiliser la commande dd avec peu ou prou le même résultat. Mais l'avantage de partImage est qu'il ne sauve que l'espace disque utilisé entraînant un très appréciable gain de temps quant la partition n'est pas pleine. Pour une partition de 10Go pleine à 60%, en USB 2.0, cela m'a pris 10 minutes tout rond. L'astuce par rapport à dd est que partImage connaît le système de fichier que vous cherchez à copier, et sait donc où celui-ci s'arrête. Attention cependant, le support NTFS est plus faible que celui des autres systèmes. Tout cela ne marchera donc bien qu'avec une partition peu fragmentée. Le cas échéant, vous n'avez plus qu'à utiliser.. dd...
L'étape suivante est de recopier les paramètres de notre partition. Le bon outil pour cela est encore parted que nous avions vu pour la transformation d'une machine physique en machine virtuelle. Là il va juste nous servir à récupérer la taille et la position de notre partition d'origine :
#parted /dev/hda(parted)unit s(parted)printModel: IBM-DTTA-351010 (ide)Disque /dev/hda : 19541088sTaille des secteurs (logiques/physiques): 512B/512BTable de partition : msdosNuméro Début Fin Taille Type Système de fichiers Fanions1 63s 19519919s 19519857s primary ntfs démarrage(parted)quitroot#root#
Les chiffres importants ici sont le début et la fin de notre partition, soit 63 et 19519919. Mais avant de débrancher définitivement notre vieux disque, nous allons lui faucher son amorce. En effet, il ne vous aura pas échappé que notre partition ne démarre qu'au 64ième secteur, ce qui implique un espace de 63 secteur qui précède la partition, soit 512x63=31ko représentant l'amorce du disque. Et vu que c'est une amorce pour PasBeauOS, nous allons devoir la sauvegarder en vue d'une transplantation sur le nouveau disque
root#dd if=/dev/sdb1 of=amorce.image count=63 bs=512root#
Bon, il est maintenant possible de débrancher ce disque de l'adaptateur IDE-USB pour le remplacer par notre nouveau support.
La première chose à faire est de détruire les partitions existantes. Cela se fait très simplement avec parted en les listant d'abord avec la commande print, puis en les supprimant une à une avec la commande rm NUMERO.
Ensuite, lorsque le disque est vide de partition, il nous faut recréer celle du disque d'origine en s'aidant du chiffre que nous avons noté en rouge :
root#parted /dev/hda(parted)unit s(parted)mkpart primary 63 19519919(parted)quitroot#root#
Nous avons maintenant une partition identique sur le second disque.
root#partimage restore /dev/sdb1 native.image.000root#
Là, c'est fini en 5 minutes.... Dernière étape, insérer la fameuse amorce que nous avons chipé sur le vieux disque.
root#dd if=amorce.image of=/dev/sdb bs=512 count=63root#syncroot#
Et voilà, le nouveaux disque et sa nouvelle partition sont prêts, et le tout est amorçable comme avant.
Les outils spécialisés de clonnage permettent sûrement de faire tout cela plus rapidement pour peu que l'on ait le temps d'apprendre à les utiliser.. Disons que pour l'usage d'un néophyte, partImage est un vrai plaisir
Puisque tu parles encore de partitions je tiens à faire la promo d'un outil qui a sauvé mon home deux fois, dont une il y a quelques jours : Testdisk. Et en prime un conseil pour ceux à qui il viendrait l'idée de trifouiller leurs partitions : dans le cas où vous modifieriez la table de partitions, TOUJOURS rebooter avant de faire quoi que ce soit sur le disque (ou si vous trouvez comme moi que rebooter ça fait windows, déconnecter le disque et le reconnecter si la racine est pas dessus), car sinon vous écrivez vos données sur une partie du disque qui correspond à une partition de l'ancienne table de partitions.
Sinon merci pour partimage, je l'ajoute à mes bookmarks ça peut toujours servir. Par contre, arrête de faire des tutos aussi bons et aussi souvent, ça me déprime après quand je passe du temps à écrire un billet et qu'arrivé à la fin je ne peux m'empêcher de penser "c'est pas mal mais ça vaut pas artisan numérique"
.
J'imagine que les 31ko d'amorce contienent le chargeur, genre grub lilo ou autre ?
Lorsque tu recopie ton amorce tu n'en copie que le 512 premiers octets, qui de mémoire représentent la table des partitions. Ca boot quand même ?
@Dab oups, boulette, en effet, s'était count=63 qu'il fallait lire
@Zanko, ok j'arrête, façon je suis dans les cartons là
c'est fou le nombre de me**es que l'on peu accumuler en seulement 4 ans, c'est déprimant.
Poster un nouveau commentaire