
If you're going to run a modern operating system that utilizes hardware encryption (e.g., Windows 11), you should create a Generation 2 VM.
Generation 1 uses legacy BIOS firmware, whereas Generation 2 uses newer UEFI firmware supporting modern security features, such as secure boot, encryption, and TPM. The generations in Hyper-V basically distinguish the VM on the basis of firmware.
In Windows, you can specify an integer value of "1" (to create a Generation 1 VM) or "2" (to create a Generation 2 VM).
-Generation:Specifies the generation of the VM. -NewVHDSizeBytes:Specifies the size of the VHD in bytes. To create a new VM without any VHD at all, use the -NoVHD To connect a VHD that already exists, use the -VHDPath parameter instead of the -NewVHDPath parameter. -NewVHDPath:Creates and connects a new dynamic VHD with the specified path to the new VM. -Path:Specifies the directory path to store VM configuration files. -MemoryStartupBytes:Specifies the amount of static memory in bytes that will be available for VM at startup. The parameter names used with this command are pretty much self-explanatory, but let me briefly explain each: This command creates a new Generation 2 VM named Kali Linux. Create new Kali Linux VM in Hyper V using PowerShell