21

Я установил виртуальную машину Windows 10 с использованием диска IDE и теперь хотел бы заменить диск на драйвер Virtio.

Для других версий Windows подход в этом вопросе представляется достаточным - как перенести виртуальную машину IDE на виртуальную машину virtio?

Однако в Windows 10 это приводит к проблеме INACCESSIBLE_BOOT_DEVICE .

Мне известно, что предпочтительным подходом является использование устройства Virtio с самого начала и установка соответствующего драйвера virtio при появлении соответствующего запроса. К сожалению, у меня были некоторые отдельные проблемы со сменой компакт-диска в KVM (я также не мог заставить работать 2 устройства CDROM).

Есть ли способ исправить эту проблему без переустановки?

Подобная проблема здесь - https://me.m01.eu/blog/2015/03/windows-10-kvm-and-iscsi/#comment-36090

4 ответа4

13

Все ответы верны, но вам может потребоваться выполнить несколько дополнительных действий после установки драйверов virtio. Вот шаги, за которыми я следовал:

  1. Откройте командную строку с повышенными правами и установите виртуальную машину для загрузки в безопасном режиме, набрав

    bcdedit /set {current} safeboot минимальный

  2. выключите виртуальную машину и измените тип загрузочного устройства на virtio.

  3. загрузите виртуальную машину. Он войдет в безопасный режим.

    Примечание. В безопасном режиме все загрузочные драйверы будут включены и загружены, включая драйвер virtio. Поскольку теперь для его использования установлен мини-порт, ядро теперь сделает его частью драйверов, которые должны быть загружены при загрузке, и не отключит его снова.

  4. в загруженной виртуальной машине сбросьте настройки bcdedit, чтобы разрешить машине загружаться в обычном режиме, набрав (снова в командной строке с повышенными правами):

    bcdedit /deletevalue {текущий} safeboot

  5. Готово.

10

Шаги, чтобы следовать в общем:

  1. Установите драйверы VirtIO на ВМ
  2. Настройте системный диск виртуальной машины на использование VirtIO
  3. Если виртуальная машина не загружается, выполните восстановление при загрузке или даже восстановление установки

Процедура в деталях:

  1. Верните загрузочный диск в IDE.
  2. Убедитесь, что Windows VM выключена.
  3. Загрузите ISO-драйверы VirtIO здесь.
  4. Смонтируйте его на компакт-диске для виртуальной машины.
  5. Добавьте запоминающее устройство типа VirtIO. Распределение размера не имеет значения, так как вы используете его для установки драйверов.
  6. Запустите виртуальную машину Windows. Он попытается установить драйверы. Если этого не произойдет, откройте диспетчер устройств, и вы увидите устройство SCSI в списке со значком восклицательного знака рядом с ним. Вы можете обновить драйвер и указать соответствующий каталог подключенного ISO. После установки не перезагружайте, а выключайте машину.
  7. В настройках virt-manager для Windows измените тип хранилища с IDE на VirtIO.
  8. Вы можете удалить устройство хранения, которое вы создали ранее. Это больше не нужно.
  9. Запустите Windows, она должна загрузиться и установить драйверы SCSI. После этого вам нужно будет перезагрузиться.
  10. Если виртуальная машина не загружается, но драйверы установлены, вы можете попробовать выполнить:

    1. Восстановление при загрузке, которое может исправить некоторые системные проблемы, которые могут помешать запуску Windows.
    2. Последнее решение: восстановить установку при загрузке с Windows 10 ISO. Это сохранит все приложения и пользовательские настройки, просто обновив Windows и загрузившись. Используйте последнюю версию Windows 10 ISO.

Если, к сожалению, требуется последний шаг, еще одна трудность, с которой можно столкнуться, заключается в том, что загрузочный компакт-диск Windows не может понять диск VirtIO, поскольку эти драйверы не были включены в него Microsoft. В этом случае необходимо создать пользовательский загрузочный CD/USB, содержащий эти драйверы, но убедитесь, что вы запускаете Windows ISO того же уровня, что и установка, получив последнюю версию (в настоящее время 1511).

Вот несколько уроков о том, как настроить драйверы в Windows:

9

Предоставляется довольно простой ответ - и он может работать во многих случаях вместе с подсказками на другие варианты. Если (как и я) вы не можете переключиться на IDE и вынуждены использовать VirtIO, тогда может работать следующий альтернативный подход:

  1. Добавьте в VM как Windows 10 DVD/CD ISO, так и драйвер virtio ISO.
  2. Загрузите Windows 10 DVD/CD и войдите в командную строку из режима восстановления.
  3. Загрузите драйвер через CLI, например, drvload e:\viostor\w10\amd64\viostor.inf
    • В моем случае e: был назначен ISO для установки virtio.
    • После загрузки драйвера f: там, где установилась установка windows.
  4. Используйте команду DISM для внедрения драйвера контроллера хранилища.
    • Например, dism /image:f:\ /add-driver /driver:e:\viostor\w10\amd64\viostor.inf
    • Как указано выше, измените назначения букв дисков в соответствии со своей средой.

Избегает необходимости возиться с созданием специальных загрузочных компакт-дисков / образов Windows и «исправлений» фактического установочного образа Windows на лету.

Обратите внимание, что для этого нишевого случая я бы рекомендовал избегать ремонта при запуске (который не удался для меня). Похоже, он не знал, как включить vistor.inf после загрузки, и если вы попробуете это, будьте осторожны, чтобы избежать стремления DVD 10 Windows восстановить или переустановить все ...

Кредит на подход DISM: Использование dism для добавления драйверов

4

Ответ от Harrymc прекрасно работает для меня.

следующие шаги я следовал:

  1. Установите драйвер virtio в windows
  2. Добавить дополнительный фиктивный диск virtio
  3. Переключите загрузочный диск на virtio
  4. перезагружать
  5. Удалите дополнительный фиктивный диск virtio
  6. ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .