UEFI vous connaissez ? “Unified Extensible Firmware Interface”, c’est le nouveau standard qui à terme devrait remplacer le BIOS.
Les raisons principales de ce changement sont les suivantes :
UEFI adresse toutes ces limitations, et fait bien plus encore ! Pour être claire UEFI est un véritable OS embarqué. Pour en connaitre les principaux contours, voici une très bonne vidéo de présentation !
La partie qui nous préoccupe aujourd’hui est la partie disque, et dans ce domaine UEFI a de quoi faire rêver :
UEFI met fin au règne des disque MBR dont j’ai cité les limitations plus haut, et donne naissance au disque GPT (Bravo pour le nom !!) qui peuvent adresser pas moins de 128 partitions de 9.4 milliard de tera octets (Zo) par disque physique (Non, il n’y à pas erreur !).
L’accès à ces partitions gigantesques est soumis à quelques contraintes dont les principales sont les suivantes :
Cependant, si vos disques font moins de 2.2 tera et ne sont pas GPT vous pouvez quand même implémenter GPT, ceci dit l’intérêt devient plus que discutable…
Pour infos les versions précédentes de Windows permettaient déjà de créer des disques GPT, mais pas pour les partitions devant booter sur l’OS.
Comme vous le constatez également, en dehors d’un OS 64 Bits ; point de salut. Oubliez donc le boot UEFI sur les OS 32 Bits car même si cette spécification existe, Microsoft n’a pas voulu l’implémenter…
Update 18/02/2013 : Il semble que pour Windows 8, Microsoft est finalement décidé de supporter UEFI sur son OS 32 Bits, notamment à cause des processeurs Atom Z2760 “clover trail” qui ne sont que 32 bits et qui son installé dans pas mal de tablettes x86…
UEFI embarque un mode de compatibilité qui émule le BIOS. Le guide que je vous propose va vous permettre d’utiliser UEFI en mode natif, c’est à dire : en désactivant la compatibilité avec les anciens mode de démarrage BIOS.
La conséquence directe de ce mode natif impliquera non seulement que vos disques durs et partitions OS soient configurés en mode UEFI, mais également tout périphériques susceptibles de booter !!! Donc également les clés USB (Les CD/DVD restant lisibles dans leur format d’origine malgré l’existence d’une spécification UEFI !).
Problèmes des clés USB
Si le partitionnement du disque dur et l’installation de l’OS ne présentent pas de difficultés particulières; il va falloir ruser un peu pour les clés USB, mais nous allons voir cela tout de suite :
Le file system de l’UEFI est (accrochez-vous à votre chaise ! ) du FAT/FAT32. Cette spécification met des facto en péril vos futur déploiement du fait des limites techniques du système FAT qui ne peut pas gérer des fichiers de plus de 4 GO…(UEFI ne supportant pas non plus ExFAT !)
Update 05/11/2013 : Si vous rencontrez ce problème et que vous cherchez une solution, j’ai écrits un outils pour MDT permettant de s’affranchir de cette Limite. Toutes les infos ici.
Pour rappel, 4 GO c’est la taille que fera votre fichier Install.WIM (le fichier principal d’installation de Windows) après l’intégration du SP1 et de quelques patches supplémentaires, c’est aussi la taille du fichier d’installation de Windows 8 !
Est-ce vraiment un problème ? … en fait pas vraiment… En repassant l’UEFI en mode compatibilité on peut s’affranchir de cette limitation et utiliser le NTFS ! Cependant, j’ai lu ça et là que ce mode de compatibilité pourrait disparaitre un jour, aussi, étudier la question avant de se retrouver au pied du mur me paraissait important.
Important : Si votre image WIM fait moins de 4GO la suite de cet article ne vous concerne plus. Depuis Windows 8, La création d’un média UEFI compatible est relativement simple, ce tutorial vous l’explique deux méthodes pour creer votre clé : http://www.nextofwindows.com/how-to-make-uefi-bootable-usb-flash-drive-to-install-windows-8/
Donc,pour contourner ce “problème” nous allons devoir créer une seconde partitions sur la clé USB que nous formaterons cette fois en NTFS, et sur laquelle nous pourrons déposer nos fichiers volumineux.
Nouvelle coquille : Windows 7 n’est capable de ne lire ou formater qu'une seule et unique partition sur un média amovible !!!! La seconde partition n’étant tout bonnement pas affichée. Windows 8 fait à peine mieux, puisqu'il affiche les deux partitions, mais ne sait lire que la première.
Le seul moyen pour que les deux partitions de cette clé soient accessibles quelque soit le contexte (BIOS, WinPE, Windows) et qu'‘elle soit détecté, non pas comme un média amovible, mais comme un disque local !
Clés USB ‘Fixed Disk’
A l’heure actuelle, vous pouvez aller acheter une clé USB qui, selon une logique propre à chaque constructeur, sera reconnue comme disque local (fixed drive), ou comme média amovible (removable device).
Soyons claire : il n’existe actuellement aucun moyen d’identifier quel est le type de la clé avant de l’avoir acheté !!!
Sachez également que vous aurez besoin du même type de clé si vous voulez utiliser WindowsToGo.
Deux solutions s’offrent à vous pour régler ce problème : soit avoir de la chance à l’achat de votre clé, soit transformer celle-ci en disque local, voici brièvement comment faire :
Téléchargez et installez l’application ChipGenius à cette adresse afin de connaitre les spécifications de votre clé USB.
Nous avons besoin de deux Informations importantes : les numéros VID et PID :
Ensuite, vous pouvez soit vous rendre sur le liens proposé par l’application, soit entrez vos VID/PID sur cette page.
quel en est l’intérêt : la page internet va vous dire quelles applications connues peuvent reformater votre clé.
Si une application existe, vous pourrez la télécharger en allant sur cette page là.
La plus part des outils de reformatage qui vous seront proposés ne fonctionnent que sur votre clé, n’essayez donc pas le même utilitaire sur un model de marque différente, vous risqueriez de détruire votre clé.
Le reformatage permet, entre autre de changer le type de votre clé et donc de transformer cette dernière en Fixed Drive.
Préparation de votre environnent de travail
Le problème de clé étant maintenant réglé, voici la liste des près-requis pour mener à bien notre installation :
Sur le PC de test, vous allez activer l’UEFI en éditant le BIOS. l’UEFI est en général configuré en mode compatible afin de pouvoir gérer à la fois les disque MBR et GPT. Vous allez le passer en mode natif UEFI :
Partitionnement de la clé USB
Insérez votre clé USB et ouvrez une invite de commande en mode administrateur. Lancez Diskpart avec les commandes suivantes :
DISKPART
LIST DISK (identifiez votre clé USB, dans cet exemple ma clé à le numéro 1)
Puis sélectionnez la avec la commande :
SELECT DISK 1 (Remplacer le chiffre 1 par le numéro correspondants à votre propre clé USB).
CLEAN (pour effacer tout contenu existant)
CREATE PARTITION PRIMARY SIZE=204
FORMAT FS=FAT32 LABEL=”EFI” QUICK
ASSIGN
CREATE PARTITION PRIMARY
FORMAT FS=NTFS LABEL=”OS” QUICK
ASSIGN
Bravo, vous venez de créer une partition Fat32 de 200 Mo et une partition NTFS qui utilise la quantité restante sur votre clé :
Préparation de la Clé USB
Munissez-vous maintenant de votre CD d’installation Windows 7/8 X64 et copiez les fichiers et répertoires suivants sur la partition nommé “EFI” de votre clé USB :
Boot
Efi
autorun.inf
Bootmgr
Bootmgr.efi
Copiez ensuite les fichiers et répertoires suivants sur la partition nommée '”OS” de votre clé USB :
Sources
Support
upgrade
setup.exe
Si Vous êtes sous Windows 7 X64, quelques opérations supplémentaires par rapport à Windows 8 sont à opérer :
Retournez dans la partition EFI et copiez le répertoire EFI\Microsoft\Boot un niveau au dessus afin qu’il se retrouve dans EFI\Boot
Récupérez le fichier Bootmgfw.efi qui se trouve dans C:\Windows\Boot\EFI et copiez le sur la clé dans le répertoire EFI\Boot en le renommant en Bootx64.efi
l’ arborescence de votre répertoire boot doit maintenant ressembler à ça :
Nous allons maintenant modifier le magasin BCD afin que le boot sache à quel endroit aller chercher ces fichiers de démarrage.
Si vous ne l’avez pas encore fait, installez Visual BCD et dans le menu Store de celui-ci, cliquez sur Open Store et choisissez le fichier E:\efi\microsoft\boot\bcd (Remplacez E par la lettre correspondant la partition EFI de votre clé USB)
Dans l’arborescence de droite sélectionnez Windows Setup
et modifiez successivement les entrées ApplicationDevice et OSDevice en remplaçant dans le chemin du ramdisk, l’emplacement [boot] par la lettre correspondant à la partition OS de votre clé USB.
Votre Magasin BCD doit normalement ressembler à ça :
Une fois ceci terminé quittez Visual BCD, il reste une dernière modification à effectuer afin d’indiquer sur le boot ou se trouve l’OS
BOOTSECT /NT60 E: (remplacer E: par la lettre correspondant à partition EFI de votre clé) , Notre clé est prête !!
Préparation de l’OS
Nous allons maintenant créer un fichier de réponse afin que Windows s’installe en créant les partitions dont il à besoin pour gérer correctement l’UEFI, à savoir :
Pour Créer le fichiers de réponse installez le WAIK ou l’ ADK et lancez WSIM (Windows System Image Manager). Je vous invite à vous reporter à mon article sur l’installation silencieuse de Windows 8 pour tous les détails. le fichier à créer est en tout point identique sauf en ce qui concerne les éléments suivants :
Microsoft-Windows-Setup_neutral > DiskConfiguration >Disk
DiskID=0 | sélection du 1er disque |
WillWipeDisk = true | le disque sera reformaté dans son intégralité |
Création d’une partition principale (Primary) pour WINRE.
Microsoft-Windows-Setup_neutral > DiskConfiguration >Disk >CreatePartition
Order = 1 | définit l'ordre de création des partitions sur le disque |
Size = 300 | taille de la partition en Mégabits (ici 300 MO). |
Type = Primary | type de partition : Primary |
Création de la partition UEFI.
Microsoft-Windows-Setup_neutral > DiskConfiguration > Disk > CreatePartition
Order = 2 | |
Size = 260 | Taille minimum pour les disques Advanced Format |
Type = EFI |
Création de la partition MSR (réservé pour Windows).
Microsoft-Windows-Setup_neutral > DiskConfiguration > Disk > CreatePartition
Order = 3 | |
Size = 128 | |
Type = MSR |
Création de la partition Windows
Microsoft-Windows-Setup_neutral > DiskConfiguration > Disk > CreatePartition
Order = 4 | |
Size = 80000 | Partition OS de 80 Go |
Type = Primary |
Création de la seconde partition NFTS
Microsoft-Windows-Setup_neutral > DiskConfiguration > Disk > CreatePartition
Extend = True | Utilise tout l'espace restant pour créer la partition |
Order = 5 | |
Type = Primary |
Définition des paramètres de formatage pour nos différentes partitions :
Microsoft-Windows-Setup_neutral > DiskConfiguration > Disk > ModifyPartition
Format = NTFS | |
Label = WINRE | |
Order = 1 | |
PartitionID = 1 |
Format = FAT32 | |
Label = SYSTEM | |
Order = 2 | |
PartitionID = 2 |
Microsoft-Windows-Setup_neutral > DiskConfiguration >Disk >ModifyPartition
Format = NTFS | |
Label = WINDOWS | |
Order = 3 | |
PartitionID = 4 |
Format = NTFS | |
Label = Data | |
Order = 4 | |
PartitionID = 5 |
Installation de l’OS
Microsoft-Windows-Setup_neutral > Image Install >OS Image >InstallTo
DiskID = 0 | Disque d’installation de l’OS |
Partition = 4 | Partition d’installation de l’OS |
Notre fichier est prêt, sauvez le sous le nom autounattend.xml sur la partition OS de votre clé USB.
Pour finir, nous allons devoir ouvrir l’image Boot.wim afin d’ordonner à Setup.exe (fichier responsable de l’installation de Windows) d’aller chercher ces informations sur la seconde partition de la clé.
Ouvrez une invite de commande en mode administrateur et tapez les commandes suivantes pour monter l’image :
MD c:\temp
Dism /Mount-Wim /WimFile:H:\sources\boot.wim /index:2 /MountDir:C:\Temp
Dans le répertoire C:\Temp\Windows\System32 nous allons créer un fichier winpesh.ini qui sera exécuté à la place de Setup.exe. Voici ce qu’il faudra y mettre :
[LaunchApps]
Cscript.exe, %WINDIR%\system32\winpesh.vbs
Enfin, un petit script vbs que nous nommerons winpesh.vbs va nous permettre de relancer setup.exe sur la bonne partition avec le fichier de réponse adéquat :
' Script By Diagg 01/05/2012' www.zany-openeyes.fr
' Launch Windows installation setup with the first autounattend.xml found in any drive
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oDrives = oFSO.Drives
FndXML = 0
For each oDrvFound in oDrives
If oFSO.FileExists(oDrvFound & "\autounattend.xml") Then
FndXML = 1
oShell.run "%SYSTEMDRIVE%\sources\setup.exe /unattend:"& oDrvFound & "\autounattend.xml", 0,True
Exit for
End IF
Next
If FndXML = 0 Then
oShell.run "%SYSTEMDRIVE%\sources\setup.exe", 0,True
End If
Une fois le fichier de script crée, nous pouvons refermer notre image WIM :
Dism /Unmount-Wim /Mountdir:C:\Temp /Commit
La Clé USB est maintenant 100% opérationnelle en mode “UEFI Only”, et l’OS le sera également dés qu'il sera installé.
Petit regret : la solution n’est pas compatible avec le mode “Legacy Only” (Bios uniquement) pour une raison que je n’ai pas eu le temps de déterminer ( si quelqu’un a l’info, n’hésitez pas à partager).
J’insiste encore : il est probable que vous n’ayez jamais à utiliser le mode “UEFI Only” et donc toute la partie inhérente à la clé USB. Si ce jour devait malgré tout arriver, nous somme prêt !
Je n’ai délibérément traité que la partie Boot Windows dans ce billet, les sujets sur l’UEFI sont légion : Secure Boot, Dual Boot OS X/Windows, Shell UEFI, Applications UEFI etc etc… Il est probable que je re-aborderai le sujet dans de prochains billets, d’ici là, je vous laisse vous faire la main sur la question et vous invite à méditer ce tweet de Michael Niehaus (Monsieur MDT) qui en dit long sur la question…
Je n'ai pas pu changer la clef USB en Fixed Disk tel qu'indiqué mais j'ai trouvé une façon qui semble faire l'affaire. Voir ici: http://agnipulse.com/2012/03/filter-drivers-removable-media-fixed-disk-windows/
RépondreSupprimerIl me reste maintenant qu'à essayer la suite!
C'est finalement à éviter, car aucune façon de revenir en arrière avec cette technique. La clé est foutu. Par contre vos instructions m'ont donné une idée, pourquoi ne pas simplement prendre deux clefs? Une formaté en FAT32 et l'autre en NTSF, puisque vos instructions donnent la possibilité de pointer une autre partition du Magasin BCD deux clefs devraient en théorie pouvoir fonctionner! Je l'essaye! J'ai fait l’acquisition de deux clefs de 8 GO pour ce faire.
Supprimerbonjour Pierre, le driver n'est pas une solution car votre clé ne sera vue comme média fixe qu'a partir du moment ou windows aura démarré. Hors dans notre cas, la clé doit être 'vue' comme un média fixe dés que l'ordinateur s'allume (infiniment plutôt donc)....
SupprimerPour les retour arrière : à priori, une fois qu'on a changé il n'y a plus moyen de revenir en arrière. autre point important ces manipulation sont surtout valable pour des clés USB 2, car il est difficile de trouver des listes à jour de VID/PID pour clés USB 3...
SupprimerL'idée des deux clés a l'aire sympa, dites moi si ça marche. Mais au faites, êtes vous vraiment sure d'avoir besoin de 2 partitions sur votre clé USB, quel est votre problème exactement ?
@Nicolas Lacour :
Supprimersi j'ai bien tout compris, les 2 clés (ou bien les 2 partitions)
- une FAT parce que le UEFI ne sait booter que sur du FAT
- une NTFS pour pouvoir poser des fichiers de pluss que 4Go...
c'est exactement ça, mais si ton fichier fait moins de 4GO, une seul partition en FAT est suffisante.
SupprimerBonjour,
RépondreSupprimerJe cherche à installer Windows sur une partition GPT dans l'objectif d'un hackintosh. Ma clé USB boot bien l'installation de Windows mais au moment de formater la partition, il me dit qu'il ne peut pas être installé sur une table GPT. Une idée ?
Déjà, est-ce que toutes les versions de Windows 8 64-bit sont installables sur un disque GPT ?
J'ai le même problème que anonyme Windows ne peut pas s'installer sur une partition gpt
RépondreSupprimerBonjour, avez vous vérifié que votre PC démarre bien en mode Full UEFI ? Si vous êtes toujours en mode "Bios Compatible", Windows va commencer à s'installer et lors du formatage, ne trouvant pas de disque GPT (qui n'est reconnu qu'en UEFI) il va se mettre en erreur...
RépondreSupprimerbon j'ai du changer de clé usb entre temps car elle ma lâché fichue clé.
RépondreSupprimerj'ai une clé de 16go que je trouve sur les lien donner par contre je n'arrive pas a la mètre en disque dur, après avoir rentre les données nécessaire je doit télécharger ceci: SM3257EN-MPTOOL-K0929 | Silicon outils de production de programmes, par contre je ne trouve pas l’option pour mètre la clé en disque dur une aide serait la bien venu
excuser moi encore serait t'il possible d'avoir le fichier unnatendu car la je galère vraiment merci
RépondreSupprimer