Найти в Дзене
Slonik

Установка Windows 11 на неподдерживаемое оборудование в Qemu-KVM

В статье рассмотрю пример установки MS Windows 11 в виртуальную машину без модуля TPM 2.0, без включения безопасной загрузки с помощью штатных средств оригинального установочного образа системы. При установке на неподдерживаемое оборудование, установщик Windows 11 сообщит что дальнейшая установка невозможна. Установить систему на подобное оборудование можно с помощью распаковки образа install.wim утилитой dism с последующей установкой загрузчика. Действия будут производится внутри виртуальной машины Qemu-KVM. При установке Windows все данные с виртуального жёсткого диска будут удалены. Заходим на сайт Microsoft, получаем ссылку для загрузки iso образа (возможно, потребует открыть сайт через vpn). Скачиваем образ (загрузка по прямой ссылке проходит успешно без vpn). Скачиваем iso образ с драйверами Virtio для Windows - https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md Подробнее про запуск виртуальных машин Qemu-KVM и подготовку виртуальной сети написано в моей с
Оглавление

В статье рассмотрю пример установки MS Windows 11 в виртуальную машину без модуля TPM 2.0, без включения безопасной загрузки с помощью штатных средств оригинального установочного образа системы.

При установке на неподдерживаемое оборудование, установщик Windows 11 сообщит что дальнейшая установка невозможна.

Установить систему на подобное оборудование можно с помощью распаковки образа install.wim утилитой dism с последующей установкой загрузчика.

Действия будут производится внутри виртуальной машины Qemu-KVM. При установке Windows все данные с виртуального жёсткого диска будут удалены.

Загрузка образов

Заходим на сайт Microsoft, получаем ссылку для загрузки iso образа (возможно, потребует открыть сайт через vpn).

Скачиваем образ (загрузка по прямой ссылке проходит успешно без vpn).

Официальный сайт загрузки Windows 11
Официальный сайт загрузки Windows 11

Скачиваем iso образ с драйверами Virtio для Windows - https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md

Подготовка виртуальной машины Qemu KVM

Подробнее про запуск виртуальных машин Qemu-KVM и подготовку виртуальной сети написано в моей статье:

Создание виртуальных машин с помощью Qemu KVM
Slonik18 июля 2022

Сейчас кратко опишу подготовку к запуску.

Если вы используете другую систему виртуализации или устанавливаете Windows 11 на физическую машину, то можете перейти к следующему пункту.

Виртуальную сеть будем использовать с tap адаптерами.

Готовим виртуальный диск для Qemu-KVM:

qemu-img create -f qcow2 /mnt/virtual/Windows11/windows11.qcow2 50G

Из пакета edk2-ovmf копируем образы UEFI и NVRAM:

cp /usr/share/edk2/ovmf/OVMF_CODE.fd /mnt/virtual/Windows11
cp /usr/share/edk2/ovmf/OVMF_VARS.fd /mnt/virtual/Windows11

Запускаем виртуальную машину с образами Windows и драйверами virtio:

sudo qemu-kvm \
-run-with user=$USER \
-machine q35 \
-smbios type=1,manufacturer=Qemu,product=KVM,version=1 \
-cpu qemu64 \
-accel kvm \
-smp cpus=4,sockets=1,cores=4 \
-m 6G \
-k en-us \
-vga qxl \
-display spice-app \
-device virtio-net-pci,mac=52:54:00:00:00:01,netdev=lan \
-netdev tap,id=lan,ifname=tap0,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown \
-drive if=pflash,format=raw,readonly=on,file=/mnt/virtual/Windows11/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=/mnt/virtual/Windows11/OVMF_VARS.fd \
-drive file=/mnt/virtual/Windows11/Windows11.qcow2,if=virtio,cache=writeback,media=disk \
-drive file=/mnt/iso/Win11_Russian_x64.iso,media=cdrom \
-drive file=/mnt/iso/virtio-win-0.1.217.iso,media=cdrom

Вход в режим восстановления

Загружаемся с CD-ROM, входим в режим восстановления.

Вместо установки используем восстановление системы
Вместо установки используем восстановление системы
Выбираем поиск и устранение неисправностей
Выбираем поиск и устранение неисправностей
Далее нам нужна командная строка
Далее нам нужна командная строка

Определяем имена обнаруженных логических дисков с помощью команды:

