我安装系统时(见http://www.linuxidc.com/Linux/2011-07/39074htm),有过以下一系列步骤:
(1)重新分区
(2)安装RedFlag到第一分区
(3)安装XP,不小心将XP安装到C盘,即第一分区
(4)重启系统,进入RedFlag安装的grub引导的命令行
(5)重新格式化整块硬盘,再按先前一样分区
(6)安装XP到C盘
(7)重启系统,再次进入RedFlag安装的grub的命令行
网上很多朋友都说安装Windows时会覆盖MBR,但是根据我的记录显然并非如此,否则(4)不会出现。至于(7)的出现,我在查看很多资料后,也只能有一个勉强的解释。以下是我考虑的几个问题。
1,整张硬盘格式化是否会格式化MBR?
MBR中有分区表,而分区信息在格式化后还会用到,所以不会格式化MBR。
2,Windows 安装是否会自动覆盖MBR?
(1)使用Ghost装XP时不会自动覆盖MBR。一般5块钱一张的系统盘都是通过Ghost装的。
(2)用Windows原版系统盘装会覆盖MBR。 // 没试过
3, grub 安装的位置?
grub 安装到mbr 的话,
通常由3个部分组成:
(1), MBR 内
(2) MBR后第一个分区前到空隙里放部分数据
(3) 分区内的MBR文件
按理说我的操作现象(7)不应该出现的,我只能提出如下一个解释:
(1)一般硬盘高级格式化,就是磁盘表面重新划分扇区和磁道。格式化磁盘并没有覆写原来grub区域的数据。
(2)我当时删除分区,建立一单个分区,格式化后,重新划分的分区和删除分区以前完全一样。MBR中分区表经过变动后,和以前又完全一样。
(3)用Ghost装的XP,MBR没有被覆盖。即依旧提供一个指向grub的地址值。
这样才导致(7)的出现。
网上朋友认为应该先装XP再装Linux,我想除了安装Windows有可能覆盖MBR外,以下两点应该也算优势:
(1)XP安装盘WINPE一般默认将系统安装在C盘,如果我们现装Linux时并没有将第一分区空出,而又让XP默认安装的话,会造成覆盖。
(2)后安装Linux,grub会自动将XP的引导加入。而如果后安装XP,则需要手动加入。
(3)不将XP安装到C盘,可能需要修改XP的boot.ini文件。而且以后备份系统时会有一定的麻烦。