I recently came across an issue with my home lab that indicated I had an issue with my Cruzer Fit going to a Write Protect mode, doing a search online showed that a number of people were also exhibiting the same kinds of issues but this wasn’t being restricted to SanDisk Fit drives.
I have been a fan of the Cruzer Fit for a while now, it’s sleek size meant that prying little fingers (I have a two year old who loves to investigate) can’t pull it out and lose it and it looks great on the front of my Shuttle SH63H3 cases so I was a bit alarmed to realise that I may have to replace these with another brand of drive that may not offer me the same flush fit as the Cruzer Fit.
One thing I have to mention is that my usual method of installing ESXi in to my lab environment usually involves using VMware Workstation to create a VM, attaching a USB drive to the laptop and then attaching that to the VM, hey presto you have a readily available way of installing ESXi on to a system that doesn’t have a CD\DVD drive fitted. The reason I mention this will become clearer later on in the article.
Now I should mention that the original lab build was done on VMware ESXi 5.1 and I blogged about how to upgrade from 5.1 to 5.5 here, during that time I haven’t really had much need to make changes to my ESXi environment and didn’t take note as to if\when the SanDisk Cruzer Fit drives I was using in my environment went to read-only but I know it has to have been after the 5.5 upgrade.
Now how did I know that the drives had gone to a write protect mode? well carry on after the break to find out.
Whilst carrying out the installation of vRealize Operations Manager for the installation and configuration blog posts I discovered I needed to make some changes to my environment, in this particular case it was removing the IPv6 address that was on all 3 hosts, logging on to the DCUI I made the change which prompted a reboot and discovered that on reboot the IPv6 setting was still enabled.
I then tried to make other changes just to see if it was just IPv6 that was the issue or whether there was something deeper going on, making a change to the DNS server entry and rebooting the host also showed that this wasn’t just restricted to the IPv6 setting.
At this point I started to investigate further and discovered whole pages of people not only having trouble with the Cruzer Fit but also other members of the SanDisk family and it appeared that once this happened to the drive you had to basically throw the unit away, this wasn’t something I was happy doing, not only did it mean I had no running lab (not handy when I was trying to rebuild my lab at the time) but also it was Xmas and there was no way I was going to get new USB drives in time for me to really do anything productive over the Xmas break.
Taking one of the non-working USB drives from my powered off host I inserted it into a Windows 8 PC and tried to see if I could do anything with the drive.
Running the DiskPart commands from this post I ran through the process to clean the drive and reformat it to ensure it was like new, in theory this shouldn’t work but in my case it did, this is important as this highlights an issue with the ESXi installation rather than the drive itself, again more on that later in the post.
Once I completed the tasks above I could then access the drive and place data on it, moving the drive between computers showed that the drive was able to be written to by all devices, this indicated that the drive was no longer in a write protected state. With this in mind I then followed the instructions here to re-install the ESXi image to the USB drive. Following the instructions in that post I proceeded to install the updated ESXi 5.5 installation ISO I had used previously to the USB drive, the installation process deletes the content of the drive and installs again as if it was a new device.
Once the process was complete I powered up the host and tried to change the hostname, IP address settings and to change the IPv6 setting, rebooting the host however showed that the USB device has dropped back to a write protected mode, obviously there was an issue with the ESXi Installation process I had used that was causing an issue to the USB drive. Digging a little further on google I discovered that back in 2012 SanDisk started to produce drives to be configured as fixed disk to meet requirements for Windows 8 certification (incidentally they ended this process in mid 2014), what this meant is that my drives (purchased in early 2013) were going to be an issue. Why I wondered? Well it turns out that it’s something to do with the GPT partition that a number of SanDisks have a problem with, why is this an issue with ESXi? Well back when ESXi 5 launched VMware changed from the MBR partition to the GPT format (they did this to allow for greater than 2TB drives), so as there are known issues with GPT running on selected SanDisk USB drives I needed to either find a new USB device to use on my hosts that were known to work with GPT or find a fix.
More searching on google found some interesting posts that indicated it was possible to install ESXi and forcing it to use the mbr partition table instead of the default GPT one.
Again following the instructions mentioned previously I proceeded to do a new installation on the Cruzer Fit via VMware Workstation.
When the loading screen displays the above message make sure that the VM is in focus and press the Shift+0 keys
Now add a space after the runweasel command and add formatwithmbr then press enter.
Carry out the installation as usual and you will have a USB drive that not only boots but will also allow changes and doesn’t throw itself in to a write protected mode