Creating a VMware Virtual Machine from a Raw Image File

Welcome to my blog and first post!  My aim is to provide tutorials that describe some of the things about which my colleagues have questions.  I’m neither a seasoned blogger nor videographer, so please bear with me as I progress.  I don’t plan to produce a regularly updated journal on digital forensics, as many of the good folks in my blog list now publish.  Instead, I’ll try to provide some guidance on practices that may help others who haven’t had a chance to explore an area of computer forensics that I may have delved into repeatedly.  As you’ll see, I have a plan for a few topics and will consider suggestions thereafter.  I do, however, have a full time job that already extends beyond a  “reasonable” workday, so pardon my delays in posting.  The videos herein should be viewed in high-def, and you’re welcome to download them.

This will be a multi-part presentation that goes into creating VMware virtual machines and using them to examine shadow volumes.  First, we’ll create a virtual machine from a single dd image file.  In the next presentation, well examine the target system’s shadow volumes using VMware and X-Ways Forensics (XWF) can create a target-system VM from a segmented image, but it takes more work to create our configuration file.  We also can build a VM from other image formats, like E01, as long as we can mount the image as a physical disk.  First, I always take care to see that my image file is read only.  Our image file is MyImage.001.  There are a variety of ways to approach an exam of shadow volumes, and this is mine at the moment.  I’m using VMware 8.x, but the steps are the same in 7.x.

I’m going to assume that readers have a modest grasp of VMware and Windows shadow volumes.  The next presentation features XWF more prominently, and I encourage readers to pick up a copy, as it’s benefits go far beyond the points that I’ll present.

Step One is to create a disk descriptor (vmdk) file, which is a text file that contains the disk geometry and image name.  Below is a screen shot of the contents of a Vista/Win7 vmdk file.  The yellow-highlighted fields are the ones that you will edit.  The first is the number of sectors on the physical disk.  Next is the name of your image file.  Then, skip the next (cylinders) field one and be sure that your heads=255 and sectors=63.  Then enter the number of cylinders by calculating <total sectors>/255/63.  It’s 19458 in our example, and always round up to the next whole number and do not use commas.  I usually place this file in the same folder as my image, where we’ll name this file MyImage.vmdk.

Here’s an editable copy of our vmdk file: MyImage.txt.  Save the file as a text file and then change the extension to vmdk for actual use.  It’s configured for VMware 8.x.  If you’re wondering where to get the number of sectors, an easy approach is to highlight the image in XWF and select the Technical Details Report from the Specialist menu:


Next, we’ll create a VM, so open VMware and elect to create a new virtual machine.  At this point, the following video will save some explaining:

This is what we do: Run VMware and create a new VM.  Select the Custom option in the first window.  Choose to install the OS later.  Next, choose the OS (32 vs. 64 is not critical).  Then, pick a name for the VM and a path for the VM files.  It’s best to place them in their own folder.  In the next couple of screens, choose one processor and a little more memory (2-4GB) than the default.  In the network box, select “do not use…”  You can add a network adapter later.  For the I/O adapters box, select LSI Logic (SCSI).  In the Select a Disk box, choose “Use an existing virtual disk.”  Next, navigate to your vmdk file (MyImage.vmdk).  Then click Finish, and you will have built a basic VM.   Now, take a Snapshot in VMware: VM\Snapshot\Take Snapshot.

In the next step, we’re going to edit the registry of our VM (we don’t do this in XP) and remove the password (keep EFS in mind).  We mount the VM as a logical disk in read-write mode (remember, we’re working with a snapshot and the image file is RO).  So, mount the system partition in VMware as writable.  Watch the video: 

As you saw, I loaded the VM’s System hive in my host’s registry.  I navigated to the current control set and then to HKLM\NEWSYSTEM\ControlSet001\Services\LSI_SCSI.  I edited the Start value (DWORD) so that it’s 0x00.  The 0 has the effect of starting the service at “boot” automatically by the system loader.  You can edit the other Control Sets, but it’s unnecessary.  Then I unload the System hive and shut down Regedit.

Next, we’ll deal with the user’s password.  I use a free tool named ntpwedit.exe,  (It’s in Russian, but you’ll figure it out.)  We’ll run ntpwedit and point it to the SAM hive in your mounted virtual disk and remove any password that you wish.  Note that you usually can boot a VM with Nordahl’s CD and do so, but it doesn’t always work.  Watch:

