Page 1 sur 2

Créer son Live Windows (basé sur Windows PE 5)

Publié : 01 novembre 2013, 21:18
par Etre_Libre
Avec Windows, tout comme avec Linux, il y a la possibilité de créer et d'utiliser un système "Live" : par exemple Live USB ou Live CD (ou même en démarrage réseau).

Un Live Windows c'est un système Windows, souvent minimaliste, qui se charge en RAM et permet d'exécuter des logiciels et d'accéder aux données des stockages de l'ordinateur (disque dur, SSD, etc...).

C'est par exemple particulièrement pratique quand un Windows ne démarre plus : on peut démarrer un Live Windows pour par exemple réparer le système, ou même tout sauvegarder ailleurs et réinstaller.

Note : ce tutoriel permet de créer un Live Windows simple, avec peu de modifications.

Le logiciel à télécharger chez Microsoft est : Windows ADK 8.1

Cela va permettre de générer un Live Windows basé sur Windows PE 5, c'est à dire : Windows 8.1

Je vais donc l'appeler simplement : Live 8.1.

En terme de licence, voici une citation d'une partie de ce qu'on peut lire en installant le Windows ADK :
Dans le cadre du présent contrat de licence, vous disposez des droits perpétuels présentés ci-dessous.
1. INSTALLATION ET DROITS D’UTILISATION. Vous êtes autorisé à installer et utiliser un nombre quelconque de copies du logiciel sur vos dispositifs, uniquement dans le but de déployer, d’entretenir, d’évaluer la qualité du système et d’évaluer vos systèmes et dispositifs sous les systèmes d’exploitation Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Vista, Windows 7, Windows 8 ou Windows 8.1.
En plus clair : ce Live Windows (Windows PE) ne doit servir qu'à du déploiement, entretien (maintenance, réparation) et évaluation d'un Windows existant.
En aucun cas ce Live Windows ne devrait être votre Windows principal.


Pour l'installation, je recommande de n'installer que le strict nécessaire :
- Outils de déploiement
- Environnement de préinstallation de Windows (Windows PE)

Image


Une fois l'installation terminée, nous allons ouvrir l'outil nommé : "Environnement de déploiement et d’outils de création d’images"

Il se trouve soit dans le menu démarrer dans : Tous les programmes --> Windows Kits --> Windows ADK --> "Environnement de déploiement et d’outils de création d’images"

Si vous avez Windows 8.1 sans logiciel qui restaure le menu démarrer, il est aussi présent dans l'écran d'accueil.

Attention ce n'est pas un Invite de commandes simple, comme si on ouvrait directement "cmd.exe" :
En effet, il y a plusieurs variables d'environnement qui sont activées afin de pouvoir utiliser tous les utilitaires sans préciser le chemin complet.

En installant Windows ADK, en fait les images WIM sont déjà prêtes à l'emploi, nous allons simplement les utiliser et les modifier légèrement.

Nous allons tout placer dans un dossier, commençons par le Live 8.1 x64 par exemple, sachant qu'avec le x86 c'est pratiquement la même chose.

Et les commandes démarrent :

Image

copype amd64 C:\live81x64

On a la confirmation "Success" :
Image

Et dans le dossier C:\live81x64 on trouve désormais 3 dossiers :

