Access VMFS Volumes without a VMware Host

As VMWare becomes more prevalent in more environments, the ability to access VMWare formatted file systems (VMFS) from other operating systems is increasingly important. In most cases where the need to access a VMWare disk on a non VMWare system arises, the issue is a time critical “system down” event. If your environment has more than one VMWare server, chances are that you can simply put the hard drive – or remap the LUN – into another VMWare system. Unfortunately, that is not always possible. There are also cases in which the VMFS has become corrupt in such a way that ESXI will not talk to it. In these circumstances we turn to the open source VMFS driver written by fluid Ops.

This article will address accessing VMFS under Windows. For the purposes of this article, I am going to assume that you have the latest Java 6 Runtime Environment (32-bit) installed on your computer. This method is untested with Java 7.

How to Access VMWare VMFS Volumes

Before we begin, we need to know what physical drive number Windows has assigned to the VMWare drive. In order to do this, open up Computer Management.

Manage my Computer

 

From within Computer Management, navigate to Storage -> Disk Management and find the disk labelled as an Unknown Partition.

Find the disk you need

 

Write down which disk represents the unknown partition. Next, go to the Open Source VMFS Driver.

Open Source VMFS Driver Website

 

Select Downloads and download the latest version by clicking on the file name. It will typically be listed as “featured.”

Newest VMFS File

 

This will take you to a verification page. Click the file name one more time to download.

Download the VMFS driver

Open the file that downloads. It will be a ZIP archive.

Opening VMFS Driver with Windows Explorer

 

Inside the archive will be a folder labelled VMFS_the version number (for example: vmfs_r95). Copy this folder out of the ZIP into any location on your hard drive that you choose.

VMFS File Copy

 

Make sure you write down where you copied the folder. I prefer to copy such things to C:\Data Store\

VMFS driver location

 

Next, we need to open an administrative Command Prompt. Go to Start, then open Programs. From there, go to Accessories and right-click Command Prompt.

Locate the command prompt

 

Select Run as Administrator.

Run as administrator

 

Select Yes to the User Account Control Prompt.

Allow UAC

 

This will bring up an administrative command prompt window. Type in cd “c:\Program Files (x86)\Java\jre6\bin\java.exe” and click Enter.

CD JAVA

For this next step, it’s important to know where you placed the VMFS folder you downloaded, as well as the physical drive number of the drive you wish to access. Please note that I have placed the folder here: c:\data store\vmfs_r95 — on my system, the drive appears as physical drive 3. In this case, the command to hook the driver to the drive is:

java.exe -jar “c:\data store\vmfs_r95\fvmfs.jar” \\.\PhysicalDrive3 webdav

Type it into your administrative command prompt, replacing the appropriate elements, and hit Enter.

Engage FVMFS JAR

 

Assuming all goes to plan and that the VMFS volume that you are attempting to access is not too corrupt for the driver to read, this will launch a small web server offering up WEBDAV access and basic browsable http access to the files on the drive. This driver should provide access to most VMFS volumes suffering simple corruption due to an unexpected power outage, but it may error out if the corruption is more severe. You can get access to the files on your drive by opening a web browser and pointing it at http://localhost:50080/vmfs. DO NOT close the command prompt window.

Log in to webdav site

 

You will see a series of files ending in .sf – you can safely ignore these. Descending into the directories will provide you access to the files which contain the virtual machines that you need to recover.

Download the files you need

 

For those who wish a brief look at how to accomplish the same task under Ubuntu, please take a look at this article on Accessing VMFS partitions.