Ubuntu 12.04(Wubi)无法启动 – root.disk已损坏

我在笔记本电脑上通过Wubi安装了Ubuntu 12.04。 出于某种原因,当我在启动时点击Ubuntu(当你必须选择windows或Ubuntu时)我得到以下屏幕,grub游标一直闪烁。

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> 

你能告诉我我能做些什么来解决这个问题并正常启动Ubuntu吗?

有时, root.disk (Wubi用来启动的虚拟分区)会被破坏。 这是一个位于\ubuntu\disks\目录中的文件。 如果Grub(在wubildr )无法挂载root.disk ,它就无法显示grub菜单(存储在root.disk ),然后它会让你进入grub提示等待进一步的指令。

在你找到root.disk的问题之前,你无法从grub提示中做任何事情,而且可能性有NTFS损坏。 例如,如果您执行了硬关机或重启,这是相当常见的。 在某些情况下,原因尚不清楚。

您需要做的是在安装了Wubi的驱动器上从Windows运行chkdsk /f (或/r )。 如果您安装在C:\驱动器上,则需要完全重新启动。

在Windows 7上运行chkdsk (第一个复选框对应chkdsk /f ,第二个复选框对应chkdsk /r

Windows7上的chkdsk

如果出现提示,请重新启动计算机并启动进入Windows以完成chkdsk ,确保不要“点击密钥”以中止它。

之后,检查ubuntu\disks\目录以确保root.disk仍然存在。 在某些情况下, ubuntu\disks\目录本身不再存在。 如果缺少任何一个,你需要查找它们,因为chkdsk经常会将损坏的文件/目录恢复到名为\found.000\found.001等的隐藏文件夹。这些是隐藏和受保护的OS目录默认情况下(Windows 7)所以他们不会出现在资源管理器中。 我发现使用命令提示符最简单。

为此,请右键单击CMD.EXE并选择“以管理员身份运行”。 更改\ubuntu目录所在的驱动器,并搜索隐藏的\found.??? 目录。

例如,如果缺少root.disk则需要查找大小为5GB的文件。 如果您知道安装的大小有多大帮助。 在这种情况下,它是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. 

如果缺少整个\ubuntu\disks目录,那么你正在寻找一个名为dir0000.chk的目录,在里面你会找到正确命名的root.diskswap.disk ,所以你只需将目录移回地点:

 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  . 19/10/2012 04:51 PM  .. 19/07/2011 02:02 PM  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  . 19/10/2012 04:51 PM  .. 24/02/2012 12:22 AM  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. 

在所有情况下都不能保证恢复,具体取决于腐败程度。 请注意,在运行chkdsk之前, root.disk可能已正确就位,然后在运行之后将其删除。

参考: http : //ubuntu-with-wubi.blogspot.ca/2011/08/missing-rootdisk.html

我有类似的问题,但它不是五笔。 这是ubuntu的双启动安装。 以下帮助我:

 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 

资料来源: http : //www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux/