Should I create a generation 1 or 2 virtual machine in Hyper-V? (Следует ли создавать виртуальные машины 1-го и 2-го поколения в Hyper-V?).

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

  • Вы используете существующий предварительно созданный виртуальный жесткий диск (VHD или VHDX-файлы), который несовместим с UEFI.
  • Поколение 2 не поддерживает операционную систему, которую вы хотите запустить на виртуальной машине.
  • Поколение 2 не поддерживает метод загрузки, который вы хотите использовать.

Дополнительные сведения о возможностях, доступных с виртуальными машинами поколения 2, см. в статье о совместимости функций Hyper-V с помощью поколения и гостя.

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

Каковы преимущества использования виртуальных машин поколения 2?

Ниже приведены некоторые преимущества, которые вы получаете при использовании виртуальной машины поколения 2:

  • Безопасная загрузка

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

    Чтобы защитить виртуальные машины Linux поколения 2, необходимо выбрать шаблон безопасной загрузки ЦС UEFI при создании виртуальной машины.

  • Максимальный объем загрузки для виртуальных машин поколения 2 — 64 ТБ. Этот максимальный объем загрузочного тома — это максимальный размер диска, поддерживаемый .VHDX виртуальными машинами поколения 1, максимальный объем загрузки составляет 2 ТБ и .VHDX2040 ГБ для .VHD получения дополнительных сведений о формате виртуального жесткого диска Hyper-V.

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

Какие гостевые операционные системы поддерживаются?

Виртуальные машины поколения 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) физический компакт-диск или DVD-диск)
Загрузка из виртуальной floppy (.VFD)

Какова разница в поддержке устройств?

В следующей таблице сравниваются устройства, доступные между виртуальными машинами поколения 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 Больше не требуется Н/П

Рекомендации по использованию виртуальных машин поколения 1 и поколения 2

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

Создание виртуальных машин с более чем 64 логическими ЦП

Диспетчер Hyper-V может не создать новую виртуальную машину поколения 1 в системе с более чем 64 логическими ЦП. Диспетчер Hyper-V не позволяет указывать количество виртуальных процессоров во время создания виртуальной машины. Для узлов с более чем 64 логическими процессорами укажите количество виртуальных процессоров при создании виртуальной машины с помощью Windows Admin Center, PowerShell или другого средства.

Отправка виртуального жесткого диска в Azure

Виртуальные жесткие диски, созданные на виртуальных машинах поколения 1 и поколения 2, можно передать в Azure, пока они используют формат VHD-файла. Виртуальный жесткий диск должен иметь фиксированный (не динамически расширяющийся) размер диска. Ознакомьтесь с виртуальными машинами поколения 2 в Azure , чтобы узнать больше о возможностях поколения 2, поддерживаемых в Azure. Дополнительные сведения о отправке виртуального жесткого диска Windows или VHDX см. в статье "Подготовка виртуального жесткого диска Windows или VHDX для отправки в Azure".

Подключение или добавление DVD-диска

  • Вы не можете подключить физический компакт-диск или DVD-диск к виртуальной машине поколения 2. Виртуальный DVD-дисковод в виртуальных машинах поколения 2 поддерживает только файлы ISO-образов. Чтобы создать ISO-файл образа среды Windows, можно использовать средство командной строки OScdimg . Дополнительные сведения см. в разделе Параметры командной строки Oscdimg.
  • При создании новой виртуальной машины с помощью командлета New-VM Windows PowerShell виртуальная машина поколения 2 не имеет DVD-диска. Вы можете добавить DVD-диск во время работы виртуальной машины.

Использование встроенного ПО UEFI

  • Безопасная загрузка или встроенное ПО UEFI не требуются на физическом узле Hyper-V. Для виртуальных машин поколения 2 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, пока не добавите их. Можно добавить COM-порты с помощью Windows PowerShell или инструментария управления Windows (WMI). В этих шагах показано, как это сделать с помощью Windows PowerShell.

Чтобы добавить COM-порт, выполните приведенные действия.

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

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

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

Примечание.

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

См. также