Monthly Archives: September 2013

My work on ESX IPv6 stack

One of my first projects since joining VMware was to find avenues for improving ESX IPv6 stack which is used by services such as vMotion, NFS, Fault Tolerance, etc. We did a bunch of improvements which will be delivered in vSphere 5.5. Here is a blog article in VMware’s performance blog documenting more details: 

IPv6 performance improvements in ESX.

Recovering a fatal Windows 7 hard disk crash

Had a hard weekend recovering from my home computer coming down because of a hard disk crash. This was a Windows 7 installation, and Windows 7 refused to either boot or repair itself. Worse, although we had a a mirrored drive for media and other important files, we didn’t have a backup for the hard disk with the Windows 7 installation.

Thus began an effort to recover the contents of the failed hard drive. We first bought a new hard drive from Fry’s and installed a fresh version of Windows on it. The hope was that a booted Windows installation would mount the failed drive, and we would be able to recover the files. Alas, the drive came up as invalid and Windows refused to do anything with it, other than format and create a new file system.

So, I had to resort to Linux to help. It was not easy however, and took a number of hours. Here is an effort to document what can be done in such scenarios.

Step 1: Download a DVD installation of Knoppix. Knoppix is a Free and Open Source Live Linux CD which can run in-memory, without using any storage resources in your machine. Burn the iso image in a DVD or USB stick.

Step 2: Boot Knoppix of the DVD or USB stick. Knoppix comes online with a very pretty UI. It has preinstalled a variety of popular open source programs, and is therefore really helpful.

Step 3: Examine the hard disks using fdisk.

Example commands:

fdisk -l /dev/sda

This should give you the details of the disk such as size, partiions etc.

Step 4: Mount the failed hard drive.

The following commands are helpful.

sudo mkdir /mnt/temp

mount -t ntfs-3g /dev/sda1 /mnt/temp

Hopefully this step succeeds. If Linux can read the file system format of the hard drive, it should be able to mount it. If this step does not succeed, there is probably a mechanical failure with the hard drive, or its file system is so corrupt that Linux couldn’t read it. In that case, you would need more professional software and help to recover.

Step 5: Copy over the contents to some other drive.

The easiest way for me was to use a 16 GB USB stick, which can be mounted with vfat partition type, and copy any important files to it. Linux can write to vfat and ext file systems pretty easily, but there may be issues writing to ntfs. So the best is to copy to a vfat device.

Step 6: Boot up the clean Windows and copy over the files from the USB drive.

Hopefully, these steps help you. You are most welcome to contact me via comments on this post.