В этой статье я собрал свою рабочую схему установки Windows 11 в Proxmox VE. В отличие от Windows 10, здесь я сразу создаю виртуальную машину с современным виртуальным оборудованием: q35, OVMF/UEFI, EFI Disk, TPM 2.0, VirtIO-диском и сетевой картой VirtIO.
Отдельно разберу проблему, которая сейчас особенно раздражает при установке Windows 11: требование войти в Microsoft Account.
Я решил её через отдельный ISO с
Готовый ISO я также выложил для скачивания.
Моя стандартная Windows 11 VM выглядит примерно так:
В основе получается такая связка:
Для установки я использую три ISO-образа:
VirtIO ISO:
virtio-win-0.1.285.iso
Прямая ссылка:
ISO для локальной учётной записи:
win11-local-account-sysadmin_guru.iso
Прямая ссылка:
В итоге к VM у меня подключены:
В Proxmox VE нажимаю:
Выбираю ISO Windows 11 и перехожу к настройке виртуального оборудования.
Сразу стараюсь правильно задать Machine, BIOS, EFI и TPM, потому что менять основные параметры виртуальной платформы после установки Windows без необходимости не стоит.
Для Windows 11 я выбираю:
Старый:
для новой Windows 11 VM я обычно не использую.
q35 лучше подходит для современной UEFI-конфигурации и виртуальных устройств PCI Express.
BIOS выставляю:
То есть:
SeaBIOS для обычной Windows 11 мне не нужен.
При использовании OVMF создаю EFI Disk.
Включаю:
Получается:
Это понадобится для нормальной UEFI-конфигурации и Secure Boot.
В Proxmox открываю:
Выбираю:
В итоге системная часть VM выглядит так:
Таким образом я не отключаю проверку TPM в Windows 11, а предоставляю системе нормальный виртуальный TPM.
Для нормальной Secure Boot-конфигурации у меня используются:
Я предпочитаю сразу создавать виртуальную машину в современном варианте, а не обходить аппаратные требования Windows 11.
На одиночном PVE-сервере я обычно выбираю:
Например:
или:
Я предпочитаю один виртуальный сокет.
То есть:
вместо:
Если VM должна мигрировать между разными PVE-узлами с различающимися процессорами,
Для одиночного хоста или одинаковых CPU я предпочитаю именно:
Для Windows 11 я ориентируюсь примерно так:
Обычно использую:
или:
Для постоянных рабочих Windows VM я чаще отключаю Ballooning:
Так я получаю фиксированный и предсказуемый объём оперативной памяти.
Если VM много, Ballooning можно оставить включённым.
Для Windows 11 выбираю:
Системный диск создаю как:
Например:
Для Windows 11 я обычно выделяю:
как разумный старт.
Для полноценной рабочей VM:
Windows, обновления и установленные программы достаточно быстро съедают свободное место, поэтому диск в 50-60 ГБ я бы для постоянной системы уже не делал.
Обычно включаю:
Если VM расположена на SSD или NVMe:
В итоге диск у меня обычно выглядит примерно так:
Discard позволяет Windows сообщать хранилищу Proxmox о блоках, которые больше не используются.
Особенно полезно это для:
Cache без необходимости не меняю:
Write Back я включаю только тогда, когда понимаю особенности конкретного хранилища и его защиту от потери питания.
Для сети использую:
Например:
E1000 для современной Windows 11 VM мне обычно не нужен.
Перед установкой у меня к виртуальной машине подключено три образа:
Скачать VirtIO:
virtio-win-0.1.285.iso
Скачать ISO для локальной учётной записи:
win11-local-account-sysadmin_guru.iso
Этот диск не нужно ставить первым в Boot Order.
Он содержит только:
Windows Setup автоматически находит файл во время установки.
Boot Order я делаю примерно так:
VirtIO ISO и ISO с Autounattend в Boot Order не добавляю.
На старых версиях PVE/QEMU при q35 можно столкнуться с ошибкой при подключении нескольких IDE CD-ROM:
В таком случае дополнительный ISO с Autounattend я подключаю через SATA.
Например:
Это полностью нормально.
После запуска VM в консоли может появиться:
Нужно успеть нажать клавишу.
Я обычно несколько раз нажимаю:
Если этого не сделать, OVMF пропустит установочный DVD и может перейти к PXE-загрузке.
При использовании VirtIO SCSI установщик Windows может не увидеть системный накопитель.
На экране выбора диска нажимаю:
Открываю:
и перехожу:
Полный путь:
После загрузки драйвера системный SCSI-диск появляется в установщике.
В новых версиях Windows 11 Microsoft всё настойчивее предлагает войти в Microsoft Account.
Во время OOBE можно увидеть экраны вроде:
или:
Раньше для этого часто использовалась команда:
Но я решил не привязывать установку к наличию этой команды в конкретной сборке Windows.
Вместо этого использую отдельный ISO:
win11-local-account-sysadmin_guru.iso
Он автоматически создаёт локальную учётную запись.
В моём готовом образе настроено:
То есть после установки Windows я получаю локального администратора:
В корне ISO находится:
В нём используются два этапа установки:
Это важный момент.
Мой первый вариант файла содержал только:
и Windows Setup находил его:
но затем писал:
Причина оказалась в том, что на момент первого обнаружения Windows находилась на этапе:
Поэтому в рабочем варианте я добавил настройки и для
После этого Windows Setup принимает answer-файл уже на первом этапе и использует содержащиеся в нём настройки далее.
Основная логика выглядит так.
Сначала этап:
где я автоматически принимаю EULA.
Затем:
где создаётся пользователь:
добавляется в:
и используется пароль:
Дополнительно скрываются онлайн-экраны OOBE.
Файл можно сделать самостоятельно.
Пример моей рабочей конфигурации:
Сделать такой образ можно прямо на Proxmox или любом Debian/Ubuntu Linux.
Создаю каталог:
Создаю файл:
Вставляю туда XML из примера выше.
Сохраняю файл.
На Debian/Proxmox:
После этого собираю ISO:
Готовый файл появится:
Если используется стандартное хранилище Proxmox:
ISO автоматически появится в списке доступных образов.
Проверяю:
Также можно проверить содержимое ISO:
В корне должен находиться:
Это принципиально важно.
Не:
и не:
а именно:
Можно использовать:
После этого:
Результат будет тем же: небольшой ISO с
Имя пользователя задаётся здесь:
и:
Пароль:
Например, если мне нужен пользователь:
я меняю:
и пароль:
Нужно учитывать, что пароль находится внутри:
в открытом виде:
Поэтому для публичного ISO я использую только заранее известный временный пароль.
После установки рабочей машины пароль лучше сразу поменять.
В моём ISO также настроен:
на один вход.
То есть после установки Windows автоматически входит в:
После первого входа выполняется:
и автоматический вход прекращается.
Для меня это удобнее, потому что Windows сразу попадает на рабочий стол локального пользователя, а не возвращается на дополнительные экраны Microsoft Account.
Когда появляется рабочий стол Windows, установка для меня ещё не закончена.
Открываю:
и запускаю:
Устанавливаю VirtIO-компоненты.
В том числе:
После установки перезагружаю Windows.
Открываю:
и проверяю, чтобы там не осталось неизвестных устройств.
При необходимости драйвер можно установить вручную с:
После установки VirtIO Guest Tools в Proxmox открываю:
и включаю:
После этого Proxmox может:
Для обычного выключения VM использую:
А:
оставляю только для аварийного выключения зависшей системы.
После завершения установки ставлю системный диск первым:
Установочный ISO Windows можно вообще отключить.
Это избавляет от:
при каждой перезагрузке.
В результате Windows 11 VM выглядит примерно так:
Дополнительные ISO:
Ссылки:
Скачать virtio-win-0.1.285.iso
Скачать win11-local-account-sysadmin_guru.iso
Если нужно быстро вспомнить весь процесс, я делаю так:
В итоге я получаю Windows 11 VM на современной виртуальной платформе:
При этом мне не приходится создавать Microsoft Account во время установки.
Для этого я подключаю отдельный:
win11-local-account-sysadmin_guru.iso
с
с паролем:
А если мне понадобится другой пользователь или пароль, такой ISO можно за несколько минут собрать самостоятельно через
Для меня такой вариант оказался гораздо удобнее, чем зависеть от очередного изменения OOBE и проверять, работает ли в конкретной сборке Windows 11 очередной вариант обхода Microsoft Account.
Отдельно разберу проблему, которая сейчас особенно раздражает при установке Windows 11: требование войти в Microsoft Account.
Я решил её через отдельный ISO с
Autounattend.xml. Windows автоматически подхватывает этот файл во время установки, создаёт локальную учётную запись и позволяет обойти этап создания Microsoft Account.Готовый ISO я также выложил для скачивания.
Что я использую
Моя стандартная Windows 11 VM выглядит примерно так:
Код:
Machine:
q35
BIOS:
OVMF (UEFI)
EFI Disk:
Enabled
Pre-Enroll Keys: Enabled
TPM:
2.0
CPU:
Type: host
Sockets: 1
Cores: 4-8
RAM:
8-16 GB
SCSI Controller:
VirtIO SCSI single
System Disk:
SCSI
100-150 GB
Discard:
Enabled
IO Thread:
Enabled
Network:
VirtIO
QEMU Guest Agent:
Enabled
В основе получается такая связка:
Код:
q35
+
OVMF / UEFI
+
EFI
+
TPM 2.0
+
VirtIO
Какие ISO мне понадобятся
Для установки я использую три ISO-образа:
- Windows 11 x64.
- VirtIO-драйверы.
- Отдельный ISO для автоматического создания локальной учётной записи.
VirtIO ISO:
virtio-win-0.1.285.iso
Прямая ссылка:
Код:
https://sysadmin.guru/static/virtio-win-0.1.285.iso
ISO для локальной учётной записи:
win11-local-account-sysadmin_guru.iso
Прямая ссылка:
Код:
https://sysadmin.guru/static/win11-local-account-sysadmin_guru.iso
В итоге к VM у меня подключены:
Код:
Windows 11.iso
virtio-win-0.1.285.iso
win11-local-account-sysadmin_guru.iso
Создаю виртуальную машину
В Proxmox VE нажимаю:
Код:
Create VM
Выбираю ISO Windows 11 и перехожу к настройке виртуального оборудования.
Сразу стараюсь правильно задать Machine, BIOS, EFI и TPM, потому что менять основные параметры виртуальной платформы после установки Windows без необходимости не стоит.
Machine Type — q35
Для Windows 11 я выбираю:
Код:
Machine: q35
Старый:
Код:
i440fx
для новой Windows 11 VM я обычно не использую.
q35 лучше подходит для современной UEFI-конфигурации и виртуальных устройств PCI Express.
BIOS — OVMF / UEFI
BIOS выставляю:
Код:
OVMF (UEFI)
То есть:
Код:
Machine: q35
BIOS: OVMF
SeaBIOS для обычной Windows 11 мне не нужен.
Добавляю EFI Disk
При использовании OVMF создаю EFI Disk.
Включаю:
Код:
Pre-Enroll Keys
Получается:
Код:
EFI Disk: Enabled
Pre-Enroll Keys: Enabled
Это понадобится для нормальной UEFI-конфигурации и Secure Boot.
Добавляю TPM 2.0
В Proxmox открываю:
Код:
VM
→ Hardware
→ Add
→ TPM State
Выбираю:
Код:
Version: 2.0
В итоге системная часть VM выглядит так:
Код:
Machine: q35
BIOS: OVMF
EFI Disk: Enabled
TPM: 2.0
Таким образом я не отключаю проверку TPM в Windows 11, а предоставляю системе нормальный виртуальный TPM.
Secure Boot
Для нормальной Secure Boot-конфигурации у меня используются:
Код:
OVMF
EFI Disk
Pre-Enroll Keys
TPM 2.0
Я предпочитаю сразу создавать виртуальную машину в современном варианте, а не обходить аппаратные требования Windows 11.
Настройка процессора
На одиночном PVE-сервере я обычно выбираю:
Код:
CPU Type: host
Например:
Код:
Sockets: 1
Cores: 4
Type: host
или:
Код:
Sockets: 1
Cores: 8
Type: host
Я предпочитаю один виртуальный сокет.
То есть:
Код:
1 Socket
8 Cores
вместо:
Код:
2 Sockets
4 Cores
CPU host и Live Migration
Если VM должна мигрировать между разными PVE-узлами с различающимися процессорами,
host может быть неудобен.Для одиночного хоста или одинаковых CPU я предпочитаю именно:
Код:
host
Оперативная память
Для Windows 11 я ориентируюсь примерно так:
Код:
4 GB - слишком мало для нормальной работы
8 GB - нормальный старт
16 GB - комфортная рабочая VM
Обычно использую:
Код:
8192 MB
или:
Код:
16384 MB
Ballooning
Для постоянных рабочих Windows VM я чаще отключаю Ballooning:
Код:
Memory:
16384 MB
Ballooning:
Disabled
Так я получаю фиксированный и предсказуемый объём оперативной памяти.
Если VM много, Ballooning можно оставить включённым.
Контроллер диска
Для Windows 11 выбираю:
Код:
SCSI Controller:
VirtIO SCSI single
Системный диск создаю как:
Код:
Bus/Device:
SCSI
Например:
Код:
scsi0: 120 GB
Размер диска
Для Windows 11 я обычно выделяю:
Код:
100 GB
как разумный старт.
Для полноценной рабочей VM:
Код:
120-150 GB
Windows, обновления и установленные программы достаточно быстро съедают свободное место, поэтому диск в 50-60 ГБ я бы для постоянной системы уже не делал.
Параметры диска
Обычно включаю:
Код:
Discard: ON
IO Thread: ON
Если VM расположена на SSD или NVMe:
Код:
SSD Emulation: ON
В итоге диск у меня обычно выглядит примерно так:
Код:
Bus:
SCSI
Controller:
VirtIO SCSI single
Cache:
Default
Discard:
ON
IO Thread:
ON
SSD Emulation:
ON
Discard
Discard позволяет Windows сообщать хранилищу Proxmox о блоках, которые больше не используются.
Особенно полезно это для:
- LVM-thin;
- ZFS;
- Ceph;
- SSD;
- NVMe;
- thin provisioned storage.
Cache
Cache без необходимости не меняю:
Код:
Cache: Default
Write Back я включаю только тогда, когда понимаю особенности конкретного хранилища и его защиту от потери питания.
Сетевой адаптер
Для сети использую:
Код:
Model: VirtIO
Например:
Код:
Bridge: vmbr0
Model: VirtIO
E1000 для современной Windows 11 VM мне обычно не нужен.
Подключаю все ISO
Перед установкой у меня к виртуальной машине подключено три образа:
Код:
Windows 11.iso
virtio-win-0.1.285.iso
win11-local-account-sysadmin_guru.iso
Скачать VirtIO:
virtio-win-0.1.285.iso
Скачать ISO для локальной учётной записи:
win11-local-account-sysadmin_guru.iso
Важно: ISO локальной учётной записи не является загрузочным
Этот диск не нужно ставить первым в Boot Order.
Он содержит только:
Код:
Autounattend.xml
Windows Setup автоматически находит файл во время установки.
Boot Order я делаю примерно так:
Код:
1. Windows 11 ISO
2. System Disk
VirtIO ISO и ISO с Autounattend в Boot Order не добавляю.
Отдельный нюанс старых версий Proxmox
На старых версиях PVE/QEMU при q35 можно столкнуться с ошибкой при подключении нескольких IDE CD-ROM:
Код:
Can't create IDE unit 1, bus supports only 1 units
В таком случае дополнительный ISO с Autounattend я подключаю через SATA.
Например:
Код:
ide2 → Windows 11 ISO
ide0 → virtio-win-0.1.285.iso
sata0 → win11-local-account-sysadmin_guru.iso
Это полностью нормально.
Запускаю установку Windows
После запуска VM в консоли может появиться:
Код:
Press any key to boot from CD or DVD...
Нужно успеть нажать клавишу.
Я обычно несколько раз нажимаю:
Код:
Space
Если этого не сделать, OVMF пропустит установочный DVD и может перейти к PXE-загрузке.
Windows 11 не видит диск
При использовании VirtIO SCSI установщик Windows может не увидеть системный накопитель.
На экране выбора диска нажимаю:
Код:
Load driver
Открываю:
Код:
virtio-win-0.1.285.iso
и перехожу:
Код:
vioscsi
→ w11
→ amd64
Полный путь:
Код:
vioscsi\w11\amd64
После загрузки драйвера системный SCSI-диск появляется в установщике.
Локальная учётная запись вместо Microsoft Account
В новых версиях Windows 11 Microsoft всё настойчивее предлагает войти в Microsoft Account.
Во время OOBE можно увидеть экраны вроде:
Код:
Войдите с помощью учётной записи Майкрософт
или:
Код:
Разблокируйте возможности Майкрософт
Раньше для этого часто использовалась команда:
Код:
OOBE\BYPASSNRO
Но я решил не привязывать установку к наличию этой команды в конкретной сборке Windows.
Вместо этого использую отдельный ISO:
win11-local-account-sysadmin_guru.iso
Он автоматически создаёт локальную учётную запись.
Учётные данные
В моём готовом образе настроено:
Код:
Пользователь:
sysadmin_guru
Пароль:
sysadmin_guru
Группа:
Administrators
То есть после установки Windows я получаю локального администратора:
Код:
sysadmin_guru
Как работает ISO с локальной учётной записью
В корне ISO находится:
Код:
Autounattend.xml
В нём используются два этапа установки:
Код:
windowsPE
oobeSystem
Это важный момент.
Мой первый вариант файла содержал только:
Код:
oobeSystem
и Windows Setup находил его:
Код:
Found unattend file at [D:\autounattend.xml]
но затем писал:
Код:
does not meet criteria to be used for this unattend pass
Причина оказалась в том, что на момент первого обнаружения Windows находилась на этапе:
Код:
windowsPE
Поэтому в рабочем варианте я добавил настройки и для
windowsPE.После этого Windows Setup принимает answer-файл уже на первом этапе и использует содержащиеся в нём настройки далее.
Что находится в Autounattend.xml
Основная логика выглядит так.
Сначала этап:
Код:
windowsPE
где я автоматически принимаю EULA.
Затем:
Код:
oobeSystem
где создаётся пользователь:
Код:
sysadmin_guru
добавляется в:
Код:
Administrators
и используется пароль:
Код:
sysadmin_guru
Дополнительно скрываются онлайн-экраны OOBE.
Полный пример Autounattend.xml
Файл можно сделать самостоятельно.
Пример моей рабочей конфигурации:
Код:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<settings pass="windowsPE">
```
<component name="Microsoft-Windows-Setup"
processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35"
language="neutral"
versionScope="nonSxS">
<UserData>
<AcceptEula>true</AcceptEula>
</UserData>
</component>
```
</settings>
<settings pass="oobeSystem">
```
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35"
language="neutral"
versionScope="nonSxS">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>3</ProtectYourPC>
</OOBE>
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>
<Value>sysadmin_guru</Value>
<PlainText>true</PlainText>
</Password>
<Description>Local administrator</Description>
<DisplayName>sysadmin_guru</DisplayName>
<Group>Administrators</Group>
<Name>sysadmin_guru</Name>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<AutoLogon>
<Password>
<Value>sysadmin_guru</Value>
<PlainText>true</PlainText>
</Password>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
<Username>sysadmin_guru</Username>
</AutoLogon>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<Description>Disable automatic logon after the first sign-in</Description>
<CommandLine>reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 0 /f</CommandLine>
</SynchronousCommand>
</FirstLogonCommands>
</component>
```
</settings>
</unattend>
Как собрать ISO самостоятельно
Сделать такой образ можно прямо на Proxmox или любом Debian/Ubuntu Linux.
Создаю каталог:
Код:
mkdir -p /root/win11-unattend
Создаю файл:
Код:
nano /root/win11-unattend/Autounattend.xml
Вставляю туда XML из примера выше.
Сохраняю файл.
Устанавливаю xorriso
На Debian/Proxmox:
Код:
apt update
apt install -y xorriso
После этого собираю ISO:
Код:
xorriso -as mkisofs
-o /var/lib/vz/template/iso/win11-local-account-sysadmin_guru.iso
-V WIN11_UNATTEND
-J
-R
/root/win11-unattend/
Готовый файл появится:
Код:
/var/lib/vz/template/iso/win11-local-account-sysadmin_guru.iso
Если используется стандартное хранилище Proxmox:
Код:
local
ISO автоматически появится в списке доступных образов.
Проверяю результат
Проверяю:
Код:
ls -lh /var/lib/vz/template/iso/win11-local-account-sysadmin_guru.iso
Также можно проверить содержимое ISO:
Код:
xorriso -indev /var/lib/vz/template/iso/win11-local-account-sysadmin_guru.iso -ls /
В корне должен находиться:
Код:
Autounattend.xml
Это принципиально важно.
Не:
Код:
/config/Autounattend.xml
и не:
Код:
/files/Autounattend.xml
а именно:
Код:
/Autounattend.xml
Альтернативный вариант через genisoimage
Можно использовать:
Код:
apt install -y genisoimage
После этого:
Код:
genisoimage
-o /var/lib/vz/template/iso/win11-local-account-sysadmin_guru.iso
-V WIN11_UNATTEND
-J
-R
/root/win11-unattend/
Результат будет тем же: небольшой ISO с
Autounattend.xml в корне.Как изменить пользователя и пароль
Имя пользователя задаётся здесь:
Код:
<Name>sysadmin_guru</Name>
и:
Код:
<DisplayName>sysadmin_guru</DisplayName>
Пароль:
Код:
<Value>sysadmin_guru</Value>
Например, если мне нужен пользователь:
Код:
admin
я меняю:
Код:
<Name>admin</Name> <DisplayName>admin</DisplayName>
и пароль:
Код:
<Value>MyStrongPassword</Value>
Не выкладываю ISO с реальным рабочим паролем
Нужно учитывать, что пароль находится внутри:
Код:
Autounattend.xml
в открытом виде:
Код:
<PlainText>true</PlainText>
Поэтому для публичного ISO я использую только заранее известный временный пароль.
После установки рабочей машины пароль лучше сразу поменять.
Почему я использую AutoLogon
В моём ISO также настроен:
Код:
AutoLogon
на один вход.
То есть после установки Windows автоматически входит в:
Код:
sysadmin_guru
После первого входа выполняется:
Код:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 0 /f
и автоматический вход прекращается.
Для меня это удобнее, потому что Windows сразу попадает на рабочий стол локального пользователя, а не возвращается на дополнительные экраны Microsoft Account.
После установки ставлю VirtIO Guest Tools
Когда появляется рабочий стол Windows, установка для меня ещё не закончена.
Открываю:
Код:
virtio-win-0.1.285.iso
и запускаю:
Код:
virtio-win-guest-tools.exe
Устанавливаю VirtIO-компоненты.
В том числе:
- VirtIO SCSI;
- VirtIO Network;
- VirtIO Serial;
- Balloon Driver;
- QEMU Guest Agent;
- другие необходимые драйверы.
После установки перезагружаю Windows.
Проверяю Device Manager
Открываю:
Код:
Device Manager
и проверяю, чтобы там не осталось неизвестных устройств.
При необходимости драйвер можно установить вручную с:
Код:
virtio-win-0.1.285.iso
Включаю QEMU Guest Agent
После установки VirtIO Guest Tools в Proxmox открываю:
Код:
VM
→ Options
→ QEMU Guest Agent
и включаю:
Код:
Enabled
После этого Proxmox может:
- определять IP-адрес Windows;
- получать данные от гостевой системы;
- корректно завершать её работу;
- лучше взаимодействовать с Windows во время backup;
- выполнять служебные операции через Guest Agent.
Shutdown вместо Stop
Для обычного выключения VM использую:
Код:
Shutdown
А:
Код:
Stop
оставляю только для аварийного выключения зависшей системы.
После установки меняю Boot Order
После завершения установки ставлю системный диск первым:
Код:
1. System Disk
2. CD/DVD
Установочный ISO Windows можно вообще отключить.
Это избавляет от:
Код:
Press any key to boot from CD or DVD...
при каждой перезагрузке.
Моя итоговая конфигурация
В результате Windows 11 VM выглядит примерно так:
Код:
OS:
Windows 11 x64
Machine:
q35
BIOS:
OVMF (UEFI)
EFI Disk:
Enabled
Pre-Enroll Keys:
Enabled
TPM:
2.0
CPU:
host
Sockets:
1
Cores:
4-8
RAM:
8-16 GB
Ballooning:
обычно Disabled
SCSI Controller:
VirtIO SCSI single
System Disk:
SCSI
100-150 GB
Discard:
Enabled
IO Thread:
Enabled
SSD Emulation:
Enabled для SSD/NVMe
Network:
VirtIO
Bridge:
vmbr0
QEMU Guest Agent:
Enabled
Дополнительные ISO:
Код:
virtio-win-0.1.285.iso
win11-local-account-sysadmin_guru.iso
Ссылки:
Скачать virtio-win-0.1.285.iso
Скачать win11-local-account-sysadmin_guru.iso
Короткая последовательность установки
Если нужно быстро вспомнить весь процесс, я делаю так:
- Загружаю ISO Windows 11.
- Загружаю virtio-win-0.1.285.iso.
- Загружаю win11-local-account-sysadmin_guru.iso.
- Создаю VM на q35.
- Выбираю OVMF / UEFI.
- Создаю EFI Disk.
- Включаю Pre-Enroll Keys.
- Добавляю TPM 2.0.
- CPU выставляю host.
- Выделяю 8-16 ГБ RAM.
- Выбираю VirtIO SCSI single.
- Создаю системный SCSI-диск.
- Включаю Discard и IO Thread.
- Сетевую карту ставлю VirtIO.
- Подключаю Windows ISO как загрузочный.
- VirtIO ISO подключаю как дополнительный CD-ROM.
- ISO с Autounattend подключаю как дополнительный CD-ROM, при необходимости через SATA.
- Запускаю установку.
- Если Windows не видит диск, загружаю
vioscsi\w11\amd64. - Windows автоматически подхватывает Autounattend.xml.
- Создаётся локальная учётная запись
sysadmin_guru. - После первого запуска ставлю
virtio-win-guest-tools.exe. - Перезагружаю Windows.
- Проверяю Device Manager.
- Включаю QEMU Guest Agent.
- Меняю Boot Order и ставлю системный диск первым.
Итог
В итоге я получаю Windows 11 VM на современной виртуальной платформе:
Код:
q35
OVMF / UEFI
EFI Disk
TPM 2.0
Secure Boot
VirtIO SCSI
VirtIO Network
QEMU Guest Agent
При этом мне не приходится создавать Microsoft Account во время установки.
Для этого я подключаю отдельный:
win11-local-account-sysadmin_guru.iso
с
Autounattend.xml, который создаёт локального администратора:
Код:
sysadmin_guru
с паролем:
Код:
sysadmin_guru
А если мне понадобится другой пользователь или пароль, такой ISO можно за несколько минут собрать самостоятельно через
xorriso или genisoimage.Для меня такой вариант оказался гораздо удобнее, чем зависеть от очередного изменения OOBE и проверять, работает ли в конкретной сборке Windows 11 очередной вариант обхода Microsoft Account.