- fwfiles (contient les secteurs de boot pour BIOS et pour UEFI)
- media (le Live au complet, prêt à être transformé en image ISO ou à mettre sur clé USB)
- mount (dossier vide au départ, peut être utilisé comme point de montage pour l'image WIM du Live Windows, par exemple pour modifier le Live)
Image

Montage de l'image WIM dans le dossier vide :
dism /Mount-Image /ImageFile:C:\live81x64\media\sources\boot.wim /index:1 /MountDir:C:\live81x64\mount

Image

Dans le dossier C:\live81x64\mount on voit les fichiers du Live 8.1, directement accessibles et modifiables.

Les modifications possibles sont libres, tant qu'on ne modifie pas les programmes binaires Microsoft ; le reste pas de problème ;)
Cela va par exemple du registre local (ruches dans C:\live81x64\mount\Windows\System32\config ) au script de démarrage "startnet.cmd" se trouvant dans le dossier System32 ou encore le fond d'écran "winpe.jpg".

Par défaut, le Live 8.1 n'est qu'en anglais, donc le clavier est QWERTY.

Avec Windows ADK, il y a des packs de fonctionnalités et de langues qu'on peut ajouter, disponibles dans le dossier :
"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs"

Il y a entre autres le support de PowerShell 3, .Net Framework 4, WMI, PPPoE, Stockage étendu, polices d'écriture asiatiques, etc...

Et dans le sous-dossier "fr-fr" il y a le pack de langue "lp.cab" et les packs de langue pour chaque fonctionnalité que l'on souhaite ajouter.

Pour ce tutoriel, je choisis un Live 8.1 basique, donc juste avec le support FR :
dism /Image:C:\live81x64\mount /Add-Package /PackagePath:"C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\lp.cab"

Image

Et l'activation de cette langue et du clavier FR Azerty :
dism /Image:C:\live81x64\mount /Set-UILang:fr-FR
dism /Image:C:\live81x64\mount /Set-SysLocale:fr-FR
dism /Image:C:\live81x64\mount /Set-UserLocale:fr-FR
dism /Image:C:\live81x64\mount /Set-InputLocale:fr-FR


Et si on retirait la langue qui ne nous sert pas dans l'image WIM ?

Pour cela, il suffit de lister les paquets présents dedans :
dism /Image:C:\live81x64\mount /Get-Packages
On doit obtenir quelque chose comme :

Code : Tout sélectionner

Identité du package : Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~6.3.9600.16384
État : Installation en attente
Type de version : Language Pack
Et là on supprime la langue en-US du pack :
dism /Image:C:\live81x64\mount /Remove-Package /PackageName:Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~6.3.9600.16384

On peut maintenant démonter l'image et appliquer les changements dans le fichier WIM :
dism /Unmount-Image /MountDir:C:\live81x64\mount /commit

On doit voir :

Code : Tout sélectionner

Enregistrement de l'image
[==========================100.0%==========================]
Démontage de l'image
[==========================100.0%==========================]
L'opération a réussi.
Le dossier "mount" est à nouveau vide, c'est normal.

En principe le fichier image WIM a un peu grossi, voir la taille de ce fichier :
C:\live81x64\media\sources\boot.wim

Si jamais vous avez ajouté plusieurs packages, supprimé certains etc... il se peut que l'image WIM puisse être réduite légèrement, via une compression.

J'ai même remarqué que plus on monte et démonte l'image pour faire quelques petites modifications, plus l'image grossi anormalement.

Pour cela je propose une cure de minceur, la cure "ImageX" avec compression :
imagex /compress maximum /export C:\live81x64\media\sources\boot.wim 1 C:\live81x64\media\sources\nouveau.wim "Live_8_1"

Cela crée une nouvelle image WIM "nouveau.wim" à côté de "boot.wim" :

Code : Tout sélectionner

ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
Version: 6.3.9600.16411

Exporting: [C:\live81x64\media\sources\boot.wim, 1] ->
           [C:\live81x64\media\sources\nouveau.wim]


[ 100% ] Exporting progress

Successfully exported image #1.


Total elapsed time: 3 sec
On peut donc supprimer "boot.wim" et renommer "nouveau.wim" en "boot.wim".

Dans mon cas l'image est passée de 194 Mo à 187 Mo, soit une légère réduction de 7 Mo.
Cela peut être plus important selon la quantité de modifications apportées.

Il reste encore 2 endroits à basculer en Français, on peut s'en rendre compte avec la 1ère commande :
bcdedit /store C:\live81x64\media\Boot\BCD

Cela permet de lire le catalogue de démarrage de Windows 8.1, le BCD.

Idem en mode UEFI il y a un 2ème catalogue dédié :
bcdedit /store C:\live81x64\media\EFI\Microsoft\Boot\BCD

Dans les 2, on lit "locale" "en-US" ce qui est donc à changer.

Voici les commandes pour cela :
bcdedit /store C:\live81x64\media\Boot\BCD /set {bootmgr} locale fr-FR
bcdedit /store C:\live81x64\media\Boot\BCD /set {default} locale fr-FR
bcdedit /store C:\live81x64\media\EFI\Microsoft\Boot\BCD /set {bootmgr} locale fr-FR
bcdedit /store C:\live81x64\media\EFI\Microsoft\Boot\BCD /set {default} locale fr-FR


Enfin, contrairement aux anciens Windows PE, par défaut il n'y a pas de barre de progression quand le CD ou la clé USB charge (ou le boot réseau PXE), ce qui peut être gênant si on souhaite savoir où en est le chargement du Live 8.1

Pour cela, quelques commandes supplémentaires :

bcdedit /store C:\live81x64\media\Boot\BCD /set {default} bootmenupolicy Legacy
bcdedit /store C:\live81x64\media\EFI\Microsoft\Boot\BCD /set {default} bootmenupolicy Legacy


Note : tout comme avec Windows 8.1, cela réactive aussi le menu "F8" du démarrage, si on a besoin ;)


