2

I have a Ubuntu guest OS running on VMWare Workstation 12 on a Windows 10 host machine. Recently the guest OS became unbootable. I have a snapshot from a couple weeks ago, but I wish to recover the files in the unbootable VM, and so far I have been unable to boot from a Live DVD. Is there any way to access the guest OS, eg. some tool to mount the file system on Windows 10 host machine?

Thanks!

2

There are two relatively straightforward ways to do this. The first requires that you know the filesystem in use on the partition(s) that you want to access. I believe Ubuntu 16.04 will default to ext4, but you could have changed that to xfs, btrfs, even zfs if you did a custom install. If you created an LVM volume group or other customized partitioning / volume scheme than this approach will be far harder than the second option below.

Option 1

If you used one of the following filesystems on your partitions (ignoring swap): Ext2/3/4 ReiserFS, Reiser4 HFS, HFS+ FAT, exFAT NTFS, ReFS UFS2

Then download and install Disk Internal's Linux Reader

It will provide read access to the list file systems. If you have a different file system, things get tougher - and more 'experimental' - go to option two instead.

Once that is installed, run it, and select 'Drives' / 'Mount Image' / 'Containers' / VMware Virtual disks (*.vmdk) then click next Browse to the location of the .vmdk file for your ubuntu virtual machines hard drive, confirm it, and it will mount any partitions it finds in that vmdk that it can provide access to. They will be accessible through the Linux Reader GUI as well as in normal Windows Explorer.

Option 2

This option requires that you create a new Linux based virtual machine in vmware workstation. Use the distro of your choice - the fedora 24 beta is pretty sweet, or you could just use ubuntu 16.04. Regardless of your distro choice, install a standard VM, using entirely new settings / location - not in the same location or using the same name as the previous ubuntu VM.

Once that installation is totally complete, turn off the new VM (not suspend - powered down). On the VMWare Workstation Pro GUI, select the new VM in the list on the left usually - under My Computer in the VMWare window.

Then select 'VM' / 'Settings' You should be on the Hardware tab when the new window opens. Click 'Add', Select Hard Drive (usually is already selected), 'Next', 'Next' Again, then 'Use an existing virtual disk', and 'next'. Click the Browse button and browse to the vmdk file, select it, click ok, then finish.

Power up the new VM, and the your old Ubuntu disks will be available, although unmounted, to the Linux OS.

If you need assistance in mounting the drives in the Linux enviroment, let me know - it's straightforward - I don't know your level of knowledge and don't want to waste everyones time explaining what may be obvious to you.

Basically you want to determine how the drives got detected by the system, one simple method is to open a konsole and type ll /dev/sd* The old Ubuntu drive that is now new to the new VM will be a higher letter, likely /dev/sdb if you only had one HD in the VM previously. Each partition on the new drive will be mounted individually. You will need to create (mkdir) a mount spot for each partition, and as root, type mount /dev/sdb1 /path/to/your/new/mount/spot

This mounting scheme is temporary - you'd have to add entries to fstab (or perhaps ubuntu has a GUI based method) for it to persist.

One caveat - if you use LVM or brtfs to create volume groups, and it was a default option for both installs, they may have the same name and you will not be able to mount the new drive without renaming it. Seems unlikely with Ubuntu - it's typical with CentOS / RHEL.

If you need additional detail on the mounting in the VMs or something doesn't work just post where things stopped working. I actually did most of this (on win 10 with vmware 12 pro, Fedora 23 VM and a vmdk from a RHEL 7 VM), and didn't have any issues.

Note

If you have VMWare Workstation Pro 12, and I believe 10 or 11, you actually have tools built in to mount the drives. What VMWare doesn't provide is filesystem support - which is far more than half the battle. For WS 12, simply browse to your .vmdk file in windows explorer, right click it, and select 'Mount Virtual Disk'. You can then pick which partition you want to mount, and to which windows 'mountpoint' letter. It will then be available via windows explorer. Be careful though - if you don't have filesystem support, windows will helpfully recommend that you format it so you can use it. That's not going to work out well. There are a number of free utilities to add mostly read only access to 'linux' file systems; install one of those first for your filesystem and this method can also work. The Linux Reader approach is recommended simply because you can do it all with one tool.

1
  • Good answer! Disk Internal's Linux Reader was the only one that could mount a MacOS vmdk from Windows. – colin lamarre Jul 3 '20 at 17:41
0

https://superuser.com/a/424494/594423

I attempted to view my own f:\virtualmachines\ubuntu 64-bit.vmdk file contents using Window 7 disk mount and various other onhand tools but none are compatible - file system error mostly. I'm not surprised but was worth the 2 minutes to test.

The above linked solution, using vdk.exe looks promising but I have given up as the instructions for usage are more complicated than I have effort to try.

Good luck.

2
  • That link really overcomplicates what should be a straight forward process - maybe a bit time consuming at worst. I'm not sure what issues you are having, or why you are answering a question stating that you couldn't solve it yourself, but your issue could be resolved with one of the approaches I listed in my answer. – Argonauts May 17 '16 at 4:14
  • Sorry for answering without a self tested solution. It was a link to an already proven answer. I am unable to comment without enough reputation points, so answer is all I have access to. (Seems to me that a person should have 50 rep points in order to post an answer but be free to comment anytime) – Colin Fiat May 18 '16 at 2:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.