Vous avez des sauvegardes ? Faites des clones !
Introduction
Créer une image de la partition système
Créer une partition
Lettre de la partition Clone
Nom de la partition Clone
Restauration d'une image
Modification de la lettre du Clone
Signature d'un disque
BOOT.INI
Cas du portable
Vista
Liens
Nous sommes de plus en plus nombreux à sauvegarder le système (la partition comprenant Windows). Ainsi on installe son système une seule fois, il n'est ensuite plus question de reformater, on se contente de rétablir la partition sauvegardée. Des logiciels comme Acronis True Image permettent de créer et de maintenir à jour une image d'un disque ou d'une partition. L'utilisateur peut dès lors retrouver rapidement un système opérationnel même après un crash en recréant la partition à partir de l'image, sur un disque neuf si besoin. L'opération est assez rapide, compter une quinzaine de minutes, et exécutable en bootant sur un CD.
La question s'est posée de savoir s'il était possible de ne pas attendre qu'une panne ait lieu, et d'utiliser cette image pour créer un second système utilisable sans manipulations, et disponible à tout moment. Par ailleurs cela permettrait de s'assurer que l'on sait récupérer une image, et que celle-ci est opérationnelle. Enfin disposer d'un second système permet de faire des tests sans prendre trop de risques.
Recréer une partition à partir de son image est rapide, mais c'est une opération qui demande d'avoir le CD à disposition, et un minimum de savoir faire. Avoir en permanence un clone du système prêt à démarrer est rassurant.
Plusieurs cas sont à envisager selon le matériel dont on dispose et son degré d'organisation. Par exemple un PC de bureau peut être équipé de plusieurs disques, alors qu'un portable n'a en général qu'un seul disque. Les disques actuels ayant une importante capacité, ils sont souvent partitionnés. Très souvent on utilise une partition pour le système proprement dit, et une partition pour les données vers laquelle on délocalise certains dossiers du système et les temporaires. Pour mémoire on citera la possibilité d'utiliser deux disques en se contentant de faire une copie disque à disque. Le passage d'un système à l'autre se faisant soit par la modification des préférences de démarrage dans le BIOS, soit en écrivant des boot.ini adaptés (Windows XP), ou en utilisant easybcd (Vista, W7).
L'utilisation d'une image de la partition Windows pour créer une autre partition bootable apporte beaucoup de souplesse par rapport à la copie disque à disque.
Voici une autre application du clonage : installer un nouveau système sans risque et sans recommencer toute son installation. En clair installer Vista en tant que mise à jour sur un clone de XP. On conserve ainsi toute son organisation, et on garde XP sous la main. Vista installera un multi-boot à sa manière.
Il existe plusieurs utilitaires permettant l'opération (Créer
une image de partition). Il y a du gratuit et du payant. Certains ne
fonctionnent qu'en dehors de Windows à l'aide d'un CD bootable. Certains
permettent la création et l'actualisation automatique de l'image sans quitter
Windows. C'est le cas d'Acronis True Image, connu également pour sa simplicité
d'utilisation.
Avant de créer cette image on devrait lire la section sur le BOOT.INI
qui se trouve un peu plus loin.
Pour créer une partition on dispose sous Windows du Gestionnaire de disques. Acronis propose de restaurer l'image aussi bien dans l'espace non alloué du disque et donc de créer une partition. On peut restaurer l'image sur une partition déjà existante.
Si on n'a pas prévu à l'avance cette partition et qu'on ne dispose pas d'espace libre, il faudra revoir le partitionnement avec un logiciel adapté. Windows XP ne sait que créer une partition dans l'espace non alloué. Au besoin il sait supprimer une partition. Vista sait retailler les partitions, mais reste limité.
Acronis True Image propose par défaut la première lettre disponible. On peut changer pour une autre lettre. Cette lettre n'a pas d'importance et ne sert qu'à identifier facilement le clone, on verra plus loin comment faire en sorte que la partition système prenne la lettre C lors de son utilisation, ceci afin de ne pas perturber le fonctionnement; car bien des adresses sont stockées en dur dans le registre au lieu d'utiliser les variables d'environnement comme %SystemRoot%. Noter que si l'utilisation de C est habituel, ce n'est nullement une obligation. Disons que c'est la situation la plus couramment observée.
On modifiera le nom du clone pour bien l'identifier. L'opération se fait dans Poste de Travail une fois la copie effectuée. On peut imaginer d'autres moyens pour identifier facilement après démarrage si on est sur le clone ou non, par exemple en modifiant le fond d'écran, en ajoutant un fichier sur le bureau, en ouvrant automatiquement le Poste de Travail au démarrage (explorer /e,%homedrive%), etc.
Cliquer sur ce
lien (PDF)
ou sur l'imagette pour visionner un exemple d'une restauration d'une image de la partition du
système actif C vers une partition d'un autre disque, avec la lettre G. Nous
allons voir comment faire pour que cette partition redevienne C lorsque l'on boote sur
ce clone.
Quelques infos sur la valeur \DosDevices\C:
Redéfinir
la lettre de la partition de boot sous Windows NT/2000/XP
Une recherche dans le registre montre immédiatement le problème. De nombreux chemins sont notés "en dur" au lieu d'utiliser des variables d'environnement comme %homedrive%, %windir%, %systemroot%, %userprofile%, %allusersprofile% (taper set dans une console de commandes pour voir quelques variables d'environnement et leurs valeurs).
On peut donc s'attendre à des problèmes si la lettre de la partition de Windows a changé.
On a restauré une image de la partition C en G. Mais lorsque l'on bootera sur le Clone, il ne faut pas que celui-ci se voit comme étant G, car bien des adresses sont codées en dur dans le registre. Il faut donc, dans la dans la clé HKLM\SYSTEM\MountedDevices de la Ruche system du Clone, permuter les lettres C et G :
Vu l'idée ? On va détailler un peu.
Signature d'un disque
Chaque disque reçoit une signature lors de la création de la première partition.
Cette signature occupe 4 octets à l'offset
0x1B8 du
MBR (Master
Boot record).
Ce sont les quatre
premiers octets dans la clé HKLM\SYSTEM\MountedDevices surlignés en jaune dans
les images ci-dessous.
Savoir cela permet de mieux se repérer. Bien sûr les autres chiffres identifient
les partitions du disque (explications).
La première image ci-après montre le registre du disque actif.
Avant d'aller plus loin lire
Édition du Registre d'une autre partition
pour savoir lire le contenu de la ruche system de l'autre partition (partition
qu'on désignera par "Clone").
La seconde image montre la Ruche SYSTEM du Clone importée dans Regedit.
Simplement constater qu'elle est bien identique à sa source.
On va modifier de façon à ce que le Clone ait la lettre C lorsque l'on boote sur
lui (quand on bootera sur le Clone, c'est son Registre qui sera actif)
Pour cela on procède selon ces articles :
Remarque
Dans ces exemples on utilise momentanément une lettre disponible
(X).
Ce n'est pas indispensable, on a vu plus haut qu'il suffit de donner
momentanément un nom quelconque à la valeur pour permettre la permutation.
Exemple :
\DosDevices\C: ==> renommer en \DosDevices\aG:
Le nom "aG" mis à la place de la lettre permet de visualiser que le nom
final de cette valeur sera
\DosDevices\G:
Sur la seconde image \DosDevices\C: a une valeur commençant par
d2 35 ce e8
et \DosDevices\G: par f6 41 35 11
Ces signatures nous aident à nous repérer.
La troisième image montre qu'on a donné à \DosDevices\C: le contenu de
\DosDevices\G:
Ainsi le Clone aura la lettre C quand il sera utilisé.
Quant à la partition qui était en C, on l'a déplacée auparavant en X, puis en G
(on fait comme on veut).
Une fois la Ruche SYSTEM du clone sauvegardée (dans Regedit : Fichier, Décharger
la ruche),
vérification en bootant sur le clone et en ouvrant normalement Regedit ==>
La quatrième image montre que le disque correspondant à \DosDevices\C: commence
bien par f6 41 35 11
Remarque
Si on omet de renseigner \DosDevices\C: ( par exemple en
renommant la valeur en \DosDevices\C:TEST ) on constate que Windows
attribue la lettre C à la partition lors du démarrage sur celle-ci.
Résultat
À gauche on a booté sur le système normal (source), à droite on a booté sur le
Clone.
Seuls les noms donnés aux partitions permettent ici de mettre en évidence le
changement de situation :
![]() |
![]() |
![]() |
Pour booter sur le Clone au lieu du disque normal on change l'ordre
de la liste des disques durs de démarrage dans le BIOS.
Mais on jouera plus fin en éditant le BOOT.INI :
Boot
INI Options Reference
Boot.ini Boot
Parameter Reference
Structure et
paramètres du fichier "boot.ini" (Windows NT)
KB102873 : Conventions
d'affectation de noms et utilisation des chemins BOOT.INI et ARC
KB289022 : Comment faire pour
modifier le fichier Boot.ini dans Windows XP
KB330184 : Messages d'erreur
"Boot.ini non valide" ou "Windows n'a pas pu démarrer" lorsque vous démarrez
votre ordinateur
On devrait parler de ce fichier plus tôt, car il est pratique qu'il soit modifié avant le clonage. Cependant son utilité apparaît mieux maintenant qu'on a créé une seconde partition bootable. Le Gestionnaire de disques apporte quelques informations et permet au besoin d'activer une partition. Les numéros des disques rdisk(0) à rdisk(3) dépendent du montage et du BIOS (voir ces exemples fournis par Christophe Daximont).
Petit point de Terminologie
La partition d'amorçage est appelée partition système par Microsoft, alors que
la partition qui contient Windows est appelée Partition de démarrage (KB314470 :
Définition de la partition système et de la partition de démarrage). Retenir
que la partition d'amorçage contient les fichiers Ntldr, Boot.ini et
Ntdetect.com, et que Windows peut très bien être sur une autre partition.
Addendum :
Voyons l'évolution du concept :
Vista :
Que sont les partitions système et les partitions de démarrage ?
Vista :
Créer une partition de démarrage
Vista :
Désinstaller Windows Vista sur un système à démarrage multiple
Win7 :
Que sont les partitions système et les partitions de démarrage ?
Win7 :
Créer une partition de démarrage
Win7 :
Désinstaller Windows 7 sur un système à démarrage multiple
Noter
l'apparition d'une partition d'amorçage de 100Mo. Elle est toujours qualifiée de
Système, elle gère le multiboot et permet le dépannage avec winre (
Windows 7 installe une partition cachée : A quoi sert-elle ? ). À ne pas
confondre avec la partition Recovery des installations OEM.
Disquette de démarrage
Pour illustrer le fait que la partition d'amorçage peut être différente de la
partition de Windows on peut expérimenter une disquette d'amorçage en
s'inspirant de ces articles :
KB311073,
disquette de boot partiel (todo : proposer un CD de boot partiel, les PC
n'étant plus équipé de lecteur de disquettes)
Dans l'opération de clonage décrite ici, partition d'amorçage et partition Windows ne font qu'une. C'est le disque désigné dans le BIOS qui sert pour l'amorçage, et c'est le boot.ini de ce disque qui est utilisé.
Édition du BOOT.INI
BOOT.INI est un fichier Caché et Système, et protégé contre l'écriture. Si on
utilise comme indiqué ci-après les Propriétés Système (WIN+Pause) pour éditer boot.ini tout
cela est géré de façon transparente.
Si on désire éditer manuellement le fichier, on peut afficher tous les fichiers en
cochant comme nécessaire deux items dans Options des Dossiers : voir
Afficher vraiment
tous les fichiers. Un clic droit sur
c:\boot.ini permet alors de décocher la protection contre l'écriture. On
peut ensuite modifier boot.ini avec Bloc-Notes.
Au lieu d'afficher tous les fichiers il est plus opportun de modifier les Attributs de boot.ini afin de lever ses protections :
La première commande
ATTRIB lève les attributs System, Hidden,
Read-only.
La seconde commande ATTRIB permet de rétablir ces protections après modification
avec bloc-Notes
Résumé des possibilités d'édition du BOOT.INI :
Astuce : on peut ajouter des commentaires dans le boot.ini, il suffit de créer une nouvelle section, par exemple [notes].
Les partitions systèmes (de 1 à 4) sont représentées dans l'ordre indiqué (pour chaque disque), mais éventuellement séparées dans le Gestionnaire de disques par des partitions non-système ou inactivées. Ceci peut rendre délicat la désignation de la bonne partition dans BOOT.INI, d'autant que le rdisk va changer de numéro si on boote sur le clone.
Pour contourner ces difficultés on peut utiliser un BOOT.INI universel.
Il
aura cet aspect, sachant qu'en général on boote sur la partition(1) du rdisk(0) :
[boot loader]
timeout=11
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="disque 0 partition 1"
/fastdetect
/NoExecute=Optin
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="disque 0 partition 2" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="disque 0 partition 3" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="disque 1 partition 1" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(1)partition(2)\WINDOWS="disque 1 partition 2" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(1)partition(3)\WINDOWS="disque 1 partition 3" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(2)partition(1)\WINDOWS="disque 2 partition 1" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(2)partition(2)\WINDOWS="disque 2 partition 2" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(2)partition(3)\WINDOWS="disque 2 partition 3" /fastdetect /NoExecute=Optin
Selon sa situation on pourrait aller jusqu'à rdisk(3) et Partition(n).
Mais très souvent on pourra se contenter de :
[boot loader]
timeout=11
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="disque 0 partition 1" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="disque 0 partition 2" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="disque 1 partition 1" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(1)partition(2)\WINDOWS="disque 1 partition 2" /fastdetect /NoExecute=Optin
Et en pratique on devrait finir par seulement deux lignes dans [operating systems] :
[boot loader]
timeout=11
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Clone" /fastdetect /NoExecute=Optin
Sur le Clone on fera un boot.ini symétrique de façon à pouvoir démarrer en amorçant sur son disque (à régler dans le BIOS) tout en pouvant continuer à choisir entre les deux systèmes :
[boot loader]
timeout=11
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Clone" /fastdetect /NoExecute=Optin
On ajoutera des commentaires en ajoutant une section [NOTES] ou [Commentaires] ==>
[boot loader]
timeout=11
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Clone" /fastdetect /NoExecute=Optin
[NOTES]
On démarre par défaut au bout de 11 secondes sur rdisk(1)partition(1), càd la
source originale Windows XP
/fastdetect
permet de détecter automatiquement les périphériques
http://msdn.microsoft.com/en-us/library/ms791530.aspx
/NoExecute=OptOut étend la
Prévention de l'exécution des données :
WIN+Pause, Avancé, Performances.
Sous l'onglet "Prévention de l'exécution des données", cliquer sur "Comment cela
fonctionne-t-il ?".
La première coche correspond à OptIn et la seconde à Optout
http://support.microsoft.com/kb/875352
Dans le cas où un seul disque est disponible, le rdisk ne change pas, c'est la partition à démarrer qui change de numéro :
[boot loader]
timeout=11
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP" /fastdetect /NoExecute=Optin
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Clone" /fastdetect /NoExecute=Optin
L'intérêt peut sembler moindre car cela ne protège pas d'un crash disque. Cependant ce n'est pas une panne courante. Et on appréciera de disposer d'un clone prêt à démarrer en cas de difficulté (Loi de Murphy : en pleine conférence...)
À titre de simple démonstration on a cloné jusqu'à quatre systèmes sur un seul
disque.
Sur ce disque 3 ont trouve deux XP (GClone et LEST) et deux Vista (Vista1 et
Vista2).
Au démarrage seul le boot.ini de la partition amorçable est exploité, et les
Vista sont ignorés, boot.ini ne connait pas le nouveau système.
Pour que Vista soit pris en compte il faut utiliser
EasyBCD (tutos).
En effet Vista utilise un nouveau fichier de démarrage appelé BCD, ou
Boot
Configuration Data.
Retenir qu'un système ancien ne sait rien d'un système plus récent.
En conséquence c'est toujours le système plus récent qui gère le multi-boot avec
les autres systèmes.
Une fois que Vista a pris le contrôle du démarrage, c'est son système qui offre
le choix entre les différents Windows.
Le menu de démarrage multi-boot propose Vista1, Vista2, et XP.
Si on choisit XP, c'est le boot.ini qui proposera, dans un second menu
multi-boot, le choix entre les deux XP.
Dans le gestionnaire de disques un clic droit sur une partition permet de
modifier sa lettre.
Une fois démarré sur un des deux Clones de Vista, le Gestionnaire de disques
peut refuser de modifier une lettre.
La raison en est que la première partition primaire (Y) fait office de partition
d'amorçage :
Remarquer que toutes les autres partitions Windows sont sur des partitions
logiques (couleur bleue).
Noter la signature du disque 3 (c1 e7 96 c4), elle nous aide à nous y retrouver.
Puisque le Gestionnaire de disques ne veut pas modifier la lettre Y, on ouvre
Regedit pour redonner à la partition GClone sa lettre G.
On renomme "\Dosdevices\G:" en "\Dosdevices\G:en attente" :
On renomme \DosDevices\Y: en \Dosdevices\G:
Et on renomme "\Dosdevices\G:en attente" en \Dosdevices\Y:
Ces nouvelles dispositions sont prises en compte au démarrage suivant.
Les autres lettres peuvent être modifiées avec le gestionnaire de disques.
On procède de même avec l'autre Vista. Voici le résultat après un démarrage sur
Vista2 :
Lors de ces opérations j'ai noté qu'une partition XP qui après démarrage n'a pas sa lettre C comme c'était le cas pour la source dont elle est la copie fonctionne très mal. Par contre Vista râle un peu mais fonctionne suffisamment pour permettre l'utilisation du Gestionnaire de Disques et de Regedit. Cela simplifie un peu, on n'a pas à importer une ruche comme on a dû le faire pour XP.
La valeur \DosDevices\C:
Redéfinir
la lettre de la partition de boot sous Windows NT/2000/XP
Aides
de Windows.
Aides de Windows googlées
Aide de Windows : Créer une partition de démarrage sur Vista
Aide de Windows : Désinstaller Windows Vista sur un système à démarrage multiple
EasyBCD (tutos,
1,
2)
Documentation Technet :
BCDEdit Command-Line Options (l'éditeur de la configuration de démarrage)
Documentation Technet :
Bootsect
Command-Line Options (permet de modifier facilement le MBR pour choisir de
démarrer XP ou Vista)
Documentation Technet :
How Basic
Disks and Volumes Work
Documentation MSDN :
Reassign Drive Letters to Volumes in Target Designer
Documentation MSDN :
Make Your
Runtime Think it's on C:\ While it's on Any Other Partition
Documentation MSDN :
Naming a
Volume (UVN : Unique Volume Name <==> GUID : Globally Unique Identifier - c'est tout le principe -)
Documentation MSDN :
Naming a File or
Directory
KB927817 : Vous ne pouvez pas
démarrer Windows XP après avoir installé Windows Vista dans une configuration à
double démarrage avec Windows XP
KB926185 : No restore points
are available when you use Windows Vista or Windows Server 2008 in a dual-boot
configuration together with an earlier Windows operating system
How to Stop System Restore Points from being Deleted in Vista when Dual Booting
with XP
Récupérations de Partitions : TestDisk, PTEDIT
http://www.commentcamarche.net/faq/304-creation-d-image-systeme-ghost
Remerciements à Christophe Daximont pour ses explications et captures d'écrans.
Retour au début
Les restes du site
JF
(Jean-François)
Publié le 3/1/2009