Lors d’un déménagement /fusion d’une infrastructure suite à un rachat de société, qui c’est éternisée dans le temps (6 ans), la reprise et la fin de la migration m’a été confiée.
En 6 ans, le matériel physique (systèmes aussi) vieillissent. Pour sauvegarder un poste physique sur lequel est installé le client d’un ancienne application dont les sources ont été perdu, une image .WIN du disque système a été créée.
Maintenant, nous allons essayer de faire un peu d’archéologie pour remonter le système à partir de l’image .WIN.
L’objectif est dans un premier temps identifier le contenu de l’image et de tenter de la restaurer sur une machine virtuelle. Une fois le système démarrer, le nettoyer et faire en sorte qu’il soit accessible pour consultation.
Sommaire
Téléchargement et installation ADK et WinPE
Téléchargement d'ADK et WinPE
La plupart des utilitaire ainsi que WinPE (environnement Windows light bootable utilisé pour les déploiement de Windows) sont inclue dans une suite logiciel appelée ADK (Assessment and Deployment Kit).
Il est nécessaire de la téléchargée et de l’installée. Celle-ci est disponible à l’adresse :
Télécharger les deux utilitaires :
- Windows ADK (adksetup.exe).
- Windows PE add-on for the ADK (adkwinpesetup.exe).
Lancer l’exe (adksetup.exe) et télécharger les sources :
Lancer l’exe (adkwinpesetup.exe) et télécharger les sources :
Après plusieurs minutes de téléchargement, l’ensemble des sources sont disponibles. Il est possible de copier /déplacer ces sources sur un autre poste si besoin.
Installation d'ADK et WinPE
Se rendre dans le répertoire où ADK a été téléchargé :
…\Windows Kits\10\ADK\
Puis lancer en administrateur l’exe (adksetup.exe).
Sélectionner les fonctionnalités à installer, dans ce cas ci, uniquement “Deployement tools”.
Maintenant que Windows ADK est installé, il faut lancer l’installation de la partie PE.
La plupart des actions sont similaires à l’installation d’ADK, tous les impressions d’écrans n’ont donc pas été prisent.
Se rendre dans le répertoire où ADK a été téléchargé :
…\Windows Kits\10\ADKWinPEAddons\
Puis lancer en administrateur l’exe (adkwinpesetup.exe).
L’ensemble des utilitaires ADK sont maintenant installés.
Obtenir les information sur l'image WIN
Les manipulations des images .WIN sont réalisées avec l’utilitaire DISM.EXE.
Cette utilitaire est maintenant interfacé via Powershell, vous trouverez les inforamtion sur ce module a l’adresse :
Tout au long, les deux méthodes sont utilisées, vous trouverez dans le liens ci-dessous les équivalences entre les commandes DISM et celle du module Powershell :
Dans un premier temps, nous allons essayer de récupérer le contenu de l’image WIN. Notamment, l’OS, la langue, l’architecture (x86 ou x64)…
Get-WindowsImage -ImagePath C:\ImagesWin\ClonePC_C.wim
Get-WindowsImage -ImagePath C:\ImagesWin\ClonePC_C.wim -Index 1
Dans ce cas ci, il s’agit d’une image avec un seul index (1).
Cette image contient un système Windows 7 SP1 pro fr en 32bit.
Version : 6.1 ==> Windows 7 SP1 ou 2008r2 SP1.
Installation Type : Windows client ==> Windows 7 SP1.
La taille du disque fait 26,371,803,713 Bytes soit environ 27 Gigas
Ces informations seront utiles plus tard pour la création de la VM entre autre.
Création d'une image WinPE
La création de l’image WinPE est réalisée en ligne de commande. Il est nécessaire de charger l’environnement avant de commander.
L’ensemble de la documentation est consultable à l’adresse :
Pour ce faire lancer à partir du menu démarrer ” Deployement and imaging tools Environnement”.
C:\WINDOWS\system32\cmd.exe /k ‘C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat’
Maintenant que l’environnement est chargé, nous allons pouvoir commander la création de l’image WinPE. Le répertoire où l’image sera créée et manipulée est : “C:\ImagesWin\”.
Dans un premier temps, nous allons créer le répertoire de travail pour cette instance de WinPE. Il existe une version de WinPe par type d’architecture matérielle (x32, adm64, arm…), nous allons utiliser adm64.
copype amd64 C:\ImagesWin\WinPE_Restore\
Dès que l’environnement WinPE est créé (copié), nous allons monter l’image, et ajouter les fichiers donc noua avons besoin.
Nous allons inclure l’utilitaire “ImageX.exe”, celui-ci permet de déployer une image .WIN.
Dism /Mount-Image /ImageFile:”C:\ImagesWin\WinPE_Restore\media\sources\boot.wim” /Index:1 /MountDir:”C:\ImagesWin\WinPE_Restore\mount”
Copy “C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\ImageX.exe” “C:\ImagesWin\WinPE_Restore\mount\Windows\System32\”
dism /image:C:\ImagesWin\WinPE_Restore\mount /set-inputlocale:fr-fr
Dism /Unmount-Image /MountDir:”C:\ImagesWin\WinPE_Restore\mount” /Commit
Et ajouter le fichier .WIN (ClonePC_C.win) que nous allons déployé sur la machine dans le répertoire média de l’environnement WinPE :
C:\ImagesWin\WinPE_Restore\media\sources
Copy “C:\ImagesWin\ClonePC_C.wim” “C:\ImagesWin\WinPE_Restore\media\sources”
Pour terminer l’image WinPE, nous allons désormais générer un fichier .ISO bootable.
MakeWinPEMedia /ISO “C:\ImagesWin\WinPE_Restore\” “C:\ImagesWin\WinPE_Restore\WinPE_Restore.iso”
Pour la partie WinPE, tout est terminé. A partir de cette image, il est possible de booter puis de déployer à l’aide de ImageX.exe l’image .WIN que nous avons inclue.
Cette image ISO doit être transférée sur un stockage accessible par le machine virtuelle que nous allons créer. Dans ce cas ci, sur un Datastore.
Restauration sur la nouvelle VM
Maintenant que l’image WinPE est disponible, il faut maintenant créer une nouvelle VM et restaurer l’image sur celle-ci.
A l’aide des informations collectées au début de ce post sur l’image, la VM créée sera sur un modèle de machine W7 32bits. Le disque doit faire à minima 27 Go.
La seule modification apportée à la configuration de la VM est le disque qui n’est pas connecté sur le contrôleur SCSI mais sur l’IDE. Ce choix a été fait car Windows 7 ne possède pas nativement les drivers SCSI VMware alors que l’IDE oui.
Le test a été réalisé avec SCSI, celui-ci engendre un BSOD. Il est toujours possible d’injecter le drivers dans l’image WIN (ClonePC_C.wim) en utilisant DISM. Mais l’objectif est de redémarrer le système rapidement quitte à injecter les drivers ultérieurement.
L’image ISO du WimPE connectée dans le lecteur CD.
La VM est disponible, nous allons la démarrée pour booter sur le CD (image ISO WinPE).
Avec l’utilitaire DISKPART, créer la partition.
select disk 0
clean
create partition primary
select partition 1
format fs=ntfs label=”Windows” quick
assign letter=n
active
exit
Puis déployer à l’aide d’imagex l’image Windows. Avec bcdedit et bcdboot, fixer cette partition comme partition de boot.
Et pour finir redémarrer le VM.
ImageX.exe /apply D:\Sources\ClonePC_C.win 1 n:
bcdedit /delete {default}
bcdboot n:\windows
exit
Au redémarrage, le système est démarré.
Pour finaliser l’opération, il m’a fallut reset le mot de passe du compte admin.
Puis afin d’avoir une machine définitivement stable, recréer cette même VM à l’aide de VMWare converter.
Liens annexes
ADK
WinPE
DISM