ubuntu升级之后启动不了的解决

来源:互联网 发布:数据存储单位db 编辑:程序博客网 时间:2024/05/01 12:22

我的ubuntu是用wubi安装的,今天准备搞android的ndk,所以把开发环境给配置了一下,jdk、android的sdk、ndk,还有eclipse,以及三百多个更新,全部安装好了,然后重新启动。结果发现,进不去鸟!!停在了grub引导符下。

    不过请教了google大神之后,解决了问题。


    最麻烦的一种方法,是敲命令,一大堆的命令。就在grub的引导符下,敲如下的一段命令:

Shell代码 
  1. #这里的hd0,是指第一块硬盘,后面的3是指第三个分区,根据需要改成自己的  
  2. ls (hd0,3)  
  3. insmode ntfs  
  4. set root=(hd0, 3)  
  5. #这里得到的是当前分区的uuid,会在后面用到  
  6. ls $Boot  
  7. #这里的[uuid]就是上面一句得到的uuid  
  8. search --no-floppy --fs-uuid --set [uuid]  
  9. loopback loop0 /ubuntu/disks/root.disk  
  10. set root=(loop0)  
  11. linux /boot/vmlinuz(然后按tab自动补全) root=/dev/sda3  
  12. loop=/ubuntu/disks/root.disk ro quiet splash  
  13. initrd /boot/initrd.img(然后按tab自动补全)  
  14. boot  

 

     另外一种方法,进入windows,在wubi的安装目录的install目录下,找找看有没有boot目录,没有的话,就新建一个,然后在boot里面新建一个grub目录,然后在里面创建一个grub.cfg文件,里面的内容如下:

Shell代码 
  1. if [ -s /boot/grub/grubenv ]; then  
  2.   have_grubenv=true  
  3.   load_env  
  4. fi  
  5. set default="0"  
  6. if [ ${prev_saved_entry} ]; then  
  7.   saved_entry=${prev_saved_entry}  
  8.   save_env saved_entry  
  9.   prev_saved_entry=  
  10.   save_env prev_saved_entry  
  11. fi  
  12. if [ ${recordfail} = 1 ]; then  
  13.   set timeout=-1  
  14. else  
  15.   set timeout=10  
  16. fi  
  17. ### END /etc/grub.d/00_header ###  
  18.   
  19. ### BEGIN /etc/grub.d/05_debian_theme ###  
  20. set menu_color_normal=white/black  
  21. set menu_color_highlight=black/white  
  22. ### END /etc/grub.d/05_debian_theme ###  
  23.   
  24. ### BEGIN /etc/grub.d/10_lupin ###  
  25. #这里是最主要的#  
  26. menuentry "Ubuntu, Linux 2.6.31-16-generic" {  
  27.     insmod ntfs  
  28.     set root=(hd0,5)  
  29.     search --no-floppy --fs-uuid --set 32e4a94be4a911e1  
  30.     loopback loop0 /ubuntu/disks/root.disk  
  31.     set root=(loop0)  
  32.     linux /boot/vmlinuz-2.6.31-16-generic root=/dev/sda5 loop=/ubuntu/disks/root.disk ro quiet splash  
  33.     initrd /boot/initrd.img-2.6.31-16-generic  
  34. }  

     保存,重启进入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最后几位符合你刚才记下的字符串,那它就是目标分区。