मैं अपने होमलैब स्टैंड के लिए Windows 10 पर चल रहे Hyper-V वर्चुअल मशीन में VMWare ESXi इंस्टॉल करना चाहता था। Hyper-V और VMWare ESXi नेस्टेड वर्चुअलाइजेशन का समर्थन करते हैं इसलिए यह परिदृश्य संभव है (हालांकि यह आधिकारिक रूप से समर्थित नहीं है)। हालांकि, ESXi को Hyper-V पर इंस्टॉल करने के कुछ पहलुओं पर ध्यान दिया जाना चाहिए।
ESXi इमेज में Hyper-V वर्चुअल नेटवर्क एडाप्टर के लिए कोई ड्राइवर नहीं हैं, और यह NIC VMware द्वारा समर्थित नहीं है (यह VMware Hardware Compatibility List — HCL में शामिल नहीं है)। इसलिए VMWare ESXi को वर्चुअल मशीन पर इंस्टॉल करने से पहले, आपको Hyper-V नेटवर्क एडाप्टर (net-tulip) के लिए ड्राइवर को ESXi इंस्टॉलेशन इमेज में स्लिपस्ट्रीम करना होगा।
Net-tulip Microsoft Hyper-V पर VM के रूप में ESXi चलाने के लिए एक कम्युनिटी DECchip 21140 ईथरनेट ड्राइवर है। ESXi 6.5 तक के सभी संस्करण समर्थित हैं।
यदि ESXi इंस्टॉलर को कोई नेटवर्क एडाप्टर नहीं मिलता है, तो यह निम्न त्रुटि लौटाता है और आपको इंस्टॉलेशन जारी रखने से रोकता है:
No Network Adapters. No network adapters were detected. Either no network adapters are physically connected to the system, or a suitable driver could not be located. A third-party driver may be required.

