Il est en principe impossible de faire démarrer Windows installé en UEFI en mode Legacy (ancien BIOS), pour la bonne raison qu’un démarrage cherche un disque au format MBR, sur lequel se trouve une partition active. Un disque GPT ne proposera jamais ce type de partition active, et donc, démarrer en mode Legacy peut sembler impossible.
Cependant, parfois Windows peut faire des siennes et ne plus vouloir démarrer en mode uefi. On tombe alors sur ce genre de message :
En général, à ce stade, il est difficile de déterminer si le problème vient de Windows ou de la partition EFI qui sert au démarrage. Pourtant, il est possible de tester son Windows en mode Legacy pour savoir si celui-ci est responsable ou non.
1. Situation de départ.
On va partir d’un disque Windows sain, pour mieux expliquer le processus. En cas de Windows HS, on pourrait agir sans problème depuis un PC W7 (ou plus) et avec une clé USB.
On voit que sur ce PC sont installés deux disques durs. L’un au format GPT pour Windows, qui fonctionne en uefi. L’autre non alloué, ce qui pourrait être une clé USB ou un disque dur interne.
Nous allons nous occuper du disque 1 pour rendre ce disque bootable en Legacy (BIOS).
2. Préparation de la clé USB (ou disque interne)
On va donc initialiser ce disque en mbr et le formater en NTFS, comme on pourrait le faire avec n’importe clé USB. Le résultat est le suivant :
Dans mon cas, j’ai un petit souci, l’option « Marquer la active » est grisée. Je vais devoir l’activer en invite de commandes. Pas de difficulté :
Microsoft Windows [version 10.0.10240] (c) 2015 Microsoft Corporation. Tous droits réservés. C:\windows\system32>diskpart Microsoft DiskPart version 10.0.10240 DISKPART> sel disk 1 Le disque 1 est maintenant le disque sélectionné. DISKPART> sel part 1 La partition 1 est maintenant la partition sélectionnée. DISKPART> active DiskPart a indiqué la partition actuelle comme étant active. DISKPART> exit Quitte DiskPart...
3. Création des fichiers de démarrage.
Pour l’exemple, je les crée depuis mon Windows opérationnel, mais je pourrais très facilement les créer depuis la console de réparation. La commande est simple :
Microsoft Windows [version 10.0.10240]
(c) 2015 Microsoft Corporation. Tous droits réservés.
C:\windows\system32>bcdboot c:\windows /l fr-fr /s d: /f BIOS
Les fichiers de démarrage ont bien été créés.
Explication. On demande à bcdboot de créer les fichiers de démarrage en français sur le volume système d, qu’on force en mode bios.
On peut voir via la commande dir /a que les fichiers sont bien créés.
C:\windows\system32>dir /a d: Répertoire de D:\ 07/10/2017 09:35 <DIR> Boot 10/07/2015 13:00 395 268 bootmgr 10/07/2015 13:00 1 BOOTNXT 2 fichier(s) 395 269 octets 1 Rép(s) 1 028 993 024 octets libres
Nous allons même vérifier que le démarrage est opérationnel :
C:\windows\system32>bcdedit /store d:\boot\bcd Gestionnaire de démarrage Windows --------------------------------- identificateur {bootmgr} device partition=D: description Windows Boot Manager locale fr-fr inherit {globalsettings} default {default} resumeobject {0de78277-ab32-11e7-9c51-000c29a6acae} displayorder {default} toolsdisplayorder {memdiag} timeout 30 Chargeur de démarrage Windows ----------------------------- identificateur {default} device partition=C: path \windows\system32\winload.exe description Windows 10 locale fr-fr inherit {bootloadersettings} allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \windows resumeobject {0de78277-ab32-11e7-9c51-000c29a6acae} nx OptIn bootmenupolicy Standard C:\windows\system32>
Mon démarrage est bel et bien situé sur D et il pointe bien vers le disque C, sur lequel il va exécuter le fichier winload.exe. Tout est-il opérationnel pour que ça démarre en mode Legacy?
4. Essai en mode Legacy.
Le PC est basculé en mode Legacy, et Windows démarre sans problème en bootant sur le petit disque dur (ou clé usb) une fois qu’on l’a passé en tête de liste dans le bios.
On peut vérifier avec msinfo32 qu’on démarre bien en mode hérité (Legacy) alors que le disque est toujours au format gpt :
5. Conclusion
On peut vérifier le bon fonctionnement d’un Windows qui ne démarre plus en UEFI avec une petite clé USB de 512 Mo en la faisant booter en mode Legacy, même si l’installation est faite en UEFI.
Toutes les manipulations pour créer une clé bootable en Legacy auraient pu être faites depuis Dart ou autre outil contenant la console Winre.