关于MBR, Grub 的几个问题


我安装系统时(见http://www.bkjia.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文件。而且以后备份系统时会有一定的麻烦。

相关内容