Windows ne démarre plus après la mise à jour du pilote VMware pvscsi 1.3.18.0 |
Le 15/10/2021 au matin, vous avez peut-être eu la même surprise que moi : plusieurs serveurs Windows Server 2012 bloqués sur la page de réparation, sans que vous ne compreniez ce qu’il s’est passé.
En fait, Microsoft a déployé via Windows Update une mise à jour du pilote VMware Parallel Virtual (pvscsi) en version 1.3.18.0 et ce pilote pose problème à priori en raison d’un problème de signature numérique…
Comment sortir de cette impasse ?
Console de récupération en ligne de commande
Pour corriger la situation, il va falloir saisir quelques lignes de commande pour supprimer le pilote installé par Microsoft, et réinstaller un pilote fonctionnel à la place.
Pour cela, commencer par entrer dans la console de récupération en ligne de commande en choisissant “Dépannage”, puis “Options avancées” et enfin “Invite de commandes” :
Charger le pilote pvscsi
Pour pouvoir accéder au système, le pilote pvscsi doit être monté en mémoire. Pour cela, commencer par monter les VMware Tools sur la VM affectée (clic droit sur la VM, “Guest OS” > “Upgrade VMware Tools…”) :
Une fois l’ISO des VMware Tools monté, il suffira de se placer dans le dossier Program Files\VMware\VMware Tools\Drivers\pvscsi\Win8\amd64 et de charger le pilote :
d:
cd "Program Files\VMware\VMware Tools\Drivers\pvscsi\Win8\amd64"
drvload pvscsi.inf
Localisation du volume d’installation de Windows
Une fois le pilote pvscsi monté en mémoire, il est possible maintenant d’accéder aux disques et à l’installation de Windows. Avant de continuer, il faut localiser la lettre de lecteur où se situe notre Windows.
Pour cela, on utilisera diskpart pour lister les volumes :
diskpart
list disk
# Si plusieurs disques, sélectionner le disque système avec "select disk X" (où X représente le numéro de disque)
list volume
Suppression des mauvais pilotes
Maintenant, on va lister les pilotes installés, rechercher les “pvscsi” et noter le nom des fichiers oemX.inf correspondant.
dism /image:X:\ /get-drivers|more
# X représente la lettre de lecteur où se situe l'installation de Windows, comme trouvé à l'étape précédente
# Noter les fichiers oemXX.inf correspondant aux pilotes dont le nom est pvscsi.inf
Maintenant, on va supprimer toutes les occurrences de pilotes pvscsi :
dism /image:X:\ /remove-driver /driver:oemAA.inf /driver:oemAB.inf /driver:oemAC.inf /driver:oemAD.inf
# X représente la lettre de lecteur où se situe l'installation de Windows
# Vous pouvez cumuler les /driver:oemAA.inf pour éviter de devoir lancer une commande pour chaque occurrence.
# AA, AB, AC, AD représentent les numéros des fichiers oem.inf
Installation du pilote fonctionnel
Maintenant que le système est propre, nous allons installer un pilote fonctionnel (celui fourni avec les VMware Tools):
dism /image:X:\ /add-driver /driver:pvsci.inf
# X représente la lettre de lecteur où se situe l'installation de Windows
# Le pilote pvscsi.inf qui va être installé est celui situé dans le dossier "Program Files\VMware\VMware Tools\Drivers\pvscsi\Win8\amd64" de l'ISO des VMware Tools car on s'est positionnés dans ce dossier au début de la procédure.
# Si vous êtes dans un autre dossier, il faudra préciser le chemin complet dans l'argument "/driver".
Vérification
Fermer la ligne de commande avec “exit” puis redémarrer le serveur. Vous constaterez qu’il redémarre, et que Microsoft a retiré la mise à jour de ce pilote 1.3.18.0 au profit de la version précédente :