Should I create a generation 1 or 2 virtual machine in Hyper-V? (Следует ли создавать виртуальные машины 1-го и 2-го поколения в Hyper-V?).
Область применения: Windows 10, Windows 11, Windows Server 2016, Microsoft Hyper-V Server 2016, Windows Server 2019, Microsoft Hyper-V Server 2019, Windows Server 2022, Azure Stack HCI
Примечание
Если вы планируете когда-либо отправлять виртуальные машины Windows из локальной среды в Microsoft Azure, поддерживаются виртуальные машины поколения 1 и 2, если они используют формат VHD и имеют фиксированный (не динамически расширяющийся) диск размера. Дополнительные сведения о возможностях 2-го поколения, поддерживаемых в Azure, см. в статье "Виртуальные машины поколения 2" в Azure . Дополнительные сведения о отправке виртуального жесткого диска Windows или VHDX см. в статье "Подготовка виртуального жесткого диска Windows или VHDX для отправки в Azure".
Выбор для создания виртуальной машины поколения 1 или 2 зависит от того, какая гостевая операционная система требуется установить, и метод загрузки, который вы хотите использовать для развертывания виртуальной машины. Рекомендуется создать виртуальную машину поколения 2, чтобы воспользоваться преимуществами таких функций, как безопасная загрузка, если только одно из следующих инструкций не имеет значения true:
- Вы используете существующий предварительно созданный виртуальный диск (VHD или VHDX), несовместимый с UEFI.
- Поколение 2 не поддерживает операционную систему, которую вы хотите запустить на виртуальной машине.
- Поколение 2 не поддерживает метод загрузки, который вы хотите использовать.
Дополнительные сведения о функциях, доступных с виртуальными машинами поколения 2, см. в статье о совместимости функций Hyper-V по поколениям и гостям.
Вы не можете изменить поколение виртуальной машины после его создания. Поэтому мы рекомендуем ознакомиться с приведенными здесь рекомендациями, а также выбрать операционную систему, метод загрузки и компоненты, которые вы хотите использовать перед созданием.
Какие гостевые операционные системы поддерживаются?
Виртуальные машины поколения 1 поддерживают большинство гостевых операционных систем. Виртуальные машины поколения 2 поддерживают большинство 64-разрядных версий Windows и более актуальных версий операционных систем Linux и FreeBSD. В следующих разделах показано, какое поколение виртуальной машины поддерживает гостевую операционную систему, которую требуется установить.
Поддержка гостевой операционной системы Windows
В следующей таблице показано, какие 64-разрядные версии Windows можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
64-разрядные версии Windows | Поколение 1 | 2-е поколение |
---|---|---|
Windows Server 2022 | ✔ | ✔ |
Windows Server 2019 | ✔ | ✔ |
Windows Server 2016 | ✔ | ✔ |
Windows Server 2012 R2 | ✔ | ✔ |
Windows Server 2012 | ✔ | ✔ |
Windows Server 2008 R2 | ✔ | ✖ |
Windows Server 2008 | ✔ | ✖ |
Windows 11 | ✖ | ✔ |
Windows 10 | ✔ | ✔ |
Windows 8.1 | ✔ | ✔ |
Windows 8 | ✔ | ✔ |
Windows 7 | ✔ | ✖ |
В следующей таблице показано, какие 32-разрядные версии Windows можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
32-разрядные версии Windows | Поколение 1 | 2-е поколение |
---|---|---|
Windows 10 | ✔ | ✖ |
Windows 8.1 | ✔ | ✖ |
Windows 8 | ✔ | ✖ |
Windows 7 | ✔ | ✖ |
Поддержка гостевой операционной системы CentOS и Red Hat Enterprise Linux
В следующей таблице показаны версии Red Hat Enterprise Linux (RHEL) и CentOS, которые можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
Версии операционной системы | Поколение 1 | 2-е поколение |
---|---|---|
Серия RHEL/CentOS 8.x | ✔ | ✔ |
Серия RHEL/CentOS 7.x | ✔ | ✔ |
Серия RHEL/CentOS 6.x | ✔ | ✔ Примечание: Поддерживается только в Windows Server 2016 и более поздних версиях. |
Серия RHEL/CentOS 5.x | ✔ | ✖ |
Дополнительные сведения см. в статье о виртуальных машинах CentOS и Red Hat Enterprise Linux на Hyper-V.
Поддержка гостевой операционной системы Debian
В следующей таблице показано, какие версии Debian можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
Версии операционной системы | Поколение 1 | 2-е поколение |
---|---|---|
Серия Debian 10.x (buster) | ✔ | ✔ |
Серия Debian 9.x (stretch) | ✔ | ✔ |
Серия Debian 8.x (jessie) | ✔ | ✔ |
Серия Debian 7.x (wheezy) | ✔ | ✖ |
Дополнительные сведения см. в разделе о виртуальных машинах Debian на Hyper-V.
Поддержка гостевой операционной системы FreeBSD
В следующей таблице показано, какие версии FreeBSD можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
Версии операционной системы | Поколение 1 | 2-е поколение |
---|---|---|
FreeBSD 12–12.1 | ✔ | ✔ |
FreeBSD 11.1–11.3 | ✔ | ✔ |
FreeBSD 11 | ✔ | ✖ |
FreeBSD 10–10.3 | ✔ | ✖ |
FreeBSD 9.1 и 9.3 | ✔ | ✖ |
FreeBSD 8.4 | ✔ | ✖ |
Дополнительные сведения см. в статье о виртуальных машинах FreeBSD на Hyper-V.
Поддержка гостевой операционной системы Oracle Linux
В следующей таблице показано, какие версии серии ядра, совместимой с Red Hat, можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
Версии серий ядра, совместимых с Red Hat | Поколение 1 | 2-е поколение |
---|---|---|
Серия Oracle Linux 8.x | ✔ | ✔ |
Серия Oracle Linux 7.x | ✔ | ✔ |
Серия Oracle Linux 6.x | ✔ | ✖ |
В следующей таблице показано, какие версии ядра Enterprise Можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
Неразрывные версии ядра Enterprise (UEK) | Поколение 1 | 2-е поколение |
---|---|---|
Oracle Linux UEK R3 QU3 | ✔ | ✖ |
Oracle Linux UEK R3 QU2 | ✔ | ✖ |
Oracle Linux UEK R3 QU1 | ✔ | ✖ |
Дополнительные сведения см. в статье о виртуальных машинах Oracle Linux на Hyper-V.
Поддержка гостевой операционной системы SUSE
В следующей таблице показано, какие версии SUSE можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
Версии операционной системы | Поколение 1 | 2-е поколение |
---|---|---|
Серия SUSE Linux Enterprise Server 15 | ✔ | ✔ |
Серия SUSE Linux Enterprise Server 12 | ✔ | ✔ |
Серия SUSE Linux Enterprise Server 11 | ✔ | ✖ |
Открытие SUSE 12.3 | ✔ | ✖ |
Дополнительные сведения см. в статье О виртуальных машинах SUSE на Hyper-V.
Поддержка гостевой операционной системы Ubuntu
В следующей таблице показано, какие версии Ubuntu можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и 2.
Версии операционной системы | Поколение 1 | 2-е поколение |
---|---|---|
Ubuntu 20.04 | ✔ | ✔ |
Ubuntu 18.04 | ✔ | ✔ |
Ubuntu 16.04 | ✔ | ✔ |
Ubuntu 14.04 | ✔ | ✔ |
Ubuntu 12.04 | ✔ | ✖ |
Дополнительные сведения см. в статье о виртуальных машинах Ubuntu на Hyper-V.
Как загрузить виртуальную машину?
В следующей таблице показано, какие методы загрузки поддерживаются виртуальными машинами поколения 1 и 2.
Метод boot | Поколение 1 | 2-е поколение |
---|---|---|
PXE-загрузка с помощью стандартного сетевого адаптера; | ✖ | ✔ |
Загрузка PXE с помощью устаревшего сетевого адаптера | ✔ | ✖ |
Загрузка с виртуального жесткого диска SCSI (. VHDX) или виртуальный DVD-диск (. ISO) | ✖ | ✔ |
Загрузка с виртуального жесткого диска контроллера интегрированной среды разработки (. VHD), виртуальный DVD-диск (. ISO) или физический компакт-диск или DVD-диск | ✔ | ✖ |
Загрузка из виртуальной флоппии (. VFD) | ✔ | ✖ |
Каковы преимущества использования виртуальных машин поколения 2?
Ниже приведены некоторые преимущества, которые вы получаете при использовании виртуальной машины поколения 2.
Безопасная загрузка
Это функция, которая проверяет, подписан ли загрузчик доверенным центром в базе данных UEFI, чтобы предотвратить запуск несанкционированного встроенного ПО, операционных систем или драйверов UEFI во время загрузки. В виртуальных машинах поколения 2 безопасная загрузка включена по умолчанию. Если необходимо запустить гостевую операционную систему, которая не поддерживается безопасной загрузкой, ее можно отключить после создания виртуальной машины. Дополнительные сведения см. в статье Безопасная загрузка.
Чтобы обеспечить безопасную загрузку виртуальных машин Linux 2-го поколения, при создании виртуальной машины необходимо выбрать шаблон безопасной загрузки ЦС UEFI.
Более крупный загрузочный том Максимальный загрузочный том для виртуальных машин поколения 2 составляет 64 ТБ. Это максимальный размер диска, поддерживаемый параметром . VHDX. Для виртуальных машин поколения 1 максимальный загрузочный том составляет 2 ТБ для . VHDX и 2040 ГБ для . Vhd. Дополнительные сведения см. в обзоре формата виртуального жесткого диска Hyper-V.
Вы также можете увидеть небольшое улучшение времени загрузки и установки виртуальной машины с виртуальными машинами поколения 2.
В чем разница в поддержке устройств?
В следующей таблице сравниваются устройства, доступные между виртуальными машинами поколения 1 и 2.
Устройство поколения 1 | Замена в поколении 2 | Усовершенствования в поколении 2 |
---|---|---|
Контроллер интерфейса IDE | Виртуальный SCSI-контроллер | Загрузка из . VHDX (максимальный размер 64 ТБ и возможность изменения размера в сети) |
Дисковод IDE | Виртуальный дисковод SCSI | Поддержка до 64 DVD-устройств SCSI на SCSI-контроллер. |
Традиционная BIOS | Встроенное ПО UEFI | Безопасная загрузка |
Традиционный сетевой адаптер | Синтетический сетевой адаптер | Сетевая загрузка по протоколам IPv4 и IPv6 |
Контроллер гибких дисков и DMA | Контроллер гибких дисков не поддерживается | Н/Д |
Универсальный асинхронный приемопередатчик (UART) для COM-портов | Дополнительный UART для отладки | Более быстрый и надежный |
Контроллер клавиатуры i8042 | Программный ввод | Использует меньше ресурсов, так как нет эмуляции. Также уменьшает уязвимость гостевой операционной системы |
Клавиатура PS/2 | Программная клавиатура | Использует меньше ресурсов, так как нет эмуляции. Также уменьшает уязвимость гостевой операционной системы |
Мышь PS/2 | Программная мышь | Использует меньше ресурсов, так как нет эмуляции. Также уменьшает уязвимость гостевой операционной системы |
S3-видео | Программное видео | Использует меньше ресурсов, так как нет эмуляции. Также уменьшает уязвимость гостевой операционной системы |
Шина PCI | Больше не требуется | Н/Д |
Программируемый контроллер прерываний (PIC) | Больше не требуется | Н/Д |
Программируемый интервальный таймер (PIT) | Больше не требуется | Н/Д |
Устройство Super I/O | Больше не требуется | Н/Д |
Дополнительные сведения о виртуальных машинах поколения 2
Ниже приведены некоторые дополнительные советы по использованию виртуальных машин поколения 2.
Подключение или добавление DVD-диска
- Вы не можете подключить физический компакт-диск или DVD-диск к виртуальной машине поколения 2. Виртуальный DVD-дисковод в виртуальных машинах поколения 2 поддерживает только файлы ISO-образов. Чтобы создать ISO-файл образа среды Windows, можно использовать программу командной строки OScdimg . Дополнительные сведения см. в разделе Параметры командной строки Oscdimg.
- При создании виртуальной машины с помощью командлета
New-VM
Windows PowerShell виртуальная машина поколения 2 не имеет DVD-диска. Во время работы виртуальной машины можно добавить DVD-диск.
Использование встроенного ПО UEFI
- На физическом узле Hyper-V не требуется безопасной загрузки или встроенного ПО UEFI. Hyper-V предоставляет виртуальное встроенное ПО виртуальным машинам, которые не зависят от того, что находится на узле Hyper-V.
- Встроенное ПО UEFI на виртуальной машине поколения 2 не поддерживает режим установки для безопасной загрузки.
- Мы не поддерживаем запуск оболочки UEFI или других приложений UEFI на виртуальной машине поколения 2. Использование оболочки UEFI или приложений UEFI других разработчиков технически возможно, если они компилируются непосредственно в источниках. Если эти приложения не имеют соответствующей цифровой подписи, необходимо отключить безопасную загрузку для виртуальной машины.
Работа с VHDX-файлами
- Вы можете изменить размер VHDX-файла, содержащего загрузочный том для виртуальной машины поколения 2 во время работы виртуальной машины.
- Мы не поддерживаем или не рекомендуем создать один виртуальный диск (VHD или VHDX-файл), который можно загрузить на виртуальные машины поколения 1 и 2.
- Поколение виртуальной машины — это свойство виртуальной машины, а не виртуального жесткого диска. Поэтому вы не можете определить, был ли VHDX-файл создан виртуальной машиной поколения 1 или поколением 2.
- VHDX-файл, созданный с виртуальной машиной поколения 2, можно подключить к контроллеру интегрированной среды разработки или контроллеру SCSI виртуальной машины поколения 1. Однако если это загрузочный VHDX-файл, виртуальная машина поколения 1 не будет загружаться.
Используйте IPv6 вместо IPv4
При загрузке из сети с PXE виртуальные машины поколения 2 по умолчанию используют протокол IPv4. Чтобы использовать IPv6, выполните командлет Set-VMFirmware Windows PowerShell. Например, следующая команда задает предпочтительному протоколу IPv6 для виртуальной машины с именем TestVM:
Set-VMFirmware -VMName 'TestVM' -IPProtocolPreference IPv6
Добавление COM-порта для отладки ядра
COM-порты недоступны на виртуальных машинах поколения 2, пока вы не добавите их. Это можно сделать с помощью Windows PowerShell или инструментария управления Windows (WMI). В этих шагах показано, как это сделать с помощью Windows PowerShell.
Чтобы добавить COM-порт, выполните приведенные далее действия.
Отключите безопасную загрузку. Отладка ядра несовместима с безопасной загрузкой. Убедитесь, что виртуальная машина находится в состоянии off, а затем используйте командлет Set-VMFirmware . Например, следующая команда отключает безопасную загрузку на виртуальной машине TestVM:
Set-VMFirmware -VMName 'TestVM' -EnableSecureBoot Off
Добавьте COM-порт. Для этого используйте командлет Set-VMComPort . Например, следующая команда настраивает первый COM-порт на виртуальной машине TestVM для подключения к именованному каналу TestPipe на локальном компьютере:
Set-VMComPort -VMName 'TestVM' -Number 1 -Path '\\.\pipe\TestPipe'
Примечание
Настроенные COM-порты не перечислены в параметрах виртуальной машины в диспетчере Hyper-V.
См. также:
- Supported Linux and FreeBSD virtual machines for Hyper-V on Windows (Поддерживаемые виртуальные машины Linux и FreeBSD для Hyper-V в Windos).
- Use local resources on Hyper-V virtual machine with VMConnect (Использование локальных ресурсов на виртуальной машине с VMConnect)
- Планирование масштабируемости Hyper-V в Windows Server 2016