Archives mensuelles : mars 2017

Réparer le démarrage de W10 sans la commande bcdboot

On rencontre assez fréquemment ce type de message d’erreur.

PC-HS

Il signifie en clair que la NVram de mon bios-uefi n’a plus d’entrée valide à me proposer. C’est souvent dû à un problème de reset de bios, ou de partition efi abîmée. En temps normal, on utilise la commande suivante et le tour est joué (C étant bien sûr adaptable).

bcdboot c:\windows /l fr-fr

Mais, si on n’est pas chanceux, on peut tomber sur l’erreur suivante :

erreur

Malgré un formatage de la partition efi, impossible de copier les fichiers de démarrage sur la partition système. Cas rencontré ici.

On va donc devoir contourner cette commande et tout faire à la main. Il existe des tutos sur Internet, mais ils sont généralement incomplets.

I) Formatage de la partition efi

D’abord, on fait un état des lieux pour afficher les partitions et les volumes :

diskpart

Le volume Windows est appelé C, et la partition efi est la partition 2 du disque 0. On va la formater via les commandes

diskpart
sel disk 0
sel part 2
format fs=fat32 quick
assign letter=Z
exit

Le résultat en images:

formatage

On peut constater que j’ai assigné une lettre Z, à cette partition, ce qui va nous servir ensuite.

II) Création et copie des dossiers nécessaires au démarrage.

La partition étant vierge, on va lui ajouter les dossiers dont elle a besoin :

md z:\EFI\Microsoft\Boot

On se rend dans ce dossier :

z:
cd \EFI\Microsoft\Boot

Là, on va copier tous les fichiers et dossiers nécessaires au système pour qu’il puisse démarrer.

xcopy /s c:\Windows\Boot\EFI\*.*

La copie de 105 fichiers se réalise automatiquement. L’option /s a intégré les sous-dossiers. Le résultat en images :

xcopy

On a déjà réussi à faire ce que bcdboot ne voulait pas réaliser. Mais, nous n’avons ni base bcd, ni entrée NVram. On va devoir tout créer nous-mêmes.

III) Création de la base BCD

On crée bootmgr et son gestionnaire de démarrage principal. L’identificateur « Windows Boot Manager » est à privilégier plutôt qu’un nom personnalisé, car certains bios (Toshiba, par ex ) sont bloqués sur ce nom…

bcdedit /store BCD /create {bootmgr} /d “Windows Boot Manager”
bcdedit /store BCD /create /d “Windows 10” /application osloader

Il retourne une valeur {guid} qu’on va sélectionner et copier. On crée les paramètres pour que notre gestionnaire bootmgr soit opérationnel. La seconde ligne manque sur la plupart des tutos (ce qui pose problème à la fin). La création de notre volume Z de tout à l’heure trouve son utilité.

bcdedit /store BCD /set {bootmgr} default {guid} (à remplacer par sa valeur)
bcdedit /store BCD /set {bootmgr} device partition=z:
bcdedit /store BCD /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
bcdedit /store BCD /set {bootmgr} displayorder {default}

On paramètre notre chargeur de démarrage pour qu’il lance correctement Windows 10.

bcdedit /store BCD /set {default} device partition=c:
bcdedit /store BCD /set {default} osdevice partition=c:
bcdedit /store BCD /set {default} path \Windows\System32\winload.efi
bcdedit /store BCD /set {default} systemroot \Windows

L’ensemble de ces commandes doit renvoyer un message de réussite, comme c’est le cas ici :

bcdedit-create

Si on en croit les tutos proposés en ligne, nous sommes au bout du processus. Vérifions. La commande bcdedit /v renvoie un message d’erreur  (voir première ligne de l’image suivante). Nous devons faire en sorte que la base bcd soit notre magasin système.

IV) L’activation de BCD et écriture de la NVRAM

bcdedit /import BCD

Après cela, la commande bcdedit /v nous renvoie bel est bien le message attendu.

bcdedi-importt

Sommes-nous au bout de notre procédure. Il faut encore vérifier que notre bios saura faire démarrer notre Windows. La commande bcdedit /enum firmware va nous renseigner.

bcdeditfwboomgr

Eh bien non, notre bootmgr n’apparaît pas dans la liste. Dans la situation actuelle, mon PC virtuel continuerait à démarrer sur USB. Il nous reste une dernière commande à passer :

bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst

La commande a ajouté notre bootmgr en tête de liste dans le démarrage de notre PC. Si on n’a pas passé précédemment la commande bcdedit /store BCD /set {bootmgr} device partition=z: l’ajout ne se fait pas.

Résultat :
bcdeditfwboomgr2

L’entrée est maintenant présente : notre PC doit redémarrer sur Windows. Et c’est le cas :
final

Mais, il est clair que la commande bcdboot facilite grandement les choses….