Cloner Nativement Windows 8.x en Mode EFI
Cloner Nativement Windows 8.x en Mode EFI
Cloner Nativement Windows 8.x en Mode EFI
x (mode EFI)
Il existe des logiciels gratuits comme CloneZilla, même si pour Windows la fiabilité n'est pas garantie
(car le support NTFS n'est que partiel).
Il y a aussi des logiciels payants comme Paragon Drive Copy, que je trouve très peu coûteux et
pratique dans le cas d'une copie directe d'un lecteur à un autre (sans passer par un réseau).
Pour un déploiement dans un réseau, j'utilise plutôt la méthode native via les outils Microsoft.
Si votre installation de Windows contient une partition spéciale de restauration et que vous voulez la
conserver (facultatif, je recommande une vraie installation de Windows, non modifiée), il vous faudra
adapter ce tutoriel à votre usage.
Pré-requis
Pour utiliser nativement ce clonage de PC Windows, il faudrait par exemple :
- Un Live Windows de type Windows PE 5 (tutoriel ici pour sa création)
- Un disque dur ou SSD autre que celui vers lequel cloner (peut être externe), ou même une clé USB de
taille suffisante
Note : on peut aussi utiliser un NAS ou un serveur de fichiers Windows (ou Linux Samba) pour
centraliser la ou les images Windows.
Aide : si vous utilisez un serveur ou NAS comme stockage d'images Windows au lieu d'un disque dur,
SSD ou Clé USB, ce type de commande peut vous aider (c'est mon cas) :
net use /?
Exemple :
net use S: \\192.168.0.2\Captures /user:Maxime
Cette commande permet d'utiliser la lettre (qui n'était pas utilisée, à vérifier auparavant) S: qui va pointer
vers le partage "Captures" du serveur Windows (ou Samba) 192.168.0.2 avec le compte Maxime.
Si vous avez besoin du réseau et que Windows PE ne reconnait pas votre carte réseau nativement, voici
un tutoriel expliquant comment régler cela.
list partition
Dans mon cas un seul "disque" est visible, car j'utilise un lecteur réseau pour les images.
Attention à bien choisir le bon disque ou SSD, et idem pour les volumes (avec leurs lettres), quitte à
explorer un peu chaque lecteur via "dir" pour identification.
Elles ont été créées par Windows lors de l'installation, voici ce qu'on trouve :
- une partition 1 "Récupération" de type Récupération de 300 Mo (c'est une partition principale NTFS)
- une partition 2 "Système" de type EFI de 100 Mo (c'est une partition FAT32, un des rares systèmes de
fichiers que l'EFI peut lire)
- une partition 3 "Réservé" de type MSR (Microsoft Reserved Partition) de 128 Mo (en réalité, pas de
données utilisateur dedans ni Windows lui-même, cette partition semble réservée à un usage non
documenté de Microsoft, et elle est présente sur les systèmes EFI)
- une partition 4 "Principale" (en GPT de toute façon on peut créer un grand nombre de partitions
principales) de 59 Go, formatée en NTFS
Note : la partition MSR de 128 Mo n'a pas de volume correspondant, elle ne semble pas formatée ou
accessible.
Elle ne sera pas à copier.
Pour cloner votre disque ou SSD entier et si vous avez plusieurs autres partitions, il y aurait besoin d'une
lettre par partition à copier.
Si c'est votre cas, voici le type de commande à utiliser, pour un volume sans lettre :
Dans ce cas, toujours dans "diskpart", exemple avec un volume 10 (imaginaire ici) :
select volume 10
assign
Ainsi, une lettre serait attribuée au volume 10 imaginaire, et avec "list volume" on verrait la lettre.
Aide : la partition EFI FAT32 de 100 Mo n'est pas nécessairement à sauvegarder, car nous pourrons
facilement générer de nouveaux fichiers de démarrage ensuite.
En effet, depuis Windows 8.x le dossier "Recovery" contenant ce Windows PE a été placé dans une autre
partition que celle du système.
Bien sûr, il est possible de copier la partition spéciale "Récupération", la restaurer, et modifier ensuite le
catalogue BCD du nouveau disque dur ou SSD.
J'ai néanmoins choisi une méthode que j'estime plus simple : garder uniquement les fichiers nécessaires et
placer le dossier "Recovery" dans la partition système de Windows, comme avec Windows 7.
select volume 3
assign
Si on souhaite choisir la lettre, ce serait la commande : assign letter=X (où X est la lettre choisie)
Je vais utiliser la lettre S comme lecteur réseau ou disque dur / SSD qui va stocker les images WIM entre
autres.
Adaptez bien à votre lettre et votre cas.
Les fichiers Winre.wim et boot.sdi étant cachés et système par défaut, j'ai dû utiliser la commande attrib
pour changer les attributs pour qu'ensuite xcopy veuille bien les copier.
Le lecteur de destination n'a pas besoin d'être vide, il y aura simplement un ou plusieurs fichier(s) .WIM
créés.
Le logiciel de capture (DISM) utilisant des fichiers temporaires, il est préférable de modifier les variables
d'environnement TEMP et TMP afin que les fichiers temporaires ne soient pas créés dans le mini lecteur
X: qui est en RAM et limité en taille (la capture peut planter).
La syntaxe est :
dism /Capture-Image /ImageFile:S:\nom_image.wim
/CaptureDir:Lettre:\ /Name:nom_image /Compress:fast
"Lettre:" est à remplacer par le lecteur à cloner, et "nom_image" par le nom de votre image, sans espace.
La plupart du temps le mode "fast" suffira, sauf si le réseau ou disque dur (ou SSD) de destination plutôt
lent, dans ce cas ce sera le mode max (seulement pour processeur assez puissant).
Cette valeur peut changer selon les logiciels installés et les fichiers personnels présents dans l'ordinateur.
A moins que vous ayez besoin de restaurer / cloner seulement une des partitions, et dans ce cas il faudra
adapter à votre usage, nous allons utiliser diskpart pour supprimer toutes les partitions éventuelles
présentes.
Volontairement, j'ai mis un "disque" plus petit dans ce nouvel ordinateur, pour montrer que c'est tout à fait
possible, tant que la quantité réelle de données rentre à l'intérieur.
Choisir le bon (pour moi il n'y en a qu'un, j'utilise un lecteur réseau pour les images WIM) via :
select disk numero_disque
Ici ce sera :
select disk 0
Effacer toute partition, et retour en mode MBR par défaut (si on crée des partitions via diskpart) :
clean
convert gpt
Dans mon cas le volume 3 est la partition EFI de démarrage (100 Mo) formatée en FAT32, et le volume 2
est la partition Principale du système formatée en NTFS.
Aussi, nous avons assigné une lettre directement, pour cet exemple j'ai pris les lettres "Y" et "Z" car je
savais qu'elles n'étaient pas utilisées.
On peut quitter diskpart, et passer à l'application des images sur chaque partition, en considérant que le
lecteur S: correspond toujours à l'endroit où se trouvent les images WIM.
Volontairement, je vais placer le dossier temporaire sur le volume de destination si j'utilise un lecteur
réseau, car autrement l'erreur "Le client ne dispose pas d’un privilège nécessaire." peut apparaître, ou
alors vérifier que l'utilisateur pour le lecteur réseau S: fait partie du groupe Administrateurs du PC ayant
Au plus simple : placer le dossier "Temp" directement sur le lecteur de destination du système, dans mes
tests cela a bien fonctionné, via les commandes (pour le lecteur Z:) :
mkdir Z:\Temp_Dism
set TMP=Z:\Temp_Dism
set TEMP=Z:\Temp_Dism
On peut voir :
Il reste à générer un nouveau BCD (catalogue contenant les entrées de démarrage de Windows 8.x) afin
que le système démarre, car nous n'avons volontairement pas gardé le BCD du système.
Aperçu :
Pour plus de détails sur cette commandes, vous pouvez utiliser : bcdboot /?
Cette méthode est la plus simple et rapide, même si ce n'est pas la seule possible (on aurait pu réparer les
entrées existantes via bcdedit et en modifiant le catalogue BCD se trouvant dans Y:\Boot).
En allant dans le dossier Y:\EFI\Microsoft\Boot, on obtient alors via "bcdedit /store BCD" :
Il reste une étape facultative, qui va permettre de restaurer aussi le Windows PE de réparation et
dépannage de Windows, qui peut apparaître aussi via le menu "Réparer" du menu F8 au démarrage de
Windows (si on a réactivé le menu F8 de Windows 8.x).
Si vous ne faites pas cette étape facultative, il suffit de redémarrer, via le commande : wpeutil reboot
Si vous aviez bien copié les fichiers Winre.wim et boot.sdi qui étaient indiqués, alors vous pouvez
continuer.
Pour rappel, j'ai placé ces fichiers dans le dossier suivant : S:\W8x_PE_Recovery
Dans un 1er temps, le but est de créer un dossier "Recovery" à la racine du lecteur système et copier ces 2
fichiers Winre.wim et boot.sdi pour dans un 2ème temps les intégrer au catalogue BCD.
Il y a donc eu une création du dossier Z:\Recovery puis via attrib je l'ai masqué car c'est un dossier
système, et enfin j'ai copié les fichiers Winre.wim et boot.sdi dedans.
Maintenant, se placer dans le dossier Y:\EFI\Microsoft\Boot car c'est là que se trouve le catalogue BCD
que nous allons modifier pour ajouter l'entrée "Réparer" dans le menu F8 du démarrage.
Tout d'abord, il y a la création d'une entrée qui permettra qu'un RAM Disk soit utilisé pour le Windows
PE de dépannage :
Ensuite, il y a la création d'une entrée pour un Windows PE dédié à la réparation de Windows, via la
commande suivante (à écrire en une seule fois) :
Exemple : {123abcd-98765-fedcba-0123456789abcd}
Nous avons alors ensuite (chaque commande bcdedit est à écrire en une seule fois, c'est juste que ça
continue sur une 2ème ligne avec les commandes un peu longues) :
Il reste à définir que cette entrée nouvellement créée devienne celle à charger quand on demande le mode
de réparation de Windows, via les commandes suivantes (réutiliser l'ID entre accolades, à nouveau) :
Aperçu en image :
Si on souhaite vérifier que tout est bien présent, on peut utiliser la commande :
bcdedit /store BCD /enum all
En redémarrant (et en quittant Windows PE donc), en demandant le menu de démarrage via la touche F8
on doit avoir plusieurs options dont "Réparer" :