Restore a VM using the {vm}-flat.vmdk file

missing vmdk file error

A couple days ago I was asked the question “An admin deleted the vmdk file associated with a VM, there are no snapshots or backups of the VM . Can we restore this VM somehow?“. I believe in backups, I like to have my VM’s backed up so that I can depend on them for events just like this very issue. At first I was stumped, until the {vm-name}.flat.vmdk was mentioned. That’s when I remembered a method to recover a VM using the vm-flat.vmdk file that I had actually done 2-3 years ago.

Example preparation

For this example I’ve created a Server 2012 virtual machine (called Win2012) and placed a text file on the desktop called “Important Info”. I then deleted all the files associated with that VM with the exception of the Win2012-flat.vmdk file, as seen in the image at top.

VM before deleting VMDK file

After the files had been deleted I tried to power up the VM knowing it would not and received this error.
missing vmdk file error

Ok, now on to how to restore a VM with a missing .VMDK file.

How to Recover a VM using a vm-flat.vmdk file

  1. I created a new VM called Recovery with the same specs as my Win2012 server (2vCPU, 4GB RAM, 40GB HHD).
  2. Enable SSH on the host and logged in via PuTTy (or WinSCP) and verified the contents of Win2012 folder:
    cd /vmfs/volumes/vmNFS02/Win2012/

    win2012 folder contents

  3. Then navigate to the Recovery VM folder.
    cd ../Recovery/
  4. Rename the original Recovery-flat.vmdk file to Recovery-flat.vmdk.bak
    mv Recovery-flat.vmdk Recovery-flat.vmdk.bak

    copy recovery-flat.vmdk

  5. Now just copy the Win2012-flat.vmdk file from the Win2012 folder over to the Recovery folder (Note: This step could take several minutes):
    cp /vmfs/volumes/vmNFS02/Win2012/Win2012-flat.vmdk Recovery-flat.vmdk

    copy flat vmdk to recovery folder

  6. Finally, power up the new Recovery VM and your old VM (Win2012) should be back online good as new!
    after restore
  7. You can also go back and delete the Recovery-flat.vmdk.bak file as it won’t be needed.

So even though restoring a VM from a -flat.vmdk file is pretty easy it isn’t my recommended method, you’re far better protected with good, reliable backups, then on hoping that the -flat.vmdk file is still laying around somewhere.

Similar Posts

  • VMware View client now availabe for Android!

    VMware has announced that they have released a View Client for Android tablets available on the Android Market now. Here are just a few of the features found on the new client.

    • A new look and feel – The View Client for Android features the NEW blue look and feel of the VMware View clients!
    • Multiple broker support – If you have more than one VMware View broker in your organization, you can can easily access your desktop from all of them via the Android client
    • Desktop Shortcuts – Quickly connect with as many as four recent desktop via shortcuts
    • Virtual trackpad – Control your desktop on a granular level just like you would control the mouse on a laptop
    • Custom keyboard toolbar – Super easy access to all of the special keys not found on the Android default keynboard
    • Honeycomb 3.x support – Made from the ground up for the new generation of Android tablets
    • Custom gestures – Invoke keyboard, scrolling, etc are as easy as ever and simple to use
    • VMware View Security Server support (best experience) – No need to have VPN when you use VMware View Security Server
    • Background tasking – Switch between apps on your tablet and come right back
  • How to install VMware vSphere Update Manager 5.5

    If you don’t already know, VMware Update Manager (aka, VUM) is a tool which allows you to easily automate patching and upgrading VMware hosts as well as virtual machine hardware and VMware tools. It’s a wonderful tool and makes upgrading and patching so much easier and allows you to quickly see how compliant/up-to-date your environment is with the built in pie graph.

    Recently we had some pretty serious array issues which corrupted the VUM database taking Update Manager down. Since we was going to have to rebuild Update Manager I opted to move from Windows Server 2008 to Windows Server 2012, in the steps below I’ll document step by step how to install VMware Update Manager 5.5 on Server 2012 and a separate database.

    Read More “How to install VMware vSphere Update Manager 5.5”

  • How to easily add an ESXi SSH login message banner

    ESXi issues message

    Preparing for some upcoming audits, I noticed one of the checkpoints was to ensure each ESXi host was configured with a warning banner stating the machine is being monitored and audited when someone logs into the ESXi host via SSH. This type of message is something you see on most any company or government computer before you login.

    There are two message types that can be used to achieve this, the first being login banner (/etc/issue) and MOTD (/etc/motd). The difference between the two are where they are shown. The login banner is shown between the username and password inputs during login, while the MOTD is displayed after a user has successfully logged into SSH.

    Read More “How to easily add an ESXi SSH login message banner”

  • Intel NUC i5 5th Generation an ESXi lab improvement

    Intel NUC BLKNUC5I5MYHE 5th gen

    For the past year and a half I’ve been using the Intel i5 3rd Gen NUC’s in my ESXi home lab with great success. In this time several people have asked if I recommend anything newer, and while Intel had a few 4th gen models I wasn’t really sold on them as most CPU benchmarks put them the same as my 3rd gen or lower and only added support for a 2.5″ drive which at the time I didn’t need but then Intel released news about several Intel NUC 5th generation models!

    Read More “Intel NUC i5 5th Generation an ESXi lab improvement”

  • Increase incremental backup speed by enabling CBT

    In a recent VMware environment I was working in, we noticed that our incremental backups was taking a long time (like up to 7-8 hours) to complete. After digging around it was found that VMware actually has a feature built-in since version 4 called Change Block Tracking (CBT). CBT will track any blocks that were changed since the last backup and tag them and stores the information in a -CTK file. The obvious benefit is that now the third party software only backs up the changed block and not the entire VM each time, reducing the amount of data being backed thus speeding up backups and even lowers the CPU utilization on the VM host.

    CBT is disabled by default though there are some backup tools that will enable it automatically or you can enable it manually which can easily be done following these steps:

    Read More “Increase incremental backup speed by enabling CBT”

Leave a Reply to Michael Cancel reply

Your email address will not be published. Required fields are marked *

34 Comments

  1. Hi,

    Thanks for the above post :)

    I’m try your post in my home lab but I’m facing the below
    issue . can you please help me to understand the concept .

    I have created a new VM called win7 then logged into the ESXi 5.0 via SSH (putty ) I can view the win7-flat.vmdk
    file but if I delete the win7.vmdk file I can’t see the win7-flat.vmdk . because
    of this I’m not able to perform your post in my lab can you please help me understand
    the concept please and please guide me if I’m wrong

    1. viswa,

      How are you deleting the .VMDK file? If
      removing the VM from disk it will in fact remove all files and folder
      associated with the VM. If you’re browsing the VM folder on the
      datastore and delete the .VMDK file then the {vm}-flat.vmdk file should
      still exist.

      1. Hi Michael,

        Thanks for your help :)

        How are you deleting the .VMDK file?
        Ans : I’m browsing the VM folder in data store and deleted the
        win7.vmdk file . after that i’ve checked ssh to ESXi via putty i’m not able to view the both Vmdk and flat.vmdk files

      2. viswa,

        Sounds like you’re deleting it from the GUI datastore browser. I deleted the file from SSH. Not sure if that might be the issue or not, but i will try it when I get home this evening on my home lab as well.

        If you want to test now you could spin up a new test VM, SSH to the VM folder and delete everything but the {vm}-flat.vmdk file and try the rest of the steps.

  2. Hi i have this problem in real VM , i do these note but my machine isn’t work.
    i work with gui datastore browser.plz help me :(

  3. Thank you very must you saved me, after the material virtual update 9 to 10, the DIsk 1 size take 0 MB (usual 50 GB)
    In a friday (newer do a action on prod a friday ! -but the deadline – grrrrr)

    Imagine I give a virtual Beer ;-) sluurps :)

    From France.

  4. This worked like a charm! Thanks a million! This was a life saver. I was able to recover my Lync 2013 Server with no issues using these instructions. Straight forward and clear.

  5. Hi Mike, do you have an article I can use to get my Datastore (from Synology iSCSI Target) to show up on my VMware host again? I am able to connected successfully and see it mounted but I no longer see the Datastore from Synology showing up on my ESXi Hosts. Thanks!

    1. Hector,

      I don’t have an article for mounting iSCSI targets from Synology to VMware but wouldn’t mind creating one. If you’ve already had this configured at one time then it makes me wonder what has changed since? Also have you tried to do a storage rescan?

      -Michael

  6. hi mike, iam download vm files from one datastore to another data store, I notice that i click download from datastore on my local drive, file is downloading but file name appears on my local drive is myvm-flat.vmdk, why the flat added in it? how can i send you private message or skype? i want to share my screen shots with you

  7. Thank you, thank you, thank you
    You saved my server, did not have any current backups because it was temporary, but SAP consultants never released it.
    Great job and article

  8. How do you find the location of the VM to type it in the “cd /vmfs/volumes/vmNFS02/Win2012” command?

    I am pretty new at this and somehow my vm server had a “bootstrap device not found” error, things got complicated from there — I tried recreating the VM and using the disks of the bad VM, but that gave me another error (bootmgr not found) and even then after using chkdsk tools it went worse.

    I do have the flat.vmdk file for the original VM but nothing else – it seems it is the right size.

    I am not sure how to find the location of that to type in the above command. PLEASE, help!

    Thanks a lot.

  9. Ref: Hi mike, Im download vm files from one datastore to another data store, I notice that i click download from datastore on my local drive, file is downloading but file name appears on my local drive is (myvm-flat.vmdk) this is a backup file from in esxi virtual harddisk

    Another way to save te info when we get a -flat.vmdk file, is with power iso, this app can open te file .vmdk as it was a .rar file and extract the needed files and folders.

    Thanks to you and and other soulds that saved my day and night and 3years of works!