Création de l'ISO (le cas de la clé USB sera vu aussi)


Via l'utilitaire fourni OSCDIMG, on va pouvoir créer une image ISO bootable du Live 8.1, avec ou sans support UEFI.

1ère possibilité : support de boot BIOS uniquement :

Code : Tout sélectionner

oscdimg -h -u2 -m -o -l"Live_8_1" -b"C:\live81x64\fwfiles\etfsboot.com" "C:\live81x64\media" "C:\live81x64\Live8_1_bios.iso"
2ème possibilité : support de boot UEFI uniquement :

Code : Tout sélectionner

oscdimg -h -u2 -m -o -l"Live_8_1" -b"C:\live81x64\fwfiles\efisys.bin" "C:\live81x64\media" "C:\live81x64\Live8_1_efi.iso"
3ème possibilité : support de boot hybride BIOS et UEFI :

Code : Tout sélectionner

oscdimg -h -u2 -m -o -l"Live_8_1" -bootdata:2#p0,e,b"C:\live81x64\fwfiles\etfsboot.com"#pEF,e,b"C:\live81x64\fwfiles\efisys.bin" "C:\live81x64\media" "C:\live81x64\Live8_1_bios_efi.iso"
Selon les machines rencontrées, un des 3 cas pourrait bien servir ;)


Création sur Clé USB

Le cas de la clé USB est un peu spécial (pour un disque dur ou SSD ce serait pareil, mais je ne le recommande pas, car Windows ne les voit pas de la même manière) :

En effet il y a la question du système de fichiers (File System)...

En formatant la clé USB en NTFS, ça fonctionnerait très bien en mode BIOS, car le BIOS ne s'intéresse pas au FS utilisé : il lit quelques secteurs, et démarre sur le fichier demandé : BOOTMGR (chargeur de démarrage de Windows).

Néanmoins, avec l'UEFI, le FS choisi est très important, car l'UEFI va explorer la clé USB, et voir si il trouve le fichier suivant (avec un EFI x64) :
\EFI\Boot\bootx64.efi

En EFI x86 (32 bits), ce serait : \EFI\Boot\bootia32.efi

Je considère que tous les UEFI de maintenant sont 64 bits, ce qui est la plupart du temps le cas, sauf des anciens Mac (pas de problème sur les PC apparemment) ou certaines tablettes à base de Intel Atom Z.
Microsoft semble avoir choisi cette voie : UEFI x64 = Windows x64 uniquement.

Aussi, il est bon de savoir que la plupart des UEFI ne savent lire que le FAT ou FAT32, mais ne connaissent pas le NTFS.

Adieu donc le NTFS pour démarrer sur un système récent, et bonjour au... FAT32.

Note : d'ailleurs un Windows 8.1 installé sur un système UEFI ajoute une partition spéciale FAT32, pour pouvoir démarrer.

Je vais commencer par le cas le plus courant : on efface la clé USB pour tout mettre en place.

Un petit tour avec "diskpart", en ligne de commande :
diskpart

Puis pour lister les stockages branchés :
list disk

J'ai pu lire sur une clé USB 4 Go :

Code : Tout sélectionner

Disque 1    En ligne       3824 M
Choisir ce stockage (adapter le chiffre à votre usage) :
select disk 1

Nettoyage complet (supprime toute partition) :
clean

Créer une partition primaire (principale), et pas une UEFI car sinon les anciens systèmes BIOS ne pourraient pas démarrer dessus :
create partition primary

Formater en FAT32 mode rapide (label au choix) :
format FS=FAT32 LABEL="LIVE_8_1" QUICK

