linux & xp 双系统 重装的问题

我参考的文章:http://blog.sina.com.cn/s/blog_409d0ddb0100bmnj.html

* 重装 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 。
原文地址:https://www.cnblogs.com/alamps/p/1677931.html