J'ai installé une machine virtuelle Windows 10 à l'aide d'un disque IDE et je souhaite maintenant changer le disque pour utiliser le pilote Virtio.
Pour les autres versions de Windows, l’approche de cette question semble suffire - Comment migrer un IDE VM vers une machine virtuelle virtio?
Toutefois, avec Windows 10, cela entraîne un problème INACCESSIBLE_BOOT_DEVICE
.
Je suis conscient que l’approche privilégiée consiste à utiliser le périphérique Virtio dès le début et à installer le pilote virtio approprié lorsque vous y êtes invité. Malheureusement, je rencontrais des problèmes distincts lors de la modification du CD dans KVM (je ne pouvais pas faire fonctionner deux périphériques de CD-ROM).
Est-il possible de résoudre ce problème sans avoir à le réinstaller?
Problème similaire ici - https://me.m01.eu/blog/2015/03/windows-10-kvm-and-iscsi/#comment-36090
Toutes les réponses sont correctes, mais il se peut que vous deviez exécuter quelques étapes supplémentaires après avoir installé les pilotes virtio. Voici les étapes que j'ai suivies:
Ouvrez une invite de commande avec privilèges élevés et configurez la VM pour qu'elle démarre en mode sans échec en saisissant
bcdedit/set {courant} safeboot minimal
arrêtez le VM et changez le type de périphérique d'amorçage en virtio.
démarrez la VM. Il entrera en mode sans échec.
Remarque: en mode sans échec, tous les pilotes de démarrage seront activés et chargés, y compris le pilote virtio. Puisqu'il existe maintenant un miniport installé pour l'utiliser, le noyau en fera désormais partie des pilotes à charger au démarrage et ne le désactivera plus.
dans VM démarré, réinitialisez les paramètres de bcdedit pour permettre à la machine de démarrer en mode normal en tapant (à nouveau dans l'invite de commande élevée):
bcdedit/deletevalue {actuel} safeboot
Terminé.
Une réponse assez simple est fournie - et peut fonctionner dans de nombreux cas, avec des indications sur d'autres options. Si (comme moi) vous n'êtes pas en mesure de passer à IDE et que vous êtes obligé d'utiliser VirtIO, l'approche alternative suivante pourrait fonctionner:
drvload e:\viostor\w10\AMD64\viostor.inf
dism /image:f:\ /add-driver /driver:e:\viostor\w10\AMD64\viostor.inf
Évite de devoir jouer avec des CD/images de démarrage Windows spéciaux et "corrige" l'image d'installation Windows à la volée.
Notez que pour ce cas de niche, je suggère d'éviter la réparation de démarrage (qui a échoué pour moi). Il ne semblait pas savoir comment inclure vistor.inf après l'avoir chargé, et si vous l'essayez, veillez à éviter toute empressement du DVD de Windows 10 à tout restaurer ou tout réinstaller ...
Crédit pour l'approche DISM: Utilisation de dism pour ajouter des pilotes
Les étapes à suivre en général sont:
La procédure en détail est la suivante:
Si la VM ne démarre pas mais que les pilotes sont installés, vous pouvez essayer:
Si la dernière étape est malheureusement requise, une autre difficulté supplémentaire peut être rencontrée si le CD de démarrage de Windows ne comprend pas le disque VirtIO, car ces pilotes n'y ont pas été inclus. Dans ce cas, vous devez créer un CD/USB de démarrage personnalisé contenant ces pilotes, mais assurez-vous de démarrer à partir d'un ISO Windows du même niveau que l'installation en obtenant le dernier (actuellement 1511).
Voici quelques tutoriels sur la façon d’installer des pilotes dans Windows:
la réponse de harrymc fonctionne bien pour moi.
les étapes suivantes que j'ai suivies:
Il est malheureusement possible d'avoir un pilote parfaitement installé et d'avoir toujours "un périphérique de démarrage inaccessible". La raison est un peu choquante (je trouve): une installation Win 10 "se souvient" des pilotes requis lors de sa première installation et ne charge par défaut PAS les autres pilotes de stockage au démarrage. Cela semble être du "piratage" - il est donc difficile d’exécuter la "même" installation sur un matériel différent. Il existe une excellente documentation sur cette "fonctionnalité" dans ce post des forums gentoo. L'essence est la suivante:
Les pilotes qui sont ciblés pour un chargement interdit au démarrage peuvent être déterminés comme suit: Dans la clé de registre Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services, il existe une sous-clé pour chaque pilote connu de l'installation. Le nom de cette sous-clé est simplement le nom du pilote. Dans chaque sous-clé de pilote, il y aura une sous-clé "STARTOVERRIDE" si le chargement de ce pilote doit être empêché au démarrage. En particulier, la sous-clé STARTOVERRIDE contient un paramètre dont le nom est "0". Si la valeur de ce paramètre est "3", il ne sera pas chargé au démarrage. Définir cette valeur sur 0 à la place aura un comportement "prioritaire".
Je vais moi-même dans Ordinateur\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services et recherchez "STARTOVERRIDE". A chaque fois que je le trouve, s'il y a un nom dessous appelé "0" avec la valeur "3", je passe à "0". Cela semble excessif, il vous suffit de changer le lecteur à charger. Dans mon cas, il y en a plusieurs, et je ne me souviens jamais lequel, alors je viens de faire une "recherche F3" dans cette section "services".
Et un dernier conseil qui n'est pas nécessaire pour le stockage virtio actuel, signé, mais qui pourrait être adressé à une autre personne qui lit ceci s'il souhaite utiliser un pilote plus expérimental qui n'est pas (encore) signé: Truc, je devais aussi démarrer dans l’écran des options avancées et choisir F7 ("désactiver la vérification de la signature du conducteur"). De manière ennuyeuse, il n'était pas suffisant de définir l'indicateur bcd pour désactiver la vérification du pilote, car le pilote doit être chargé avant que l'ordinateur ne lise le BCD et découvre qu'il n'a pas besoin de vérifier la signature.
Dans l’ensemble, pas l’heure la plus brillante de Microsoft. Vous devez vraiment détester vos utilisateurs si vous préférez donner un écran bleu artificiel artificiel à des utilisateurs légitimes plutôt que de permettre aux gens de (par exemple) remplacer un disque SATA par un disque NVMe et le laisser "fonctionner".