Rendre la partition "active" (pour le mode BIOS) :
active

Puis quitter le logiciel :
exit

Récapitulatif en image :
Image

Maintenant, copier tout le contenu du dossier "C:\live81x64\media" vers la clé USB.

Le mode UEFI fonctionne déjà, mais pour le boot BIOS il reste une commande pour indiquer à la MBR qu'on souhaite charger le fichier "BOOTMGR" (adapter la lettre à celle de votre clé USB) :
bootsect /nt60 F: /force /mbr

On peut lire alors quelque chose comme :

Code : Tout sélectionner

Les volumes cibles seront mis à jour avec un code de démarrage compatible BOOTMGR.

F: (\\?\Volume{5877e979-4319-11e3-8255-000c2989b2dd})

    Mise à jour du code de démarrage du système de fichiers FAT32 réussie.

\??\PhysicalDrive1
    Mise à jour du code de démarrage de disque réussie.

Le code de démarrage a été mis à jour sur tous les volumes ciblés.
Et après test, la clé USB démarre bien depuis le BIOS et depuis l'UEFI.


Voilà, nous avons créé un Live 8.1 basique.

Aperçu du Live 8.1 démarré :
Image

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 17 février 2014, 09:30
par Saamu
Hello!
Cela vous tente de développer la structure d'un live ?
Avec par exemple intégration du classic shell
PStart
Configuration de la connexion
Personnalisation du fond d'écran

et intégration de logiciel portable
comme Fire Fox
et des utilitaires de dépannage

.....


Bien cordialement
Georges
http://saamu.net
http://papynet.mvps.org/

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 17 février 2014, 09:58
par Etre_Libre
Bonjour,

J'ai déjà mis en place ce type de chose, voir le sujet suivant dans la section "Divers Logiciels" :
Outils Live Windows, dépannage via Windows PE

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 17 février 2014, 10:30
par Saamu
Hello!

Merci
Je vais lire tout cela !

Georges

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 01 octobre 2014, 18:44
par european
Bonjour j'ai suivi à la lettre votre tutoriel mais lorsque je boot sur ma clef il ne voit aucun OS. La clef ne semble pas bootable. A savoir que j'ai fait la manipulation sur une clef USB 32Go juste pour information.. Pourriez Vous m'aider ?

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 01 octobre 2014, 19:20
par Etre_Libre
Bonsoir,

C'est un problème sur PC avec démarrage en mode BIOS ou EFI ?

Qu'avez-vous fait pour rendre la clé USB bootable ?

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 02 octobre 2014, 08:52
par european
Comment voir le type de démarrage de l'ordinateur ? Pour ce qui est de rendre la clef USB bootable, c'est ça qui me semble bizarre je n'ai rien fais de plus que suivre votre tuto .. Si effectivement dans votre tuto il n'y a pas une manipulation pour rendre bootable la clef, dans ce cas c'est normal qui je ne démarre pas dessus ...

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 02 octobre 2014, 10:25
par Etre_Libre
Pour le type de démarrage, il faut voir avec votre carte mère, si elle est capable d'EFI ou seulement de BIOS.

Si jamais c'est en mode BIOS : avez-vous bien utilisé "active" dans les étapes de diskpart ?

Puis avez-vous aussi exécuté la commande "bootsect" indiquée ?

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 02 octobre 2014, 10:33
par european
oui tout est réalisé selon votre tuto mais je viens de me rendre que c'était à nous de rendre notre clef bootable, vous ne l'explioquez pas dans votre tuto et j'ai un peu de mal à trouver un logiciel fiable ... j'ai deja tester unetbootin et rufus mais en vain . Et ma carte mère gère seulement le BIOS et non l'EFI....

Re: Créer son Live Windows (basé sur Windows PE 5)

Publié : 02 octobre 2014, 10:42
par Etre_Libre
Dans le tutoriel il y a pourtant tout le nécessaire pour rendre la clé bootable... à la fois avec "active" dans diskpart qui rend la partition de la clé USB active (et donc bootable en mode BIOS) et à la fois avec la commande "bootsect" indiquée qui dit au BIOS de démarrer cette clé USB sur le fichier chargeur de démarrage "BOOTMGR".

Vous êtes sûr que votre carte mère prend en charge le démarrage sur clé USB, et si oui, est-ce bien activé ?