{"id":2752,"date":"2018-10-28T19:19:18","date_gmt":"2018-10-29T00:19:18","guid":{"rendered":"http:\/\/osric.com\/chris\/accidental-developer\/?p=2752"},"modified":"2018-10-28T19:19:18","modified_gmt":"2018-10-29T00:19:18","slug":"esxi-upgrade-from-5-5-to-6-7","status":"publish","type":"post","link":"https:\/\/osric.com\/chris\/accidental-developer\/2018\/10\/esxi-upgrade-from-5-5-to-6-7\/","title":{"rendered":"ESXi upgrade from 5.5 to 6.7"},"content":{"rendered":"<p>ESXi 5.5 recently reached end-of-support (see <a href=\"https:\/\/kb.vmware.com\/s\/article\/51491\">End of General Support for vSphere 5.5<\/a>), but my sales rep informed me that I was eligible for a free upgrade. Great! I set about doing just that.<\/p>\n<p>First of all, I should note that you can&#8217;t upgrade directly from 5.5 to 6.7, so I upgraded to 6.5 first. I ran into several missteps along the way, which I have documented here:<!--more--><\/p>\n<p><strong>Short version:<\/strong> use Rufus on Windows to build your bootable installation USB flash drive! Even if you are not a Windows user, find a Windows machine or download a Windows VM and use Rufus to build your boot media. Seriously, use Rufus and skip to the end of this article for a couple extra tips.<\/p>\n<p>I found a succinct article, <a href=\"https:\/\/www.starwindsoftware.com\/blog\/create-an-esxi-6-5-installation-usb-under-two-minutes\">Create an ESXi 6.5 installation USB under two minutes<\/a>, but the steps listed there expect you to use a Windows application to build the USB media. I was using MacOS, so I went looking for the MacOS alternative and found <a href=\"https:\/\/www.techrepublic.com\/article\/how-to-create-a-bootable-vmware-esxi-usb-drive-on-macs\/\">How to create a bootable VMware ESXi USB drive on Macs<\/a>.<\/p>\n<p>After following the steps there, I plugged the USB flash drive into my server, used the BIOS boot menu to boot from the USB drive, and got the following error:<\/p>\n<pre><code>Booting from Hard drive C:\r\n\r\nNon-system disk\r\nPress any key to reboot<\/code><\/pre>\n<p>I had run into a non-fatal error when using <code>fdisk<\/code>, maybe that had something to do with it? The error message was:<\/p>\n<pre><code>fdisk: could not open MBR file \/usr\/standalone\/i386\/boot0: No such file or directory<\/code><\/pre>\n<p>I also read that copying the files from the ISO to the USB using <code>cp<\/code> was not recommended, so I tried using <code>dd<\/code> as well:<\/p>\n<pre><code>$ sudo dd if=~\/Downloads\/VMware-VMvisor-Installer-6.7.0.update01-10302608.x86_64.iso of=\/dev\/rdisk2 bs=1m<\/code><\/pre>\n<p>After that, I got a different error message when trying to boot from the USB drive:<\/p>\n<pre><code>No boot device available or operating system detected.\r\nCurrent boot mode is set to BIOS.\r\nPlease ensure a compatible bootable media is available.<\/code><\/pre>\n<p>Next I tried VMWare&#8217;s own documentation: <a href=\"https:\/\/docs.vmware.com\/en\/VMware-vSphere\/6.5\/com.vmware.vsphere.upgrade.doc\/GUID-33C3E7D5-20D0-4F84-B2E3-5CD33D32EAA8.html\">Format a USB Flash Drive to Boot the ESXi Installation or Upgrade<\/a><\/p>\n<p>This method required a Linux host with syslinux installed. I had a CentOS 7.5 host available, and installed syslinux 4.05 via <code>yum<\/code>:<\/p>\n<pre><code>$ sudo yum install syslinux<\/code><\/pre>\n<p>When I booted from the USB drive, I got the following error message:<\/p>\n<pre><code>menu.c32: not a COM32R image\r\nboot:<\/code><\/pre>\n<p>I searched for that error and found the post <a href=\"https:\/\/askubuntu.com\/questions\/85254\/cannot-boot-from-usb-disk-with-not-a-com32r-image-error\">Cannot boot from USB disk with &#8220;not a COM32R image&#8221; error<\/a> on AskUbuntu, so I tried that:<\/p>\n<pre><code>[tab] install hddimage\r\nboot: install<\/code><\/pre>\n<p>Same error.<\/p>\n<p>The error mentioned <code>menu.c32<\/code> specifically, so I copied <code>\/usr\/share\/syslinux\/menu.c32<\/code> and <code>\/usr\/share\/syslinux\/mboot.c32<\/code> to the USB key, overwriting the version from the VMWare ISO image. (There was also a <code>safeboot.c32<\/code> on the USB key, but no corresponding file in <code>\/usr\/share\/syslinux<\/code>.)<\/p>\n<p>This time booting from the USB drive got slightly farther:<\/p>\n<pre><code>ESXi-6.7.0-201819929910 standard installer\r\nBoot from local disk\r\n\r\nPress (Tab) to edit options\r\nAutomatic boot in 1 second...\r\n\r\nLoading -c...failed!\r\nNo files found!\r\nboot:<\/code><\/pre>\n<p>I also tried keeping the <code>mboot.c32<\/code> file from the VMWare ISO and replacing just the <code>menu.c32<\/code> file, but that did not help.<\/p>\n<p>I found some suggestions that VMWare is very picky about the version of syslinux that is used, so I also compiled a newer version of syslinux, 6.02, which is specifically mentioned in the VMWare documentation I was following (<em>&#8220;For example, if you downloaded Syslinux 6.02, run the following commands&#8221;<\/em>). That didn&#8217;t help either.<\/p>\n<p>I raised a cry for help on the VMWare community forums, and someone chimed in right away and advised me to give up on Linux just use Rufus on Windows. I fired up a Windows 2012r2 VM &#8212; if you don&#8217;t have one, you can download an ISO from the <a href=\"https:\/\/www.microsoft.com\/en-us\/evalcenter\/evaluate-windows-server-2012-r2\">Microsoft Evaluation Center<\/a> and install one &#8212; and downloaded and installed <a href=\"https:\/\/rufus.ie\/en_IE.html\">Rufus<\/a>. (Rufus looks a little sketchy, but is vouched for by many sane and security-minded people.)<\/p>\n<p>In just a couple minutes, I had working boot media installed on my USB flash drive!<\/p>\n<p>I booted my VMWare host and got a new error during the upgrade process:<\/p>\n<pre><code>Error(s)\/Warning(s) Found During System Scan\r\n\r\nThe system encountered the following error(s).\r\n\r\nError(s)\r\n\r\n&lt;CONFLICTING_VIBS ERROR: Vibs on the host are conflicting with vibs in metadata. Remove the conflicting vibs or use Image Builder to create a custom ISO providing newer versions of the conflicting vibs.  ['LSI_bootbank_scsi-mpt3sas_04.00.00l00.lvmw-1OEM.500.0.0.472560', 'LSI_bootbank_scsi-mpt3sas_04.00.00l00.lvmw-1OEM.500.0.0.472560']&gt;\r\n\r\nUse the arrow keys to scroll\r\n\r\n(F9) Back (F11) Reboot<\/code><\/pre>\n<p>A Reddit post, <a href=\"https:\/\/www.reddit.com\/r\/vmware\/comments\/75h179\/trying_to_remove_vib\/\">Trying to remove VIB<\/a>, pointed out that the driver referenced by the VIB (vSphere Installation Bundle) is for hardware that isn&#8217;t compatible with my Dell hardware, so I would be safe to remove it. I removed it using the ESX command-line interface:<\/p>\n<pre><code># esxcli software vib remove -n=scsi-mpt3sas<\/code><\/pre>\n<p>After that I was able to boot the system from the USB drive and upgrade the ESXi installation to 6.5.<\/p>\n<p>A few additional notes:<\/p>\n<ul>\n<li>On my hardware, the ESXi OS was installed on an embedded SD card. The menu asked me to select upon which drive I wanted to install or upgrade ESXi, so I chose the smallest partition that corresponded to the embedded SD card. Your experience may differ.<\/li>\n<li>I was able to upgrade the 6.5 installation to 6.7 entirely from the web-based VMWare Update Manager.<\/li>\n<li>I was able to upgrade the license on <a href=\"https:\/\/my.vmware.com\">My VMWare<\/a> (see <a href=\"https:\/\/kb.vmware.com\/s\/article\/2006974\">How to upgrade license keys in My VMware<\/a>).<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The vSphere ESXi 5.5 hypervisor reached end-of-support in September, 2018. I upgraded my ESXi host to 6.5 (and then 6.7), but ran into a lot of errors trying to create the USB boot media for the installer\/upgrader. I&#8217;ve documented some of my steps here.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[427],"class_list":["post-2752","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-esxi"],"_links":{"self":[{"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/posts\/2752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/comments?post=2752"}],"version-history":[{"count":8,"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/posts\/2752\/revisions"}],"predecessor-version":[{"id":2831,"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/posts\/2752\/revisions\/2831"}],"wp:attachment":[{"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/media?parent=2752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/categories?post=2752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/osric.com\/chris\/accidental-developer\/wp-json\/wp\/v2\/tags?post=2752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}