wmic logicaldisk get caption
Список логических дисков
Список логических дисков

Загрузка драйвера дискового контроллера

В Windows 11 нет драйвера дискового контроллера Virtio, поэтому необходимо его загрузить вручную.

Поочерёдно смотрим содержимое дисков командой dir, определяем на каком диске находятся драйвера. В моём случае это оказался диск E:

Загружаем драйвер дискового контроллера:

drvload E:\amd64\w11\viostor.inf
DrvLoad: Успешно загружен E:\amd64\w11\viostor.inf

Создание разделов на диске для установки Windows 11

Запускаем в командной строке программу diskpart.

Получаем список дисков с помощью команды list disk.

Программа diskpart
Программа diskpart

Выбираем диск:

‌select disk 0

УДАЛЯЕМ ВСЕ ДАННЫЕ НА ДИСКЕ (команда подтверждения не запрашивает):

‌clean

Создаём на диске разметку GPT:

‌convert gpt

Создаём раздел ESP для загрузки на 256 МБ, назначаем ему свободную букву (U:) и форматируем в FAT32:

‌create partition efi size=256
‌assign letter=U
‌format fs=fat label=ESP quick

Создаём раздел Microsoft Reserved Partition объёмом 16 МБ:

‌create partition msr size=16

Создаём раздел для системы на всё оставшееся место, назначаем ему свободную букву (у меня свободна буква С:, у вас буква диска может быть другой) и форматируем в NTFS:

‌create partition primary
‌assign letter=C
‌format fs=ntfs label=Windows11 quick

Выходим из diskpart:

exit

Распаковка wim-образа

Определяем букву диска, где находятся установочные файлы Windows 11. У меня это оказался диск D:

Установочный диск Windows 11
Установочный диск Windows 11

Информация об образе

Получаем информацию об установочном образе:

dism /Get-WimInfo /WimFile:D:\sources\install.wim
Список версий ОС Windows 11 в образе
Список версий ОС Windows 11 в образе

Запоминаем индекс нужной нам редакции Windows.

Распаковка образа

С помощью команды dism распаковываем образ на диск С: (у вас буква диска может быть другой).

Dism /apply-image /imagefile:D:\sources\install.wim /index:4 /ApplyDir:C:\

Параметры:

  • /imagefile - путь к образу wim
  • /index - вариант редакции Windows
  • /ApplyDir - каталог для распаковки образа
Вывод команды распаковки образа
Вывод команды распаковки образа

Проверяем содержимое диска, куда распаковали образ (у меня это диск C:)

Содержимое диска после распаковки образа
Содержимое диска после распаковки образа

Добавления драйвера в Windows 11

После выхода из режима восстановления система не загрузится, так как в ней нет драйверов для дискового контроллера, поскольку drvload загрузил драйвер только на время сеанса.

Добавляем драйвер с помощью команды dism:

dism /image:С:\ /add-driver /driver:e:\viostor\w11\amd64\viostor.inf

Параметры:

  • /image - диск с распакованной Windows
  • /driver - путь к драйверу
Добавление драйвера в распакованную систему Windows 11
Добавление драйвера в распакованную систему Windows 11

Установка загрузчика

Выполняем установку файлов, необходимых для загрузки, на раздел ESP (я ранее назначил ему букву U:)

bcdboot C:\Windows /s U: /f UEFI

Выходим из командой строки. Выбираем продолжить или выключаем виртуальную машину.

Варианты действий после выхода из командой строки
Варианты действий после выхода из командой строки

Настройка Windows 11 после установки

Запускаем Windows, ждём когда она завершит настройку оборудования, отмечаем на вопросы мастера первоначальной настройки.

Мастер настройки Windows 11 потребует обязательного подключения к Интернет для завершения настройки. Если интернет отсутствует, то необходимо перезапустить настройку через команду oobe\bypassnro.

Для этого при запуске экрана настроек нажмите клавиши Shift+F10 чтобы открыть командную строку и находясь в каталоге c:\windows\system32 введите команду:

oobe\bypassnro

Система перезагрузится, и после запуска настройки можно выбрать пункт "У меня нет Интернета".

После завершения первоначальной настройки устанавливаем оставшиеся драйвера.

Установка драйверов
Установка драйверов

После установки драйверов выключаем машину, убираем из параметров запуска iso-образы и запускам снова.

Установленная Windows 11
Установленная Windows 11

На этом установка завершена.