0

I updated to Windows 10 by backup everything from old the old Windows and then installed with a clean format; everything fresh.

I have a Debian 8.1 in Virtual Box, which was also saved completely; not only the disk image.

I install VirtualBox and start again that machine and surprise, Debian complains about not be able to find the root partition (not existing a partition with that UUID), drops into a small shell and refuse to boot.

I was suspecting that entries in fstab are not correct anymore, so I booted a live distro and check it out ... blkid report the same UUIDs as they are in fstab

So, what’s the catch?!?

In VMware I do not have this problem if I copy/move machines, reinstall VMware, etc., it will ask if is copied or moved and never had any problem like this.

P.S. Please do not mark this question as a dupe, I did read “What's the recommended way to move a VirtualBox VM to another computer?” and tried option 2 in this question I copied all the files, and put them in the right place. Again, booting a live Linux in that virtual machine I see the hard disk with the proper UUID.

2
  • 2
    If you have your own answer, you should add an answer below (self-answer) and mark it as accepted with the tick on the left. We take the Q&A format pretty seriously here - the solution should never go in the question, and there is no point adding "solved" to the title when marking an answer accomplishes it in a better and more consistent way.
    – Bob
    Sep 25, 2015 at 17:55
  • what Bob say is that for this site "Q&A format" is so serious that is more important that a clear answer, in proper CLEAR position (AT THE BEGINING) AND MOST OF ALL ... A SOLUTION, I have no intention to either add AGAIN my answer WITH THE SOLUTION at the bottom and to wait 2 days to mark it, and that after I didn't got a solution from someone else, so, good luck with your snobbish rules ! Sep 26, 2015 at 9:57

2 Answers 2

1

Well, I'd say you'd better export your VM (to the .ova container) before wiping off the host system and then import it later — VirtualBox can do that from its GUI.

But OK, back to your question... I recall that VirtualBox has separate "registry" for all the media your VMs use. IIRC, it's stored in an XML file somewhere under the current user's profile.

So, I'd start from opening that media-management window from the VBox GUI and made sure the Debian's disk actually exists and is known to the VBox media manager.

The next thing to check after that would be going to the VM's properties and making sure that media representing the VM's hard disk is available and has "OK" status.

If booting the VM after that fails, please do this: when presented with the GRUB (the Debian's boot loader) window during the early boot (post-BIOS), press e (or whatever it suggests — I never remember it) to edit the boot entry for your system — you'll be presented with the command-line passed by the boot loader to the kernel, and it contains the parameter named "root" (meaninig the root filesystem). These days, the argument to root contains some UUID-encoded device name, and so the whole thing looks something like

/boot/vmlinuz-3.2.0-4-amd64 root=UUID=2cb5a97c-75ab-4c8b-afd9-19297e3553bd ro single

You should replace that UUID=blah... part with /dev/sda1 to make it read something like

/boot/vmlinuz-3.2.0-4-amd64 root=/dev/sda1 ro single

and it will most probably boot just OK.

(Notice that the path to the kernel file, /boot/vmlinuz-3.2.0-4-amd64 is from mine system; on yours it might be different — don't mess with it, you should only touch the root= parameter).

Note that /dev/sda1 means the first primary partition on the first (SATA/SCSI) hard disk. If you have your root partition somewhere else, you has to figure this out. If you have no idea what's this all about, try 2, 3 etc until it works.

Once the system boots, run

# dpkg-reconfigure grub-pc

to reconfigure GRUB so it uses the correct device name for the root filesystem.

You might also need to fix the /etc/fstab file if the device's UUID has indeed changed. To do this, run

# blkid /dev/sda1

and replace the value of UUID in the appropriate fstab's entry by the one reported by blkid in the UUID value.

The number in that /dev/sdN should obviously match what worked for you as the root= parameter of the kernel.

1
  • thank you for interest, NO, IS NOT WORKING, and kinda obvious, how I say it is dropping me into a small shell, that means grub is working, I did modified /boot/grub.cfg, and /etc/fstab, right now it is obvious that the problem is in initramfs, and I may be able to run "update-initramfs" but I need to chroot into my system and that's a 8lTCH, but I'll try it, now Sep 25, 2015 at 17:34
0

If this message you get after moving the virtual machine and trying to start it up is something like this:

Failed to open the hard disk .

Cannot register the hard disk becuase a hard disk with UUID already exists.

Then go into the directory of your virtual machine; of course change the actual path to match the actual path you are going into:

cd /full/path/to/virtualbox/virtualmachine/Sandbox

And run this command to assign the disk a new UUID:

VBoxManage internalcommands sethduuid Sandbox.vdi

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .