I'm building a Linux VM using the Host Compute Service (HCS) LinuxKernelDirect boot mode on Windows 11 25H2. The VM boots and runs fine with SCSI storage , but I cannot get networking to function and hv_netvsc loads but never probes a device.
What I've done (host side, all confirmed working)
- Created HCN endpoint via
HcnCreateEndpoint → gets IP, MAC, switch port
- Created HCN namespace via
HcnCreateNamespace (Type: HostDefault)
- Bound endpoint to namespace via
HcnModifyNamespace
Get-HnsGuestNetworkService shows the VM's GNS in State 3 (running)
Get-HnsEndpoint shows the endpoint with VirtualMachine field set to the VM's GUID
hnsdiag list all confirms endpoint is attached to the switch
Comparison with WSL2
I compared HNS state between WSL2 (which has working networking) and my VM:
|
WSL2 |
My VM |
| GuestNetworkService |
State 3 |
State 3 |
| Endpoint State |
2 |
2 |
| VirtualMachine field |
Set |
Set |
| Switch port attached |
Yes |
Yes |
| eth0 in guest |
Works |
Missing |
The HNS/HCN state is identical, yet WSL2 gets a network interface and my VM doesn't.
So I want to confirm if HcsCreateComputeSystem with LinuxKernelDirect create a VMBus synthetic NIC channel, or does it rely exclusively on the GCS protocol for guest networking?
I'm building a Linux VM using the Host Compute Service (HCS) LinuxKernelDirect boot mode on Windows 11 25H2. The VM boots and runs fine with SCSI storage , but I cannot get networking to function and hv_netvsc loads but never probes a device.
What I've done (host side, all confirmed working)
HcnCreateEndpoint→ gets IP, MAC, switch portHcnCreateNamespace(Type: HostDefault)HcnModifyNamespaceGet-HnsGuestNetworkServiceshows the VM's GNS in State 3 (running)Get-HnsEndpointshows the endpoint withVirtualMachinefield set to the VM's GUIDhnsdiag list allconfirms endpoint is attached to the switchComparison with WSL2
I compared HNS state between WSL2 (which has working networking) and my VM:
The HNS/HCN state is identical, yet WSL2 gets a network interface and my VM doesn't.
So I want to confirm if
HcsCreateComputeSystemwithLinuxKernelDirectcreate a VMBus synthetic NIC channel, or does it rely exclusively on the GCS protocol for guest networking?