用ubuntu有好些年月了,不过一直是Win+Ubuntu共生于我的电脑中,虽然一直希望能完全依靠Ubuntu,可工作和生活从目前来看,我还是离不开Win,之所以双双共用了,所以也就产生了这个话题的讨论!\n言归正传,例举2种经常产生grub引导问题出现的情况。\n1、最最常见的就是重装系统后,原来的grub引导就不复存在;\n2、更改硬盘的分区,特别是系统盘,包括Win主分区、Ubuntu系统分区;\n解决办法:(以下方法主要来自网络,本人只依据自己的实验结果,总结起来,方便各位参考!方法简单多样,对高人是不齿一提,但对那些碰到这样问题选择重新安装系统的抓狂的新人来说,我想还是可以借鉴的!)\n办法1(重新安装Win后,导致Ubuntu不能引导启动。)\n可以采用LiveCD 启动Ubuntu,之后就在Ubuntu下操作。\n打开终端:\n# 切换到root权限\nubuntu@ubuntu-laptop:~$ sudo -i\n#找你ubuntu10.04所在分区\nroot@ubuntu-laptop:~# fdisk -l\n看到的信息(我的,🙂):\nDevice Boot Start End Blocks Id System\n/dev/sda1 * 1 4544 36498624+ 7 HPFS/NTFS\n/dev/sda2 4545 19457 119788642 f W95 Ext’d (LBA)\n/dev/sda5 4545 11097 52635936 7 HPFS/NTFS\n/dev/sda6 11097 11409 2499584 82 Linux swap / Solaris\n/dev/sda7 11409 13055 13227008 83 Linux\n/dev/sda8 13056 19457 51424033+ 7 HPFS/NTFS \n\n(******)下面挂载原系统的根目录:\n新建挂载点:mkdir /media/tempfile(这里用于创建一个文件夹tempdir,用于挂载刚才的sda7,此文件夹名称你可以依个人爱好而定,没有太多要求)\n挂载Ubuntu所在的盘:\nmount /dev/sda7 /mnt(将sda7挂载于tempdir文件夹下)\n下面进入了本次恢复最为关键和激动人心的时刻,在终端输入以下命令:grub-install –root-directory=/media/tempdir /dev/sda(本步骤用于来重新安装grub2到硬盘的主引导记录【MBR】里面,十分关键!)输入以后如果出现“Installation finished.No Error Reported.”字符的时候,就表示操作成功了。但是现在只成功的一半,还有以下操作才能够完全成功。这时重新启动你的电脑,就能看到grub2的引导界面了,但是这时只能用来引导Ubuntu10.04,还暂时无法引导Windows 7,这时选择进入10.04,再找到并启动终端,在终端输入如下命令:sudo update-grub2按照提示输入密码,如果顺利的话,会出现如下类似语句,那就表示成功了。\n\ngrub.cfg …Found Debian background: moreblue-orbit-grub.png\n\nFound linux image: /boot/vmlinuz-2.6.31-15-generic\n\nFound initrd image: /boot/initrd.img-2.6.31-15-generic\n\nFound memtest86+ image: /boot/memtest86+.bin\n\nFound Windows 7 (loader) on /dev/sda1\n\ndone\n\n\n如果没有出现以上类似语句的话,那就在新立得里面搜索grub,可以安装带有Ubuntu标志的那个grub-pc,安装之后,再输入sudo update-grub2更新一下grub2就可以了。(本部分呢来自:http://huanyue.javaeye.com/blog/582450,谢谢作者!)办法2(Win分区改动,导致Ubuntu不能引导启动。)\n开机启动,就可能会出现:error:unknown filesystem\nrescue:_\n这个画面让人无奈,我看到很多人采用格盘,然后全部重新安装,太费时费力费心了,还有费感情。\n出现这种情况,其实很大部分是系统文件完好,就是启动的grub出错了!我们可以完全容易修复!推荐Grub rescue模式rescue\n\n模式下可使用的命令有:set,ls,insmod,root,prefix(设置启动路径)ls –\n\n列出分区ls (hd0,8)/ –\n\n查看(hd0,8)分区根目录找到grub目录,然后继续\n\ngrub rescue>root=(hd0,x)grub rescue>prefix=/boot/grub –(grub\n\n的目录)grub rescue>set root=(hd0,x)\n\ngrub rescue>set prefix=(hd0,x)/boot/grub\n\ngrub rescue>insmod normal\n\ngrub>normal\n\n ——–若出现启动菜单,按c进入命令行模式\n此时出现熟悉的grub启动画面,这时可以进入心爱的Ubuntu系统了。进入之后可以在终端,参考(******)部分。如此时提示你出现MBR错误,或者重启后,还是不能解决问题,那么可以就继续下面的步骤吧!当这种情况修复过程首先,采用光盘启动系统,最好是WinPE,里面带PTDD工具,具体可以网络上寻找,很容易的!\n启动WinPE,可以看到熟悉的脸庞,打开PTDD(程序—管理工具,一般会与PQ在一起,呵呵,找吧!),提示出错,那么就自己看吧,一般都是点确定就是了!启动PTDD,然后对Win,Ubuntu的系统盘的MBR重建!退出PTDD,重启,就可以看到Win就正常启动了。\n到此为止,那么就剩下来又参考上面的方法来修复Grub2好了祝你成功![b]情况就这么个情况,事情就这么个事情,主要是还是自己稍微动点脑筋,多想想办法,分析一下出现的问题,对症下药,别动不动就格式化,重装系统,不必要!!!\n经验不足,有什么问题,建议参考Google,Baidu!条条大路通罗马!!!
\n
\n最开始是win7和ubuntu10.10双系统共存,grub启动。后来重装了win7,就只能进win7,进不了ubuntu10.10,下面到是修复grub的过程:(希望对和我遇到相同情况的人有所帮助)\n注:我的机子配置的是SATA硬盘1块,\n分了“ / ” 根分区和 /home 分区,根分区 “/” 分区在 /dev/sda6\n我有张ubuntu10.10的系统盘,启动光盘选择“试用而不安装”,进入后打开终端:\n(和我一样菜鸟的要注意命令之间的空格)\n1. sudo -i\n2. mount /dev/sda6 /home/ubuntu/mnt\n解释:mnt是我建的一个文件夹。mount指令是挂载分区,后面的/home/ubuntu/mnt可以自己更改位置,此处是挂载根分区\n3. mount /dev/sdaX /home/ubuntu/mnt/boot\n这一步是有给 /boot 单独分区的命令,若没单独分区跳过这步\n4. grub-install –root-directory=/mnt/ /dev/sda\n5. 重启\n6. 我的机子重启后就进了grub界面,但没进grub菜单,所以又有下面的步骤,在grub>提示符下输入:\n7. find /boot/grub/core.img (若boot单独分区则:find /grub/core.ima)\n此命令会得到个结果:(hdx,y)\n8. root (hdx,y)\n9. kernel /boot/grub/core.img\n(boot单独分区则:kernel /grub/core.img)\n10. boot\n执行该命令后就转入到GRUB菜单,此时选择进入Ubuntu\n11. 在ubuntu下启动终端\n12. sudo grub-install /dev/sda\n此命令用作修复grub,\n经过上面的步骤就最终恢复到原来的双系统。希望能对和我一样菜鸟的人有所参考~~~最开始我也试过用 root(hdx,y) setup(hdx) 这种安装方法,在网上查了下,好像GRUB2.0不支持这种方法了。
\n