|
发表于 2009-8-30 12:56:01
|
显示全部楼层
在网站上帮你找些文章 希望对你有帮助
很简单的 XP系统还在C盘的话,用不着重装的,去DOS之家下个“超级急救盘 优盘版” 做好启动盘后 开机前插入USB口 按F11 选择U盘启动 任何进MAXDOS 7.1 TOOL 进去后选最后那个什么2.0(名字没什么注意 我经常用它)进去那个什么什么2.0后 选择你所安装linux的那个盘,然后 - 工具 - 有一个把表面数据清零就OK那个使用一下就是了,就是清除什么AMR, 其他的不懂不要乱动 丢数据我可不管!
早上重装了XP
然后从UBUNTU的LIVE CD启动,通过如下恢复GRUB后:
sudo grub
find /boot/grub/stage1 //我这里反馈回来的是(hd0,9)
root (hd0,9)
setup (hd0)
quit
然后重启,从硬盘启动,GRUB启动后选择UBUNTU 7。04
然后出现了ERROR 17的错误提示:说是不能挂载所选的分区
按任意键回到GRUB主菜单,选择recovery mode 也出现ERROR 17 ,
memtest86+也是这样,
想想估计是重装XP后分区表乱了,然后就按e修改,把root (hd0,9)改成root (hd0,10),还是出现ERROR 17错误,
继续改,改成root (hd0,8),系统成功启动,进入系统后,修改menu.lst:
sudo gedit /boot/grub/menu.lst
把:
title Ubuntu, kernel 2.6.20-16-generic
root (hd0,9)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=bb0b700e-9d24-4e00-9e8c-eeeeaca5c06a ro quiet splash locale=zh_CN
initrd /boot/initrd.img-2.6.20-16-generic
quiet
savedefault
title Ubuntu, kernel 2.6.20-16-generic (recovery mode)
root (hd0,9)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=bb0b700e-9d24-4e00-9e8c-eeeeaca5c06a ro single
initrd /boot/initrd.img-2.6.20-16-generic
title Ubuntu, memtest86+
root (hd0,9)
kernel /boot/memtest86+.bin
quiet
里面的root (hd0,9)全部改为:root (hd0,8)
保存退出,重启,一个一个选择看了一下,全部都能正常启动了这次,没出现ERROR 17的错误提示了
呵呵
1.找一张带有grub4dos的虚拟启动盘,(如果找不到,email:tjb@tzc.edu.cn,我自己做的,5M),
2.记下linux安装路径,找到grub.conf里的引导linux的参数,记下来.自己机上没了,就参考别人的.
3.启动到虚拟dos下,fdisk /mbr,将mbr清掉.
输入grub,运行grub.将grub安装到mbr.copy 相应的stage到相应分区下.
修改menu.lst文件,将linux的引导信息拷贝到里面去.
重启.
=========
ps: 另一个方法,把grub4dos中的grub文件放在C盘下,再修改menu.lst文件也是一样的,只是启动过程变成了
windows ntldr==>grub===>linux or windows
这个方法更简单易行.
Ubuntu的安装确实比较方便,装好后就已经调整好 Grub 了 ,自动识别了Winxp,双启动了。不过为了从WinXP上腾出空间来给 Ubuntu ,在 WinXP上安装了个 PQMagic 分区大师,空出了空间安装新系统。安装了之后,在 WinXP里有次无意进了一次PQMagic ,再系统重新启动的时候,无法进入Grub了,启动就报错:
grub loading stage1.5
error 17
在另一台机器上搜索一下,使用了一张WinXP的 Ghost启动盘,到 DOS 下,使用了 Fdisk /mbr ,重新建了分区表,可以启动WindowsXP了 。
然后重新使用 Ubuntu Live CD,重新配置了Grub ,才正常了 。现在想起来,根本用不着使用Win-DOS 下的 Fdisk 命令重新建分区,直接配置Grub就可以恢复了 。
配置方法如下:
1)使用Ubuntu Live CD启动后,打开终端命令行
$sudo grub
$find /boot/grub/stage1
#find命令会返回一个值,比如(hd0,7)
$root (hdx,x)
#如果find命令返回的(hd0,7),这里你就root (hd0,7)
$setup (hdx)
#如果find命令返回的是(hd0,num),你就 setup (hd0)
如果提示ok、成功后,重启系统。
2)这时候启动到GRUB,选择UBUNTU菜单不要按回车,连按两下E(注意一定要两下,回车不好使,靠,不知道为什么,晕死,害得偶试了好几回),然后更改GRUB所在分区(菜单原来显示的一定出错,不是原来的分区),然后还是不能按回车(我再晕),按B键就OK了
3)进入系统之后还要改一下启动菜单,否则下回你还得改(当然如果你愿意的话,BT,无语,嘿嘿),
命令如下
sudo gpedit /boot/grub/menu.lst
然后自己改
grub error 17:无法挂载分区, 也就是Grub可以确认所使用的分区存在但是该分区上使用的文件系统无法被Grub识别
拿出Ubuntu的livecd,进入虚拟系统。
打开终端
$sudo -i
$grub
$find /boot/grub/stage1
#find命令会查找grub所在分区,返回一个值,比如(hd1,6),表示第一块硬盘,编号为6的分区
$root (hdx,x)
#root命令设定boot分区,如果上面find步骤返回的(hd1,6),这里你就root (hd1,6)
$setup (hdx)
#如果find命令返回的是(hd0,num),你就 setup (hd0)
如果提示succeed、表示重建grub成功。这个过程如果不了解hd和分区编号,可以执行sudo fdisk -l 来查看,会发现对于硬盘的编号从0开始,不同接口还会有hd和sd之分。而grub从1开始计算, 硬盘统一都是hd,不分什么hd和sd。
$quit
#退出grub
这个时候最好检查一下sudo gedit /boot/grub/menu.lst。确保linux的启动分区和windows启动分区是正确的,但是这里的硬盘编号跟grub不同,计数从0开始,但也统一都是hd。重启系统,Done。
分析:
grub出现问题一般都是系统的引导记录丢失, 比如你去重新安装了xp(一般重新安装linux不会有这个问题,会自动重建grub)。grub问题出现,首先要尝试恢复grub,而不是再次重装系统,或者fdisk/mbr |
|