अपनी ESXi इमेज में net-tulip ड्राइवर जोड़ने के लिए, अपने कंप्यूटर पर VMWare PowerCLI मॉड्यूल इंस्टॉल करें।
आप VMware.ImageBuilder module (Add-EsxSoftwareDepot, Add-EsxSoftwarePackage, Export-EsxImageProfile) से PowerShell cmdlets का उपयोग करके net-tulip को इमेज में जोड़ सकते हैं। इस मामले में, आपको ESXi इमेज और net-tulip ड्राइवर को मैन्युअली डाउनलोड करना होगा (https://vibsdepot.v-front.de/depot/bundles/net-tulip-1.1.15-1-offline_bundle.zip)।
सबसे आसान तरीका है रेडी ESXi-Customizer-PS मॉड्यूल का उपयोग करना (हमने पहले ESXi इमेज में ड्राइवर इंजेक्ट करने के तरीके पर लेख में चर्चा की थी)।
आप GitHub से ESXi-Customizer-PS 2.8.1 मॉड्यूल का नवीनतम संस्करण डाउनलोड कर सकते हैं ( https://github.com/VFrontDe/ESXi-Customizer-PS/blob/master/ESXi-Customizer-PS.ps1)। यह स्क्रिप्ट संस्करण वर्तमान VMWare ESXi 7.0 और 6.7 संस्करणों का समर्थन करता है।
डाउनलोड के लिए उपलब्ध ESXi संस्करणों की सूची प्रदर्शित करें:
.\ESXi-Customizer-PS-v2.8.1.ps1 -sip –ozip
हमारे मामले में, नंबर 203 वाली इमेज डाउनलोड करें (ESXi-6.0.0-20170604001-standard)। 203 दर्ज करें और Enter दबाएं।

दुर्भाग्य से, मैं VMWare ESXi 7.0 और 6.5 के नवीनतम संस्करणों को Hyper-V में चलाने में सक्षम नहीं था। ESXi के सभी वर्तमान संस्करण लीगेसी Hyper-V वर्चुअल नेटवर्क एडाप्टर को लोड होने से रोकते हैं। Net-tulip ड्राइवर के साथ सही ढंग से बूट होने वाला उच्चतम ESXi संस्करण ESXi-6.0.0-20170604001 Build 5572656 है। इस तथ्य के बावजूद कि ESXi-Customizer-PS 2.8.1 ESXi 7.0 इमेज के साथ काम करने और उसमें Net-tulip नेटवर्क ड्राइवर को एकीकृत करने की अनुमति देता है, इंस्टॉलर ड्राइवर को लोड नहीं करता और Hyper-V वर्चुअल नेटवर्क एडाप्टर को नहीं देखता।
स्क्रिप्ट के वर्तमान डायरेक्टरी में ESXi इमेज के साथ ZIP फ़ाइल डाउनलोड होने तक प्रतीक्षा करें।
net-tulip को ZIP इमेज में एकीकृत करने और ISO इमेज प्राप्त करने के लिए, नीचे दी गई कमांड चलाएं:
.\ESXi-Customizer-PS-v2.8.1.ps1 -iZip "C:\Ps\ESXi-6.0.0-20170604001-standard.zip" -vft -load net-tulip
This is ESXi-Customizer-PS Version 2.8.1 (visit https://ESXi-Customizer-PS.v-front.de for more information!) (Call with -help for instructions) Logging to C:\Users\user\AppData\Local\Temp\ESXi-Customizer-PS-15076.log ... Running with PowerShell version 5.1 and VMware PowerCLI version .. build Adding base Offline bundle C:\Ps\ESXi-6.0.0-20170604001-standard.zip ... [OK] Connecting the V-Front Online depot ... [OK] Getting Imageprofiles, please wait ... [OK] Using Imageprofile ESXi-6.0.0-20170604001-standard ... (Dated 02/07/2020 11:36:33, AcceptanceLevel: PartnerSupported, For more information, see https://kb.vmware.com/kb/2149958.) Load additional VIBs from Online depots ... Add VIB net-tulip 1.1.15-1 [New AcceptanceLevel: CommunitySupported] [OK, added] Exporting the Imageprofile to 'C:\PS\ESXi-6.0.0-20170604001-standard-customized.iso'. Please be patient ... All done.

-vft विकल्प का अर्थ है कि नवीनतम VIB ड्राइवर को V-Front ऑनलाइन रिपॉजिटरी से डाउनलोड किया जाना चाहिए।
तो, आपके पास इंस्टॉलेशन ESXi ISO इमेज है। फिर अपने Hyper-V होस्ट पर एक नई वर्चुअल मशीन बनाएं। Hyper-V VM के लिए निम्न सेटिंग्स का उपयोग करें:
- Generation 1 VM बनाएं;

- अपने VM के लिए कम से कम 2 vCPU जोड़ें;
- VM गुणों में डिफ़ॉल्ट नेटवर्क एडाप्टर हटाएं और एक नया Legacy Network Adapter जोड़ें;

- VM के लिए नेस्टेड वर्चुअलाइजेशन सुविधा का उपयोग करने की अनुमति दें:
Set-VMProcessor -VMName test-esxi1 -ExposeVirtualizationExtensions $true - अपनी ESXi ISO इमेज को अपने VM पर माउंट करें।
यदि आप अपने ESXi इंस्टॉल इमेज से VM को बूट करने का प्रयास करते हैं, तो VMkernel के साथ असंगत वीडियो एडाप्टर की त्रुटि दिखाई देती है:
Shutting down firmware services… Relocating modules and starting up the kernel…

समस्या को अनदेखा करके ESXi इंस्टॉलेशन जारी रखने के लिए, VM बूट करते समय TAB दबाएं और निम्न विकल्प जोड़ें:
ignoreHeadless=TRUE

ESXi इंस्टॉलर हार्डवेयर कॉन्फ़िगरेशन की जांच करेगा, एक नेटवर्क कार्ड का पता लगाएगा और वर्चुअल डिस्क पर ESXi इमेज इंस्टॉलेशन जारी रखने की पेशकश करेगा।

फिर VMWare ESXi इंस्टॉलेशन विज़ार्ड के संकेतों का पालन करें (चरणों का विस्तार से वर्णन लेख How to Install and Configure VMWare Hypervisor? में किया गया है)।
इंस्टॉलेशन समाप्त होने के बाद, अपने VM को पुनरारंभ करें और ESXi बूट विकल्प चुनते समय Shift+O दबाएं। साथ ही, निर्दिष्ट करें कि ESXi को वीडियोकार्ड जांच के बिना बूट करना होगा। ऐसा करने के लिए, लाइन के अंत में ignoreHeadless=TRUE टाइप करें और Enter दबाएं।
इसे हर बार VM बूट करते समय करने से बचने के लिए, अपनी ESXi कॉन्फ़िगरेशन बदलें:
- ESXi बूट होने के बाद, F2 दबाएं और रूट पासवर्ड दर्ज करें;
- DCUI ESXi में Troubleshooting Options -> Enable ESXi Shell चुनें;

- ESXi कंसोल खोलने के लिए Alt+F2 दबाएं;
- कंसोल प्रॉम्प्ट में निम्न कमांड चलाएं:
Esxcfg-advcfg -k TRUE ignoreHeadless

ALT+F2 दबाकर कंसोल बंद करें। फिर DCUI में ESXi होस्ट के लिए नेटवर्क सेटिंग्स कॉन्फ़िगर करें और VM को पुनरारंभ करें। सुनिश्चित करें कि ESXi सही ढंग से बूट हो सकता है और आप vSphere Web Client का उपयोग करके इससे कनेक्ट कर सकते हैं।

तो, हमने दिखाया है कि Hyper-V वर्चुअल मशीन में ESXi कैसे चलाएं। हालांकि, कॉन्फ़िगरेशन आधिकारिक रूप से समर्थित नहीं है, लेकिन यह आपको Windows 10 चलाने वाले अपने होम कंप्यूटर पर सैंडबॉक्स में पुराने VMWare ESXi संस्करणों के साथ काम करने में मदद करेगा।