* 重装 xp
linux & xp 双系统 重装 xp 后,linux 的 grub 就不起作用了,通过以下步骤可以在启动时重新显示 grub 界面:
* 进入 xp 系统
* 从 http://download.gna.org/grub4dos 下载 grub4dos 文件,应该是个压缩包;
* 文件夹选项中设置显示所有文件和文件夹;
* 解压 grub4dos 压缩包,将 grldr,grub.exe,menu.lst 三个文件放在 c盘 根目录下(如果没有c盘,找那个有 boot.ini 文件的盘)
* 找到 c盘下 的 boot.ini 文件,取消其只读属性,在最后加上:Start with GRUB4DOS
* 重启电脑,启动界面选择 Start with GRUB4DOS ,选择 enter command line
* 输入 find /boot/grub/stage1 ,可以看到类似 (hd0,5) 的结果,下面就以 (hd0,5) 为例
* 输入 root (hd0,5) 回车,注意 root 后有个 空格
* 输入 setup (hd0) 回车,主义 setup 后有个 空格
* 输入 reboot 重新启动
* 重启后可以发现已经是 grub 界面了,爽了;
*
* 测试下 linux 和 xp 系统是否都能成功进入,linux 应该肯定没有问题,如果xp提示无法启动,则有可能是重装 xp 时,分区改变了,按下面的进行修正;
* 如果xp是因为分区改变导致无法通过grub启动,则按照如下步骤修正:
* 进入 linux 系统,我下面是以 ubuntu9.0.4 desktop 为例的;
* 打开命令行,转换为超级管理员身份,依次执行命令:
cd /boot/grub
cp menu.lst menu.lst.bak
vi menu.lst
编辑 menu.lst 时,注意找 对应着 xp 的 “title” 5个字母,我的如下:
# on /dev/sda1
title Microsoft Windows XP Professional
rootnoverify (hd0,1)
修改 (hd0,1) 为 (hd0,n) 其中 n 是你的xp对应的分区,如果你不知道自己xp所在的分区,可以多实验几个直到从grub能启动xp,如果一直都不行,那可能不是分区的问题,是其它什么问 题;
*
*
*
* 重装 linux
重装后应该没什么问题,还是从 grub 启动;
====================================================================================================
重装xp后恢复ubuntu引导
(2009-01-15 18:32:03)安装 ubuntu 之后因为种种原因需要重新安装 xp ,这样就会将硬盘的 mbr (主引导扇区)覆盖,导致 ubuntu 无法启动,网上对于这种情况提供了很多解决办法,但是有些复杂。经过参考网上的一些资料,以及自己的实践,提供给大家两种最简便的方法:
准备:
1. 下载 grub4dos 文件,http://download.gna.org/grub4dos/ 将 grldr 、 grub.exe 、 menu.lst 三个文件放在 C 盘根目录下
2. 打开我的电脑,选择工具 -> 文件夹选项 -> 查看 -> 选中显示所有文件和文件夹
3. 将 c 盘根目录下的 boot.ini 文件只读属性去掉,在最后加上 c:\grldr="Start Grub4Dos" ,保存
4. 重新启动计算机,进入 ”Start with GRUB4DOS”
方法一:
进入 ”Start with GRUB4DOS” 后,可以看见一个 “find and boot Linux with menu.lst already installed” 的选项了,选择它,就会自动去搜索机器上的 ubuntu ,然后选择 ubuntu 就可以正常启动 ubuntu 了
优点 :什么都不用做,简单方便
缺点 :每次都需要系统去搜索 ubuntu 所在的分区,不能一劳永逸
PS :关于那个 “find and boot Linux with menu.lst already installed” 的选项,其实是搜索磁盘里面的 ubuntu 分区,如果每一次进入都搜索分区未免有些多余。所以我们可以在进入 ubuntu 以后把 /boot/grub/menu.lst 文件拷贝到 c 盘根目录下,这样进入 ”Start with GRUB4DOS” 就不用在检测 ubuntu 的分区了。
方法二:
进入 ”Start with GRUB4DOS” 后,可以看见一个 "enter command line" 选项,选择它输入 root (hdX,Y) ,如果不知道 x 是多少先输入:
#> find /boot/grub/stage1
根据返回的具体结果再输入,我机器的返回结果是( hd0 , 2 ):
#>root (hd0,2)
执行成功之后,最后输入:
#> setup (hd0)
重启,可爱的 GRUB 启动栏又回来了!
优点 :不用每次都搜索硬盘
缺点 :需要敲两三条命令
PS : root 和( hd0,2) 之间是有一个空格的, setup 和( hd0 )之间也是有空格的。 root (hdX,Y) 中的 hdX 的这个 X ,是硬盘数,从零开始,如果是一个硬盘就是 hd0 。 Y 是根所在的分区,像我安装在 2, 这个 Y 就用 2 。
准备:
方法一:
方法二:
#> find /boot/grub/stage1
#>root (hd0,2)
#> setup (hd0)
重启,可爱的 GRUB 启动栏又回来了!
优点 :不用每次都搜索硬盘
缺点 :需要敲两三条命令
PS : root 和( hd0,2) 之间是有一个空格的, setup 和( hd0 )之间也是有空格的。 root