Yesterday I decided to upgrade my two ESXi servers from ESXi 5.1 to ESXi 5.5 since the update came out some time ago.
The upgrade from ESXi 5.0 to ESXi 5.1 went great, without any problems. But this time, that is not the case.
My two ESXi servers are white boxes made of the following hardware:
- Motherboard: MSI Z87-G43 (http://www.msi.com/product/mb/Z87-G43.html)
- CPU: i5-4670K (http://ark.intel.com/products/75048/)
- RAM: Kingston HyperX DDR3 1600MHz, 8Gb * 2(16GB total) (http://www.newegg.com/Product/Product.aspx?Item=N82E16820104173)
The problem was the motherboard that ships with an onboard Realtek 8111E network adapter.
This problem has been verified to be the same with Realtek 8168 and Realtek 8169.
The reason for this, is that VMware removed the drivers from the new ESXi 5.5 iso.
In this post I will show you how to get ESXi 5.5 working with the Realtek network adapters.
Some people don’t like to use “not supported” hardware this way, and others had connection problems on the VM’s after doing this. I did not have any problems, and have been running with this solution since I wrote this post (21 days ago now). So i think it is pretty stable.
If you don’t want to use the method below, you can always buy a Intel Pro 1000 network card and put it in a PCI-e slot.
I highly recommend the Intel pro 1000 series, they are fast, reliable and works on any OS out of the box (including ESXi), but they are a little pricy. You can get them here, with free shipping:
Intel Pro 1000 Dual port
Intel Pro 1000 single port
There are two ways to make the upgrade work on your motherboard:
- Using a supported network adapter in a PCI-E slot (See above, regarding the Intel Pro 1000 network adapters)
- Creating a custom ESXi 5.5 iso with the drivers from ESXi 5.1
Putting in a extra network adapter was not an option for me, so I went for option two, and here is how I did it:
Creating a custom ESXi 5.5 iso including the Realtek network drivers
What you need
You just need a Windows XP or higher computer, and the software below.
Getting the needed software
First you need to get the needed software.
The following is what you need to download:
- The original VMware ESXi 5.5 iso (https://my.vmware.com/web/vmware/evalcenter?p=free-esxi5&lp=default)
- ESXi-Customizer (http://www.v-front.de/p/esxi-customizer.html#download)
- The drivers from the old ESXi 5.1 iso (save file and unzip), you only need one of the below depending on what model your network adapter is.
Injecting the drivers and create a new iso file
There is not a lot of steps to this, actually just a couple and it will not take long.
Open the “Esxi-customizer”
Fill out fields
Simply fill out all 3 fields.
First one: Choose the original VMware ESXi 5.5 iso you downloaded from VMware
Second one: Choose the .VIB file for you Realtek network adapter that you downloaded earlier.
Third one: Choose what folder to use for working folder. A log and the finished new .iso file will be saved here. just create a new folder on your C:\ drive and use it.
If your motherboard support UEFI boot, you can tick the “Create UEFI bootable ISO” if not, then untick this. If you are unsure about this, then untick it!
Tick the auto update check to make sure you always have the latest version of this software.
Let’s do it! Press “Run!”
The program will run some commands in the command promt behind it, and that’s it.
It does not take long. Once done, you can close the program.
Upgrade your VMware ESXi server
Now, burn your newly created ISO image of VMware ESXi 5.5 with your Realtek network adapter drivers injected that was created in the folder you choose to be the working folder for the program.
You can also “Burn” it to a usb stick, if your server does not have a optical drive installed. I do not have a guide for this yet.
Boot up your server on the cd/usb and choose to upgrade the system like you would with the original iso.
Note that the custom .iso does not work trough VMware Update Manager.
Feel free to leave a comment below, and rate the post at the top if this helped you!
Difference between vSphere, ESXi and vCenter
VMware Inc. is a software company that develops many suite of software products specially for providing various virtualization solutions. There are many cloud products, datacenter products, desktop products and so on.
vSphere is a software suite that comes under data center product. vSphere is like Microsoft Office suite which has many software like MS Office, MS Excel, MS Access and so on. Like Microsoft Office, vSphere is also a software suite that has many software components like vCenter, ESXi, vSphere client and so on. So, the combination of all these software components is vSphere. vSphere is not a particular software that you can install and use, “it is just a package name which has other sub components”.
ESXi, vSphere client and vCenter are components of vSphere. ESXi server is the most important part of vSphere. ESXi is the virtualization server. It is type 1 hypervisor. All the virtual machines or Guest OS are installed on ESXi server. To install, manage and access those virtual servers which sit above of ESXi server, you will need other part of vSphere suit called vSphere client or vCenter. Now, vSphere client allows administrators to connect to ESXi servers and access or manage virtual machines. vSphere client is installed on the client machine (e.g. Administrator’s laptop). The vSphere client is used from client machine to connect to ESXi server and do management tasks. So now what is vCenter? Why we need it? Try cloning existing virtual machine using just a vSphere client without vCenter server.
vCenter server is similar to vSphere client but it’s a server with more power. vCenter server is installed on Windows Server or Linux Server. VMware vCenter server is a centralized management application that lets you manage virtual machines and ESXi hosts centrally. vSphere client is used to access vCenter Server and ultimately manage ESXi servers. vCenter server is compulsory for enterprises to have enterprise features like vMotion, VMware High Availability, VMware Update Manager and VMware Distributed Resource Scheduler (DRS). For example, you can easily clone existing virtual machine in vCenter server. So vCenter is another important part of vSphere package. You have to buy vCenter license separately.
The diagram above shows vSphere suite in a more descriptive way. vSphere is a product suite, ESXi is a hypervisor installed on a physical machine. vSphere Client is installed on laptop or desktop PC and is used to access ESXi Server to install and manage virtual machines on ESXi server. vCenter server is installed as virtual machine on top of ESXi server. vCenter server is a vSphere component which is mostly used in large environment where there are many ESXi server and dozens of virtual machines. The vCenter server is also accessed by vSphere client for management purpose. So, vSphere client is used to access ESXi server directly in small environment. In larger environment, vSphere client is used again to access vCenter server which ultimately manages ESXi server.
VirtualBox will not start and present a Critical Error dialog box which reads “Failed to create the VirtualBox COM object. The application will now terminate.” If you select Details for additional information, it may offer something similar to this error, if not the same, Callee RC: CO_E_SERVER_EXEC_FAILURE (0x80080005). Here is a solution that worked in this case and will get VirtualBox back up and running without losing any configuration changes.
I recognize this error will likely occur on multiple versions of this application, however, for the sake of disclosure, the error occured using Oracle VirtualBox 4.3.6 on a Microsoft Windows 7 Professional (64-bit). During the re-install, I elected to upgrade to the latest, at the time of this writing, Oracle VirtualBox 4.3.8.
- Navigate to your profile and look for the .VirtualBox folder. For example, C:\Users\your.name\.VirtualBox
- Copy the VirtualBox.xml to somewhere safe, like your desktop
- Uninstall VirtualBox
- Delete the .VirtualBox folder
- Re-install VirtualBox and the option package.
- Start VirtualBox
- Close VirtualBox
- Navigate to your profile and look for the .VirtualBox folder. For example, C:\Users\your.name\.VirtualBox
- Rename the VirtualBox.xml to VirtualBox.xml.old
- Copy your original VirtualBox.xml to the .VirtualBox folder
- Start VirtualBox
Note: If you are presented with a hardware error message of some sort, here the corrections may be made. In my case, there was a referenced hard disk that was unavailable. So I deleted it using the configuration window that was presented.
Everything should be working as expected.
Virtualbox supports up to eight network cards. If you look into the
*.vbox you will see that there are already preconfigured but disabled. Unfortunately inside the VBox GUI we could only configure up to four. I will show how to get and configure the other.
You have to use
VBoxManage to get the other network cards. After the option will always be the NIC Number count one to eight. Here I will use five and the name of the machine that will be configured is “network-test”.
Set Mode and enable NIC
When a Mode is set the NIC will be enabled.
Set NIC five to Host-Only Mode and User vboxnet0 (Initially existing Host-Only Net)
VBoxManage modifyvm network-test --nic5 hostonly VBoxManage modifyvm network-test --hostonlyadapter5 "vboxnet0"
Set NIC five to Bridge eth1
VBoxManage modifyvm network-test --nic5 bridged VBoxManage modifyvm network-test --bridgeadapter5 "eth1'
Set NIC to NAT Mode
VBoxManage modifyvm network-test --nic5 nat
Use the internal VM net “test01”
VBoxManage modifyvm network-test --nic5 intnet VBoxManage modifyvm network-test --intnet5 "test01"
To use VLAN and some other things in VMs the Promiscuous mode have to be enabled
VBoxManage modifyvm network-test --nicpromisc5 allow-all
Use other hardware type (Intel Pro/1000 MT Server)
VBoxManage modifyvm network-test --nictype5 82545EM
VBoxManage modifyvm network-test --cableconnected5 off
In essence, this method will let you run Mac OS X from inside a program window in Windows. As always, we’re going to use Virtualbox for this. It’s important to note that Windows virtualization programs do not “officially” support Mac OS X, so you will not be able to enable full graphics support. This tutorial should only be taken as a proof of concept.
- Virtualbox : This virtualization suite is free, and though it doesn’t offer official support for Mac OS X, it works well enough.
- Mountain Lion bootable DVD : Unfortunately, the standard method for installing OS X Mountain Lion on PCs (which uses a paid copy of the Mountain Lion installer) doesn’t work with Virtualbox. Instead, you’ll have to rely on pirated “bootable DVD” copies of Mountain Lion, also known as “distros”. I won’t go into details, but you can download these copies from about any bittorrent website by using a bittorrent client (it’s about 4.5 GB in size). In the past, we’ve used the iAtkos distro for this, but iAtkos hasn’t updated for Mountain Lion yet, so I used the “OS X 10.8 Mountain Lion bootable DVD for Intel PCs”, by Olarila.
- Hackboot 1 / Hackboot 2: Even though it’s called a “bootable DVD”, the Olarila version of OS X Mountain Lion still can’t boot in Virtualbox by itself. To help Mountain Lion start, you’ll need to use Olarila’s Hackboot CD. There are three different versions of Hackboot; we’ll need to use two of them in this guide. “Hackboot 1” is for starting the Mountain Lion installer, while “Hackboot” 2 is for starting Mountain Lion itself.
- Multibeast 4.6.1 : You will need to use Multibeast 4.6.1, our favorite Hackintosh post-installation tool, to set up the Mountain Lion virtual machine after the initial installation. While Multibeast 4.6.1 is an old version designed for Mac OS X Lion instead of Mountain Lion, in our case, it actually works better than newer versions of Multibeast. Registration is required on the tonymacx86 website to download this.
If your version of Virtualbox asks you to choose between 64-bit and 32-bit, be sure to choose 64-bit. Choosing 32-bit will result in a critical “Guru Meditation” error later on.
DOWNLOAD: Hackboot 1
Your mouse cursor will probably be trapped inside the virtual machine. Press the right “Ctrl” key on your keyboard to allow your mouse to escape. Then, at the bottom right of the virtual machine screen, right-click on the little CD icon, and click “Choose a virtual CD/DVD disk file”. A Windows Explorer window will pop up; from there, select the OS X 10.8 Mountain Lion bootable DVD.
Click back into the Hackboot screen, and press the “F5” key on your keyboard. This will refresh Hackboot. The CD icon in the middle of the Hackboot screen will now say “OS X Install DVD”. Press the enter key on your keyboard. You will then enter the Mac OS X installer page.
Continue, and you will eventually come up to a page that asks you for a “destination” for your Mac install. Oh no, the page is blank! We’ll have to fix that. To do this, start up Disk Utility (located under the Utilities menu).
Mac OSX can only be installed on a completely clean disk, so you need to use Disk Utility to wipe your Virtualbox hard disk. Click on the Virtualbox hard disk in Disk Utility and erase it. Don’t worry, there’s nothing important on it.
On the installation page for Mac OSX, the Virtualbox hard disk should now be showing up. Select it and continue.
Once that’s done with, Mac OSX will install itself. This will take at least 20 minutes.
When the installation finishes, Mac OS X will crash into a black screen with white text. This is normal; Mac OS X has installed successfully. Now proceed to the next step.
Step 5: Boot it up
Again, press the right Ctrl key to allow your mouse to escape from the virtual machine screen. Then, click on the CD icon in the bottom right of the virtual machine. This time, choose the .iso file for Hackboot 2 (download below).
DOWNLOAD: Hackboot 2
Restart your virtual machine. You’ll see the Hackboot screen once more, except there will be an icon for your virtual machine’s hard drive in the middle.
Select it (use the arrow keys on your computer) and press “Enter”. Mountain Lion will boot, and you should eventually be led to the Mac OS X setup screen. Fill it out, and you’ll finally be led to the Mac OS X desktop.
This concludes the first part of the guide. However, you’re not done yet! You still have to make your virtual machine bootable without the help of Hackboot.
By default, your ethernet (internet) should work in the virtual machine. However, the virtual machine will not have sound, or be able to boot from the hard drive without help. To fix this, open Safari, and download Multibeast 4.6.1. While Multibeast 4.6.1 is an old version designed for Mac OS X Lion instead of Mountain Lion, in our case, it actually works better than newer versions of Multibeast. Registration is required on the tonymacx86 website to download this.
DOWNLOAD: Multibeast 4.6.1
Before starting Multibeast, you have to go the “Security” section of System Preferences in Mac OS X, go to the “General” section, and check “Anywhere” in the “Allow applications” section. Once that’s done, run Multibeast and install the following options (contrary to popular belief, you do not need an actual DSDT file to use UserDSDT).
Next, you’ll have to delete a certain kext file in your hard drive that causes boot errors. You can do this from Finder, the file browser built into Mac OS X. However, Finder hides your hard drives in Mountain Lion by default. To unhide them, open Finder, and click on File -> Preferences in the menu bar at the top of Mac OS X. Under the “Sidebar” settings, check “Hard disks”, so that Finder will display your virtual machine’s hard disks in the sidebar.
Then, go to your main hard drive, and go to /System/Library/Extensions. Inside the Extensions folder, delete the file AppleGraphicsControl.kext.
This completes the post-installation process for your virtual machine. Eject the Hackboot CD; you can do this by right-clicking the CD icon at the bottom right of your virtual machine, and unchecking Hackboot. Then, restart your virtual machine. Mac OS X will now be able to boot normally and play audio. Congratulations!
Step 7: Make the screen bigger
Though this step is optional, I still recommend you do it anyways. Anyways, when you first use your Mac OS X, you’ll probably notice one thing: your screen resolution is 1024×768. Since Virtualbox doesn’t “technically” support Mac OS X, there’s no official way to change this. But here’s how you can change it anyways:
You can change “1920x1080x32” to whatever resolution best fits your monitor. For instance, if you want to use the 1600×900 resolution, type in “1600x900x32”. Once you’ve saved it, turn off the virtual machine.
Next, open the Command Prompt in Windows (make sure you are logged into an Administrator account on Windows). You can do this by opening the Start Menu, and typing “command prompt” into the Start Menu search bar. Then, type the following command into the Command Prompt.
cd “C:\Program Files\Oracle\Virtualbox”
This command will change the focus of the Command Prompt to the program folder for Virtualbox (if you installed Virtualbox somewhere different, then change the command to wherever you installed it). Next, type in this command:
vboxmanage setextradata “Name of virtual machine” “CustomVideoMode1” “1920x1080x32”
This command activates “vboxmanage”, a command-line program included with Virtualbox that allows you to edit the properties of your virtual machine, including its built-in resolutions. Replace “Name of virtual machine” with the name of your virtual machine– you can find the name of your virtual machine in the left pane of the Virtualbox main window (in the screenshot below, my virtual machine is named “Mountain Mac 2”). Replace “1920x1080x32” with whatever resolution you’re using.
Press the enter key to submit the command. Once that’s done, start your virtual machine again. It will now boot in full resolution. Congrats!