tmsdsp 于 2008-11-04 00:05:59发表:
我的看法仅供参考,我不敢保证全部正确,无论如何,请事先备份重要数据。而且是双份。备份到其他人的计算机上,或U盘,移动硬盘等。
首先应该弄清楚你的硬盘具体分区情况。这一点可以在XP下右击我的电脑,点 管理,然后看磁盘管理来实现。
也可以在Linux下用fdisk -l来查看。
我只知道一种普通情况。主分区是C盘,其它的Windows盘和Linux都在逻辑分区上,多数人都是这种情况。你在Linux之前加分区,分区号就会变化,假如linux原先是sda9,现在就会变成sda10,而menu.lst文件里写的还是sda9,这是错误之一。
还有更重要的,我估计你装Linux时象一般人那样写了mbr,mbr中指向的是sda9,所以,找不到menu.lst,出现grub提示符。
解决的方法可以分两步。(不过你别接着做,先练习一下grub命令再说。)
首先重建grub。
假如你的linux原先在sda9,现在在sda10,那么,你在grub下输入
root (hd0,9)
setup (hd0) 本句可能会有麻烦,因为修改了MBR
就会重写mbr了,然后,你用Linux光盘启动,使用sudo gedit 命令来编辑Linux下的menu.lst文件,把里面和启动Linux对应的 root (hd0,8)全部改成(hd0,9)
应该就可以启动了。
实际上,你可以事先练习一下。在你能用Linux时,把/boot/grub/menu.lst打印出来,然后新建分区,出现grub后,把第一个title下的几条命令输入一下,命令很长,你要有耐心。另外,在输入时,(hd0,8)改成(hd0,9),然后输入一个boot命令,看能否启动Linux。
还有,在出现grub后,你可以先试一个更简单的,输入以下三条命令
root (hd0,0)
chainloader +1
boot
看能否启动Windows。也可以试一下以下两条命令,看能否启动Windows.
chainloader (hd0,0)+1
boot
我的看法仅供参考,我不敢保证全部正确,无论如何,请事先备份重要数据。而且是双份。备份到其他人的计算机上,或U盘,移动硬盘等。
[本帖最后由 tmsdsp 于 2008-11-4 06:29 编辑]