Now, the VM is ready to boot.  You may wish to fire it up to be sure that it runs, but create another snapshot first.  We want to but be careful about doing anything that could create a restore point, which could delete one or more existing restore points.  For example, installing VMware Tools will create a restore point.  Snapshots allow us to go back and recover a pristine system.  It’s a good idea to check the shadow volumes in your image and be sure that they all show up later with their proper dates when we examine them.  In our example, there are 19:




  1. Red Forman says:

    Hey Jimmy,
    Just tried this with a Windows 10 x64 image and turns out there is no registry entry for LSI_SCSI. I managed to get the VM created successfully starting with the VMDK modified to my VMWare version (12), and the following steps:

    New VM
    Hardware Version VMWare 12 (my version)
    Install OS Later
    Choose OS (Win 10×64)
    Name and location
    Firmware type EFI
    1 Processor 1 Core
    4GB RAM
    No Network Connection
    I/O Controller Types – LSI Logic SAS
    Virtual Disk Type – SCSI

    The rest was the same, except I didn’t need to mount or map the VM HD to change the registry, because Windows 10 has all of the LSI configured as Start=0 by default.

    I did have an issue when I started to try your original method though with permissions on the ‘config’ folder, and I wasn’t able to gain access to it using the ‘Map’ method. So I used FTK Imager and mounted the image Writable – Logical and went from there.

    Hope this helps out some of the others having issues with Windows 10.

    • jimmyweg says:

      Thanks, Red. Yes, the SAS controller is an alternative. Usually, there are two SAS controllers, and picking either should work. I’m not sure why you couldn’t access System32\Config, but perhaps Win 10 tightened up access somewhat. Yet, I can access the folder directly on my native system.

  2. Richard says:

    Anyone willing to share their copy of ntpwedit? The site to download it from is down. I’ve gotten to the point of booting and a login, don’t want to take the time to crack the SAM if I don’t have to. Thanks!

  3. Jason says:

    Using Workstation 11 on Windows 10, i can map the VM drive, however the drive is not displayed in RegEdit and Explorer gives me the error “not accessible. Incorrect function.” when i try to view the contents of the drive. Is this a limitation of Windows 10/Workstation 11? Any workarounds?

    Thank you.

    • jimmyweg says:

      Hi, Jason. I can tell you that my VMware 12 works fine on/with Win 10. I don’t think you’ve encountered a limitation.You didn’t give me much info. Are you working with an image? What type? What is the guest’s OS? Have you tried the approach using Arsenal image Mounter?

    • EC says:

      Make sure you take a snapshot before trying to mount it as read/write.
      I had the same issue, I kept getting “Not accessible. Incorrect function.” after attempting to mount the drive as read/write in VMWare and browse in explorer. It would mount fine as read only, no errors browsing. Once I did a snapshot it worked fine.

  4. Greg says:

    Good article, however I’m having trouble with the regedit. I can do the load hive, but the mapped drive doesn’t show up, the hard drive, a recovery partition, and my local drives do, just not the drive I mapped in VMware… I can’t boot that system as I believe it needs the SCSI to start up when the system boots.

    I’ve tried this numerous times, and still a no-go.


    • jimmyweg says:

      Thanks for writing, Greg. What is the guest OS? Is it GPT (I think it is)? How are you loading and editing the System/SAM hives if you can’t map the system partition? Try mapping the partition before and after the desired system partition. WMware seems to have an issue with mapping the selected partition on GPT.

      • Greg says:

        Imaging it’s GPT (windows 7 box I’m fairly sure), my host is windows 7. I can see the drive mapped to windows (a 455GB drive using about 120GB). Under advanced shows scsi.

        Now on my host I try regedit, file local hive( as in video). On left hand side, I still see my C drive, my USB drive, and now instead of Q (which is the image file that I wish to use), I see an 11GB recovery drive (different letter).


        • jimmyweg says:

          In VMware, how many partitions does it show when you go to map a volume? Post back a list with size and type.

  5. MacLuser says:

    Will this work for creating a VM of a MAC OSX .00001 image? If not, any suggestions?

    • jimmyweg says:

      OSX is an entirely new ballgame. I will tell you that I can create a VMware VM in Windows from an OSX dd image. However, there is at least a debate over whether doing so conforms with Apple’s licensing conditions. So, I haven’t posted instructions because I don’t want to take a chance on violating the license. I will say that it also requires a tweak to certain VMware system files, and I don’t know whether those edits will work in all versions. You can, however, build a VM in Fusion on a Mac.

  6. Steve Linn says:


    I have a 001 image that I am setting up

    In VMWare when selecting the MyImage.VMDK file I get the following error
    “the file specified is not a virtual disk”

    Here is my code for my VMDK

    # Disk DescriptorFile

    # Extent description
    RW 1953525168 FLAT “MyImage.001” 0

    # The Disk Data Base

    ddb.virtualHWVersion = “8”
    ddb.longContentID = “3dbffea22e044ddc2bb9220dfffffffe”
    ddb.uuid = “60 00 C2 99 79 81 fe 89-c6 64 c8 c2 19 93 b1 ea”
    ddb.geometry.cylinders = “121602”
    ddb.geometry.heads = “255”
    ddb.geometry.sectors = “63”
    ddb.adapterType = “lsilogic”

    • jimmyweg says:

      Let’s check the easies thing first: make sure that your image name in the vmdk is precise. Nxet, double check the geometry, e.g., number of sectors. I take it that your target is a single image file and not a mounted image. Let me know what you find.

      • Steve Linn says:

        I got a little farther along

        I changed text editor to Notepad++

        got my sector count from FTK Imager

        I was able to go through the entire process – mounting it to the Z: drive and editing the registry hive.

        I did not change the password because I did not need to — I know the password

        When I go to power on the machine I get the error “failed to lock the file…cannot open the disk E:\MyImage.vmdk or one of the snapshots it depends on.

        Module ‘Disk’ power on failed.

        • jimmyweg says:

          This error usually resolves with a host system reboot.

          • Steve Linn says:

            Little further along….
            Able to install the VM and open it in VMWare – however it says it cannot start normally. I tried to stop the VM and restart it – same issue — should I attempt to repair it?

          • jimmyweg says:

            You shouldn’t need to do a repair if the original system was working okay. First, choose “no” and see what happens. What OS is the guest?

          • Steve Linn says:

            The computer worked fine, it was a Win 7 x64

          • jimmyweg says:

            Then it has to boot in VMware if you correctly created the vmdk, edited the registry, and took a snapshot. Try to back to the first snapshot and boot. Don’t do a repair at that point.

  7. Kevin Chaney says:

    I keep getting this BSOD on every machine I try:

    Stop 0x0000007B

    Any ideas?

    • jimmyweg says:

      What OS is your VM?

      • Shelby Mertins says:

        I’m having this problem trying to boot to Windows 7.

        • jimmyweg says:

          If it’s the same issue that Patrick last reported, it seems to be a Windows issue. Try the repair. Does it boot to safe mode? I get that screen all the time and simply elect to start Windows normally. Go back to square one and make sure that you get the registry edited before your first attempt, in case something was corrupted when you first built the VM.

      • Matthew says:

        Hi Jimmy
        I keep getting Stop code 0x0000007B on boot
        My OS is Win XP.
        I suspect it cannot boot because I have not changed the appropriate setting in the registry. I looked and cannot find the LSI_SCSI key (probably becuase this is XP).
        Is there an XP version of this key I can change?

        Thanks in advance!

  8. Hannah says:

    Great article but I am having problems mapping the drive. I am using Workstation 10. It seems to map the drive but when I click on it, it says to format the drive. When I try to start the VM, I get a disk error. I can mount the dd and browse the folders using FTK Imager. Any ideas? Thx!

    • jimmyweg says:

      Perhaps your geometry is wrong. Check your vmdk file and be sure that the C-H-S settings are correct. H=255, S=63, C=Total Sectors/255/63. Your total (physical) sectors should be included in the file, too, of course.

      • Hannah says:

        [Drive Geometry]
        Cylinders: 60,801
        Tracks per Cylinder: 255
        Sectors per Track: 63
        Bytes per Sector: 512
        Sector Count: 976,773,168

        VMDK File
        # Disk DescriptorFile

        # Extent description
        RW 60802 FLAT “nt2935.001” 0

        # The Disk Data Base

        ddb.adapterType = “lsilogic”
        ddb.encoding = “windows-1252”
        ddb.geometry.cylinders = “1”
        ddb.geometry.heads = “255”
        ddb.geometry.sectors = “63”
        ddb.virtualHWVersion = “4”

        • jimmyweg says:

          First, remove the commas in your sector count number, and RW should be 976773168. The ddb.geometry.cylinders should 60801. Create a vmdk file that contains the following:

          # Disk DescriptorFile

          # Extent description
          RW 976773168 FLAT “nt2935.001” 0

          # The Disk Data Base

          ddb.adapterType = “lsilogic”
          ddb.geometry.cylinders = “608001”
          ddb.geometry.heads = “255”
          ddb.geometry.sectors = “63”
          ddb.longContentID = “4840d9972d5edd9f0f8a2f4afffffffe”
          ddb.uuid = “60 00 C2 9e 44 a1 15 1d-5d 9b 29 09 73 ce 10 47”
          ddb.virtualHWVersion = “10”

  9. Hi,

    Thanks for your excellent work and for sharing it!
    Just a quick question as you might have come across.
    I’m trying to write the System registry key as you said so, but on VMWare Workstation 8, when I try to map the partition as writable, got a Windows message saying it can’t open that drive letter.
    I’ve tried in VMWare Workstation 10, and I can map to a drive letter, but then I can’t open folder Config under Windows\System32, as says that I don’t have permissions. I tried of course to edit the permissions, but always get an error that can’t write.

    Have you ever came across something like it?


    • jimmyweg says:

      If you can map the volume as writable with VMware, it seems to be a permissions issue, as you noted. Win 8 can be a little fussier than 7. Have you disabled UAC? First try the normal way through Control Panel. If that doesn’t work, try HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System and set EnableLUA to 0x00. Note that you will be unable to use Metro Apps (so what).

  10. saintbin says:

    Hi Jimmy, may i got your need to boot from single dd image?
    1. i create a dd image from a system drive(logical drive) using ftk imager
    2. i create vmdk and VM according your posts step
    3. i load the VM system hive in my host’s registry and operated with your given method and removed the password use ntpwedit
    4. then i power on the VM, but the VM suspended on a starting but black screen. what’s the problem?

    can you help me ?

    • jimmyweg says:

      I don’t know about a black screen, and what do you mean by “VM suspended”? If you’re not even getting to Windows, there may be a problem with your target’s boot loader. Make sure you give it enough time, as it can be slow sometimes. What is the OS?

  11. saintbin says:

    Hi jimmmy, thanks to you that post a great blog.

    but ia have a question, can you tell me, how to loaded the VM’s System hive in my host’s registry and then how to navigated to the current control set and then to HKLM\NEWSYSTEM\ControlSet001\Services\LSI_SCSI?

    waiting you reply!

    • jimmyweg says:

      It’s in my posts, but mount your virtual disk after taking a snapshot. Mount it as writable. Then open regedit, and select load hive from the File menu, when your focus is on HKLM on your own registry. Navigate to the mounted virtual disk’s SYSTEM hive, select it, and give it a name. You should find the LSI_SCSI key in your mounted hive.

  12. Randy says:

    Thank you for taking the time to put together such helpful information! I am using VMWare Workstation 8 on a Windows 7 x64 host, and I created a VM from an E01 image of a Windows 7 machine.

    I was unable to map the virtual drive, and the vmware.log exposed the problem: “failed to open \\.\PhysicalDrive11 the physical disk is already in use”

    To solve this problem, I closed VMWare Workstation 8 and started it again running it “As Administrator”. It was a permissions issue accessing the physical disk, and running as Administrator fixed it.

  13. Johan S says:

    I solved it, I was not system admin. Thanks for a GREAT tutorial!

  14. Johan S says:

    Hi! Im stuck again. After mapping the “harddrive” with VM Ware as explained it shows in windows explorer, but it does not show in disk management and it does not show through regedit, so I can not choose the sytem file in it. I guess that some of my computer settings are not right. I would be wery happy if you could help me out again. Thanks for great information!

  15. Johan S says:

    Jimmy, I seem to be stuck on the piece to edit the registry. Where is the video located? I dont see links to it on this page.

  16. Alan says:

    I have the same problem as Diego. My image is a raw, dd image that opens fine in WinHex Specialist. I made changes to the number of sectors and to the image file name in your template. I saved the file as a vmdk. I do not think I made a mistake.

    • jimmyweg says:

      Hi, Alan. The “The file specified is not a virtual disk” error typically indicates a problem with your vmdk or an issue with your image. If you want to send the vmdk to me, email it to jweg mt. gov. In WinHex, click on the physical image and send the Technical Details Report, too, if available. Make sure that your vmdk file is in the folder with your image. Check that no commas are in any numbers, e.g., sectors. Double check that you named the image correctly in your vmdk. Check your math for number of cylinders.

      • Alan says:

        Thanks for the offer to troubleshoot it. I’ll send it to you. I double checked all that you suggested so I am hoping you can shed some light. BTW, I hate captchas.

        • jimmyweg says:

          Sent you an email. I also hate Captchas, but you can’t believe how many spam comments I was getting. I wish that there was an alternative, and I do use other blockers.

  17. Hans Marius says:


    Iam trying to bring up a machine from E01 file.

    You are using MyImage.001 in the vmdk file, but what should I type there when trying from an E01 file?

  18. Howdy! I just wish to give you a huge thumbs
    up for the great information you have got here on this
    post. I am returning to your blog for more soon.

  19. Brian says:

    Jimmy, what is required to get an XP image to boot up in the same manner? Thank you for your time.

  20. Diego says:

    I followed all steps with VMWare 8.x, but when I navigate to the vmdk file and click next I get the error: “The file specified is not a virtual disk”. I tried creating another VM and check the contents of the generated vmdk file, it contains some weird characters at the beginning and the end, but the file I made manually doesn´t. What could be the problem?

    • jimmyweg says:

      That usually means that your vmdk file contains an error or the wrong type of virual disk. Are you trying to create a vm from a dd image If you’re trying to create a VM from an E01 or mounted disk, you want to open the vmx file after you follow the steps in mypost on E01s.

  21. Brian says:

    Jimmy, I seem to be stuck on the piece to edit the registry. Where is the video located? I dont see links to it on thi spage.

  22. Phill says:

    How did you figure out that you have to modify the registry?
    And do you know why setting the registry key to 0 seems to get it to work?

    • jimmyweg says:

      First, Vista/7/8 VMs prefer SCSI disks. If you simply create one from scratch, SCSI is the default. As many have found, leaving an IDE drive in place usually results in a BSOD. IIRC, it’s a Stop 0x0000007B error, which should be a driver issue. It took a bit of testing and trial and error. The issue/conflicts doesn’t arise with a SCSI disk/drivers. But, the target system probably doesn’t use a SCSI disk, so it won’t load the driver at boot. Vista/7/8 include the LSI SCSI drivers, but we have to make them load at boot. All that takes is editing the driver’s Start value data to 0x00. Thereafter, the SCSI drivers will load at boot and the system will recognize your SCSI disk. Per MS, these are the available value data for Start values (summarized):

      0x0 Part of the (Boot) driver stack for the boot (startup), loaded by the Boot Loader.
      0x1 Represents a driver to be loaded (System) subsystem at Kernel initialization.
      0x2 To be loaded or started (Auto load) Control automatically for all startups,
      0x3 Load on Control but will not be started until demand, for example, by using the Devices icon in Control Panel.

  23. Good stuff Jimmy!

    I didn’t like having to modify the registry though so I used:

    ddb.adapterType = “ide”

    in the vmdk file to avoid it.


    • jimmyweg says:

      Thanks, Stephane, I’m glad you found my post useful. Typically, Win7/Vista in VMware like SCSI drives, and XP uses IDE. However, if your VM boots, it doesn’t matter. If you have to strip a password and you use my approach for that, you have to mount the disk and edit the registry anyway. Even if you boot with a password-stripper disc, it edits the SAM, too.

  24. Jason says:

    Great Job here! Thanks so much for the step by step guide. Very informative.

    Few questions.

    Following the guide from ‘Creating a VM from 01 Images’ I was able to get a Win 7 64bit image to boot, but only once. After I shut it down and restarted it I keep getting the BSOD. I tried deleting everything and starting over but still had the BSOD. Anything changing outside of the files created in target directory, like in the VMWare Workstation folder/files? Any other thoughts on this?

    Also in this post in the section about editing the registry of the mapped image it says ‘In the next step, we’re going to edit the registry of our VM (we don’t do this in XP)’ What do you mean ‘we don’t do this in XP’. Do I not edit the registry in host system if its XP or do I not edit the registry of a XP image?

    Thanks again!

    • jimmyweg says:

      >After I shut it down and restarted it I keep getting the BSOD.

      If it boots once, it should boot indefinitely, absent something that went wrong in the VM guest. If it BSODs again, don’t do anything until you mount the virtual disk and recheck the registry to be sure that the LSI SCSI Start=0x00. If it reverted back to its original state, perhaps try taking another snapshot after you re-edit the registry. Maybe you somehow set the disk to non-persistent, although I don’t think that you can do that.

      >Do I not edit the registry in host system if its XP or do I not edit the registry of a XP image?

      Correct, you don’t. XPs usually don’t come with the native LSI drivers, anyway. You build an XP VM with the standard IDE disk. Then, to get it to boot, you’ll have to do a Windows repair in mnost cases. I can do a post on that if you think it would help a number of folks.

  25. jbscarva says:

    Excellent. Thanks very much!!!!

  26. Nadine Haven says:

    Thanks for the amazing info. I find these posts have a lot of material. I can’t wait to get a chance to impliment all these great posts. Thank you very much.

  27. Outstanding work. Ditto Mr.O’Sullivan’s Comments. Bookmarking and sharing (if you don’t mind).

  28. William O'Sullivan says:

    Excellent article and explanation. Thank you!

Leave a Reply

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