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 2025
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 (бюстер)
Серия 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, совместимых с Red Hat, которые можно использовать в качестве гостевой операционной системы для виртуальных машин поколения 1 и поколения 2.

Версии серии ядер, совместимых с Red Hat 1-го поколения 2-е поколение
Серия Oracle Linux 8.x
Серия Oracle Linux 7.x
Серия Oracle Linux 6.x

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

Неразрывные версии корпоративного ядра (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.

Метод загрузки 1-го поколения 2-е поколение
PXE-загрузка с помощью стандартного сетевого адаптера;
Загрузка PXE с помощью устаревшего сетевого адаптера
Загрузка с виртуального жесткого диска SCSI (). VHDX) или виртуальный DVD-диск (. ISO)
Загрузка с виртуального жесткого диска контроллера IDE (). VHD), виртуальный DVD-диск (. ISO) или физический диск CD/DVD
Загрузка из виртуального floppy (. 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

  • Безопасная загрузка или встроенное ПО UEFI не требуются на физическом узле Hyper-V. Hyper-V предоставляет виртуальные встроенное ПО виртуальным машинам, которые не зависят от того, что находится на узле Hyper-V.
  • Встроенное ПО UEFI в виртуальной машине поколения 2 не поддерживает режим установки для безопасной загрузки.
  • Мы не поддерживаем запуск оболочки UEFI или других приложений UEFI в виртуальной машине поколения 2. Использование оболочки UEFI или приложений UEFI, отличных от Майкрософт, технически возможно, если они компилируются непосредственно из источников. Если эти приложения не соответствуют цифровой подписи, необходимо отключить безопасную загрузку для виртуальной машины.

Работа с файлами VHDX

  • Вы можете изменить размер VHDX-файла, содержащего загрузочный том для виртуальной машины поколения 2 во время работы виртуальной машины.
  • Мы не поддерживаем или рекомендуем создать один виртуальный диск (VHD или VHDX-файл), который можно загрузить как для виртуальных машин поколения 1, так и поколения 2. Вместо этого создайте загрузочные файлы 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-порт, выполните приведенные действия.

  1. Отключите безопасную загрузку. Отладка ядра несовместима с безопасной загрузкой. Убедитесь, что виртуальная машина находится в состоянии off, а затем используйте командлет Set-VMFirmware . Например, следующая команда отключает безопасную загрузку на виртуальной машине TestVM:

    Set-VMFirmware -VMName 'TestVM' -EnableSecureBoot Off
    
  2. Добавьте COM-порт. Для этого используйте командлет Set-VMComPort. Например, следующая команда настраивает первый COM-порт на виртуальной машине, TestVM, чтобы подключиться к именованному каналу TestPipe на локальном компьютере:

    Set-VMComPort -VMName 'TestVM' -Number 1 -Path '\\.\pipe\TestPipe'
    

Примечание.

Настроенные com-порты не перечислены в параметрах виртуальной машины в диспетчере Hyper-V.

См. также