我的ubuntu是用wubi安装的,今天准备搞android的ndk,所以把开发环境给配置了一下,jdk、android的sdk、ndk,还有eclipse,以及三百多个更新,全部安装好了,然后重新启动。结果发现,进不去鸟!!停在了grub引导符下。
不过请教了google大神之后,解决了问题。
最麻烦的一种方法,是敲命令,一大堆的命令。就在grub的引导符下,敲如下的一段命令:
#这里的hd0,是指第一块硬盘,后面的3是指第三个分区,根据需要改成自己的 ls (hd0,3) insmode ntfs set root=(hd0, 3) #这里得到的是当前分区的uuid,会在后面用到 ls $Boot #这里的[uuid]就是上面一句得到的uuid search --no-floppy --fs-uuid --set [uuid] loopback loop0 /ubuntu/disks/root.disk set root=(loop0) linux /boot/vmlinuz(然后按tab自动补全) root=/dev/sda3 loop=/ubuntu/disks/root.disk ro quiet splash initrd /boot/initrd.img(然后按tab自动补全) boot
另外一种方法,进入windows,在wubi的安装目录的install目录下,找找看有没有boot目录,没有的话,就新建一个,然后在boot里面新建一个grub目录,然后在里面创建一个grub.cfg文件,里面的内容如下:
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_lupin ###
#这里是最主要的#
menuentry "Ubuntu, Linux 2.6.31-16-generic" {
insmod ntfs
set root=(hd0,5)
search --no-floppy --fs-uuid --set 32e4a94be4a911e1
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz-2.6.31-16-generic root=/dev/sda5 loop=/ubuntu/disks/root.disk ro quiet splash
initrd /boot/initrd.img-2.6.31-16-generic
}
保存,重启进入ubuntu,标题会闪烁,下面有提示,按照提示,按e是编辑,按ctrl+c是进入命令提示符,按ctrl+e是执行。按下e,进行编辑,编辑的地方是上面的最后一段。主要是编辑分区的位置和uuid。这个时候可以按ctrl+c进入命令行,获取到这些内容,然后记下来,按esc返回此处,编辑好之后,ctrl+e执行,如果无误,则会正常进入系统。
还有一个很关键的问题,怎么知道安装wubi的盘的uuid是多少? 有一个方法,打开cmd,进入到安装wubi的盘符,比如d盘,然后输入dir,查看这个盘符的标签,把最后几个数字记下来,然后进入linux,输入ls (hd0, 然后按tab键,出现很多uuid,看哪个的uuid最后几位符合你刚才记下的字符串,那它就是目标分区。
本文介绍了一种通过命令行解决Ubuntu使用Wubi安装后在引导符下无法进入系统的办法,以及另一种方法是在Windows环境下修复grub引导记录。文章详细解释了如何在grub引导符下执行特定命令,以及如何在Wubi安装目录中创建grub.cfg文件来修复问题。
495

被折叠的 条评论
为什么被折叠?



