I am trying to get esxi running within hyper-v and it won't recognize the virtual switch even though I got it setup properly and it works with any other VMs on this system.
I only have one NIC but it works fine with other VMs.
Well, that kinda is the question, isn't it? You can't simply "set" it on a Hyper-V vSwitch the way you'd do it on vSphere. Since I haven't found any other settings, I *think* that Setting MACAddressSpoofing to ON and injecting the promiscous mode cllause into the XML file of the VM should do the trick - but it doesn't so obviously I'm missing something here. Could be as simple as Server 2012R2 vs. Windows 8.1 but http://technet.microsoft.com/en-us/library/hh857623.aspx appears to suggest there is no difference in this regard...
Ahhh, sorry about that, I was confused by the terminology. When you're saying talking about the VMs you're actually referring to Nested Hosts right? (Virtual machines running ESXi 5.5 from within Hyper-V on Windows 8.1)
Your nested hosts are booting up and getting IPs, so the NIC drivers are working, or at least working enough not to throw and error or purple screen of death.
You are able to access the ESXi 5.5 console on the nested hosts right? If so, could you answer a few questions?
1. How many vNics do you have running on the nested host? Have you tried multiple vNics? Do you see the same behaviour on each Nic?
2. Are the Nics coming up as 100 half duplex?
I attempted something similar to what you're doing using autodeploy, but I abandoned it because VMware Workstation is just simply so much easier to work with. The link to my progress is above, not sure if there's anything you might find useful.
Even though I got Nested ESXi hosts to boot into my vCenter I think I ran into the exact same issues you're facing now, I couldn't find a promiscious mode/forged transmits equivlent in Hyper-V, so my Networking never worked properly.
Could you please elaborate some? So far, I have used the VIB distributed in this thread and elsewhere. I have no problem patching manually but would certainly need sources. Where do I get those?
Thanks in advance!
I think i have found the solution to the "networking problem".
I have Hyper-V installed as role in win 2012 r2 standard. I have created VM and installed ESXi 5.5. Of course I need to add ignoreHeadless=True on boot and create customized esxi boot cd (ESXi Customizer). Also need to add vmx.allowNested=True on VM nested in esxi.
So, I created some kind of "pyramid": Hyper-V(hypervisor) -> VM(ESXi) -> VM (Win7).
At that point I came across the "networking problem"- simply put: no network connected, I cannot get IP from DHCP or set static address.
To solve this problem you need enable: "MAC spoofing" on hyper-V VM. Legacy network adapter-> advanced settings (or similar option) -> check MAC SPOOFING checkbox. Of Course you need to add "Legacy network adapter" or ESXi won't detect the adapter. I have also add "allow promiscuous mode" line in hyper V (VM configuration file). I don't know, is that necessary, but I added this "just in case"
Bellow, I present the print screens. Unfortunately, I have polish version of windows and all the settings are translated to polish. But I translated the important options to English.
After i check the "Mac spoofing" check box the network on top the VM pyramid started to work and the machine got address from DHCP.
If VM file will require to create new file, try to power off machine and disable the service in Hyper V manager. Save the file and start the service again.
I hope it helps someone.
PS: Sorry for my English, I hope you understand what I mean and you will solve the issue.
Has anyone resoled the networking issue?
What i've got ESX 5.1 with tulip driver installed with a Legacy Network Adapter on Hyper-V Windows 8.1
I tried <allow_promiscuous_mode type="string">TRUE</allow_promiscuous_mode> and MAC Spoofing.
I have only one NIC on ESXi.
I have two virtual switches on Hyper-V: Internal with IP range 192.168.1.1 and External with IP address 172.x.x.x
What I have found out. I can obtain DHCP address in both cases, whether I'm connected to Internal or External virtual switches.
In case if I'm connected to Internal switch, network test fails to pass.
In case if I'm connected to the External switch, network test passes OK! I can ping default gateway and DNS servers and even the hosts on the Internet, but I cannot ping the hosts on my local network.
Looks like it is related with MAC address resolving or something related.
Has anyone the idea?
Seems I am not the only one experiencing this issue, or at least very similar. see my post at https://communities.vmware.com/thread/496572
If you manage to find the solution, with or without help from this forum, then please also let me know in private message. I am really eager to get this issue resolve. I will do the same for you when I find the solution sooner then you do.
So I am experiencing the same networking connectivity issue between my Windows 8.1 hyper-V host and my ESXi 5.5 guest
Here's my steps so far:
- Built customised ESXi 5.5 ISO using the tulip.vib and VMware-ESXi-5.5-RollupISO.iso
- Created Virtual Switch
- name: vmlan1
- type: Internal
- Configured local nic with 10.0.0.10/24 and disabled all other services except IPv4
- Created new Hyper-V VM
- generation 1
- Legacy Network Adapter (has to be Legacy)
- Virtual Switch: vmlan1
- 4096MB RAM (min required for ESXi 5.5)
- 2 vCPU (min required for ESXi 5.5)
- Mount ISO
- Create new 10GB VDHX hard drive
- Boot VM
- Interrupt boot with Shift-O and add " ignoreheadless=TRUE" to the existing text i.e. "runweasel ignoreheadless=TRUE"
- Install ESXi
- Boot into ESXi (again requiring the Shift-O and ignoreheadless=true text added to the end with a space in between)
- Troubleshooting -> Enable Shell
- Alt+F1 and login
- enter "esxcfg-advcfg –-set-kernel “TRUE” ignoreHeadless" (this will enable headless ignore for all future boots so no need to enter again)
- type exit to logout, Alt+F2, disable Shell
- Configure vm nic with 10.0.0.11/24 and restart management network
After doing this I cannot ping in either direction between ESXi and the host
So further steps after reading this:
- Stop Hyper-V Machine Virtual Management service (otherwise I can't modify the VM's xml config file)
- Edit VM's XML file
- Add line in <global> section:
- Save and restart service
- Boot VM
Hello! First post here.
Did anyone get this documented or blogged? This would be great for labs!
I was hoping to see if anyone has seen this issue.
So, I have Hyper-V 2012 R2 in my lab and I'd like to, virtualize ESXi 5.1 as a guest VM.
I'm able to:
Help for others:
I am able to now connect to ESXi with vSphere client from the Hyper-v level machine.
I thought I would draw attention to the evolution of the statement in this discussion:
<allow_promiscuous_mode type="string">TRUE</allow_promiscuous_mode> from
Contrary to intuition the correct type appears to be "string". Not that that is all that is
From my testing, the network only works at all if the Hyper-v switch is "External" associated
with a real NIC (no "Internal" or "Private").
Not even a non--Hyper-v loopback connected to a Hyper-v "External" switch works.
It also appears that I have to ping the ESXi address from a command prompt to start it up.
I haven't created a VM under ESXi as of yet, so I can't yet speak to that part of the network.
This is my first experience with ESXi. With all of the fiddling with this, I'm not sure if I deleted
the Hyper-v SCSI adapter on the last install or if ESXi just doesn't recognize it in any case
(no driver for it)? I know that in this virtuality IDE vs SCSI makes little difference, it just seems
ESXi on a real machine would most likely use SCSI, and I don't want to have to reinstall to
Would it be possible to create a VIB for Hyper-V sinthetic NIC, avoiding the need to use legacy adapter?
I managed to use tulib.vib to run ESXi 6.0 inside Hyper-V VM, but would like to do it with sinthetic NIC, rather than legacy NIC.
I found Download Linux Integration Services Version 4.0 for Hyper-V from Official Microsoft Download Center and kernel/git/torvalds/linux.git - Linux kernel source tree but have no clue how to continue, not a Linux expert at all