Ubuntu 12.04 (Wubi) not starting - root.disk corrupted
Solution 1
Sometimes the root.disk
, the virtual partition that Wubi uses to boot, gets corrupted. This is a file that lives in the \ubuntu\disks\
directory. If Grub (inside wubildr
) cannot mount the root.disk
, it cannot show the grub menu (which is stored on the root.disk
) and then it just drops you to a grub prompt to await further instruction.
There is nothing you can do from the grub prompt until you've figured out the problem with the root.disk
and, odds are, there is NTFS
corruption. It's fairly common, for example, if you've performed a hard shutdown or reboot. In some cases, the reason isn't clear.
What you need to do is to run chkdsk /f
(or /r
) from Windows on the drive you installed Wubi. If you installed on the C:\
drive this will require a full restart.
To run chkdsk
on Windows 7 (the first checkbox corresponds to chkdsk /f
and the second to chkdsk /r
:
If prompted, restart the computer and boot into Windows to complete the chkdsk
making sure not to 'Hit a key' to abort it.
After that, check the ubuntu\disks\
directory to make sure the root.disk
is still there. In some cases, the ubuntu\disks\
directory itself is no longer present. If either are missing, you need to look for them as chkdsk
will often recover corrupted files/directories to hidden folders named \found.000
, \found.001
etc. These are hidden and protected OS directories by default (Windows 7) so they won't show up in Explorer. I find it easiest just to use the Command prompt.
To do this, right-click on CMD.EXE
and select "Run as administrator". Change to the drive the \ubuntu
directory is located on, and search for the hidden \found.???
directories.
e.g. if the root.disk
is missing, you're looking for a file > 5GB
in size. If you know what size your install was it helps. In this case, it's 15GB
C:\>dir /a:h
C:\>cd \found.000
C:\found.000>dir
Volume in drive C is OS
Volume Serial Number is B4B7-99A8
Directory of C:\found.000
19/07/2011 02:02 PM 15,000,000,000 file0000.chk
1 File(s) 15,000,000,000 bytes
0 Dir(s) 222,258,069,504 bytes free
C:\found.000>move file0000.chk \ubuntu\disks\root.disk
1 file(s) moved.
If the whole \ubuntu\disks
directory is missing, you're looking for a directory named dir0000.chk
, and inside that you'll find the correctly named root.disk
and swap.disk
, so you can just move the directory back in place:
C:\>cd \found.000
C:\found.000>dir
Volume in drive C is OS
Volume Serial Number is B4B7-99A8
Directory of C:\found.000
19/10/2012 04:51 PM <DIR> .
19/10/2012 04:51 PM <DIR> ..
19/07/2011 02:02 PM <DIR> dir0000.chk
0 File(s) 0 bytes
3 Dir(s) 222,258,069,504 bytes free
C:\found.000>dir dir0000.chk
Volume in drive C is OS
Volume Serial Number is B4B7-99A8
Directory of C:\found.000\dir0000.chk
19/10/2012 04:51 PM <DIR> .
19/10/2012 04:51 PM <DIR> ..
24/02/2012 12:22 AM <DIR> boot
06/11/2012 09:28 AM 13,000,000,000 root.disk
15/11/2011 09:28 PM 268,435,456 swap.disk
2 File(s) 13,268,435,456 bytes
3 Dir(s) 127,904,968,704 bytes free
C:\>move dir0000.chk \ubuntu\disks
1 dir(s) moved.
Recovery isn't guaranteed in all cases depending on the extent of corruption. Note that the root.disk
may be correctly in place before running chkdsk
and then be removed after running it.
Reference: http://ubuntu-with-wubi.blogspot.ca/2011/08/missing-rootdisk.html
Solution 2
I had a similar problem, but it wasn't wubi. It was with a dual boot install of ubuntu. The following helped me:
Booting From grub
This is how to set the boot files and boot the system from the grub> prompt. We know from running the ls command that there is a Linux root filesystem on (hd0,1), and you can keep searching until you verify where /boot/grub is. Then run these commands, using your own root partition, kernel, and initrd image:
grub> set root=(hd0,1)
grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1
grub> initrd /boot/initrd.img-3.13.0-29-generic
grub> boot
The first line sets the partition that the root filesystem is on. The second line tells GRUB the location of the kernel you want to use. Start typing /boot/vmli, and then use tab-completion to fill in the rest. Type root=/dev/sdX to set the location of the root filesystem. Yes, this seems redundant, but if you leave this out you'll get a kernel panic. How do you know the correct partition? hd0,1 = /dev/sda1. hd1,1 = /dev/sdb1. hd3,2 = /dev/sdd2. I think you can extrapolate the rest.
The third line sets the initrd file, which must be the same version number as the kernel.
The fourth line boots your system.
On some Linux systems the current kernels and initrds are symlinked into the top level of the root filesystem:
$ ls -l /
vmlinuz -> boot/vmlinuz-3.13.0-29-generic
initrd.img -> boot/initrd.img-3.13.0-29-generic
So you could boot from grub> like this:
grub> set root=(hd0,1)
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot
Source: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux/
Related videos on Youtube
user106237
Updated on September 18, 2022Comments
-
user106237 over 1 year
I have Ubuntu 12.04 installed through Wubi on my laptop. For some reason when i click on Ubuntu on start up (when you have to either select windows or Ubuntu) I get the following screen, the grub cursor keeps flashing.
Gnu grub version 1.99-21 Ubuntu 3.4 Minimal bash-like line editing is supported. For the first word, tab lists possible command completions. Anywhere else tab lists possible device or file completions. grub>
Could you tell me what I can do to fix this problem and to start Ubuntu normally?
-
user106237 over 11 yearsHi, i found root.disk (it was already there in the folder) but it was a 0kb file. So I rebooted and I get the same error. So; 1 - What should I do next? 2 - How could I still access the my saved files from ubuntu (if its not working)? 3 - If I want to uninstall and reinstall ubuntu, will that fix the problem? Many thanks.
-
bcbc over 11 yearsIf
chkdsk
cannot fix the file then you can't access it to retrieve any data. Reinstalling will 'fix' your problem, but it completely wipes out the previous install so it's the last resort when there's no hope of recovery. -
user106237 over 11 yearswould it be possible, to access my files that are within ubuntu through windows?
-
bcbc over 11 yearsYou can access files from Windows using ext2read.blogspot.com if you have a good
root.disk
. But if it's showing as0KB
then... seems like it's pretty corrupted. In that case you might have better luck trying a raw data recovery tool likephotorec
. -
Arslan Ali about 9 yearsThanks @bcbc. Really thanks. It worked for me after a one-day-trouble-shooting.