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

  • HTML5 Embedded Host Client, this looks promising

    It’s no secret many people have really disliked the vSphere web client, it’s very sluggish, clunky, and based on flash (flash comes with it’s own security issues). It was rumored and highly hoped that vSphere 6 might be re-written in HTML5, but sadly this didn’t and hasn’t happened yet. While vSphere 6 did improve a bit on the web client the issues many people have had with it in the past still remain today.

    Enter the VMware HTML5 Embedded Host Client fling. I’ve been using and following this fling for a while now and have really enjoyed it and with each release it keeps getting better and better.

    The Embedded Host Client fling is based on HTML5 which allows it works great across all kinds of platforms, it’s fast, responsive, and doesn’t require any plug-ins – YES the VM console works great. If this happens to be a look of what’s to come in a new VMware vSphere web client, then a client is looking very promising!

    If you haven’t tried it yet, you should. It’s extremely easy to install and doesn’t even require a reboot just follow these simple instructions.

    Read More “HTML5 Embedded Host Client, this looks promising”

  • My VMware View Windows 7 Optimization Guide

    These are the few steps I do when creating a new "Golden" image. Luckily I don’t have to do these steps all the time as I’ll create the "Golden" image when there is a new upgrade such as when we went from View 4.6 to View 5.0.1. I like to have a new fresh machine using new virtual hardware from the start. You could certainly just upgrade the virtual hardware on the "Golden" image, I just prefer to start clean.

    At any rate, here’s my list. Hopefully someone might find it somewhat useful and maybe even others can improve upon it.

    Preparing a new virtual machine

    1. Create New Virtual Machine – FILE > NEW > VIRTUAL MACHINE (CTRL+N)
    2. Under Configuration select CUSTOM.
    3. Select a Name, Folder, Host, Cluster, and Storage.
    4. Under Guest Operating System select Windows and then Windows 7 32bit under the Version drop down.
    5. Select which Network (VLAN) and under Adapter select VMXNET 3.
    6. Configure disk size to 30GB THIN provisioned.

    Read More “My VMware View Windows 7 Optimization Guide”

  • VMware Horizon View 5.3 has been announced

    Horizon View 5.2 is receiving an update to 5.3! Doesn’t sound like much, but in that tiny dot number increase VMware has in fact brought a number improvements and features to Horizon View.

    In a nut shell, some features Horizon View 5.3 brings is the ability to connect to a virtual desktop from any HTML5 capable web browser (yes, even Chromebook!), ability to bring full workstation class user experience with 3D graphics, deploy Windows Server 2008 as a desktop, as well as completely rewritten the Windows client with support for Windows 8.1 and a new iOS7 client too.

    In more detail, Horizon View 5.3 brings…

    Read More “VMware Horizon View 5.3 has been announced”

  • How to run Crashplan in Docker on Synology NAS

    Crashplan running in Docker on Synology

    I am a huge fan of CrashPlan and have been using it for years on my Synology NAS using this install guide I wrote up some time ago.

    Admittedly the process in the old guide wasn’t always roses. Crashplan would push out an update and that update would, at times, break the Synology Crashplan client from PC Load Letter and backups would stop running for a couple days – maybe a week. Patters being the awesome guy he is, usually updated his Synology Crashplan package quickly and all was good again.

    Then last year in DSM 5.2, Synology added support for Docker which opened up the possibility to run all sorts of software in a virtual container running on your Synology NAS. One such software being Crashplan and below I’m going to show how I now have Crashplan running in Docker on my Synology DS1815+ NAS!

    Read More “How to run Crashplan in Docker on Synology NAS”

  • How to install VMware Workstation 10 on Linux Mint 17.1

    vmware workstation 10 linux mint

    Two goals that I would like to achieve this year is to learn how to program (likely Python) as well as learn more about Linux. So last week I completely wiped my HP laptop that used to run Windows 7 Pro and installed Linux Mint 17.1. However, I had a nested ESXi lab within VMware Workstation when I was running Windows and wanted to do the same on my new Linux install.

    I found this wasn’t just as simple as downloading an .exe and running the file, like it is in Windows. There are a few dependiences that are needed first, below is the steps I took to install VMware Workstation 10 on Linux Mint 17.1.

    Read More “How to install VMware Workstation 10 on Linux Mint 17.1”

  • Another CBT bug found in VMware ESXi 6.0

    VMware

    VMware just published KB 2136854 regarding a new bug found in ESXi 6.0 that causes virtual machine backups, which use Changed Block Tracking (CBT), to be inconsistent. VMware says the cause of the issue is this:

    This issue occurs due to an issue with CBT in the disklib area, this causes the change tracking information of I/Os that occur during snapshot consolidation to be lost. The main backup payload data is never lost and it is always written to the backend device. However, the corresponding change tracking information entries which occur during the consolidation task are missed. Subsequent QueryDiskChangedAreas() calls do not include these missed blocks, hence a backup based on this CBT data is inconsistent.

    Read More “Another CBT bug found in VMware ESXi 6.0”

Leave a Reply to Raul L Garcia 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!