因为Win7(Vista同理)的激活方式是通过grub摸你OEM的Slic信息,所以主引导分区MBR被这个grub占用,以此才能激活WIn7。但是如果想同时安装Linux在别的分区,就会产生问题:grub不能往MBR添加,否则会破坏Win7的激活。
网上有一些复杂的方法,但是要输入一大堆命令行。这里提供自己摸索的最简单的无需命令行的方法。
而且重装win7或者linux都可以很容易修复。
1、正常安装Win7到C盘,并激活。
2、正常安装Linux到其他分区,最后要求写入grub时,选择Linux挂载点为/的分区!这一步很重要,因为grub写入linux所在分区不会将MBR的grub覆盖!3、这时Win7可以正常启动,但是没有选项来选择进入linux。下载easybcd这个软件,现在最新的是EasyBCD_2.0_Beta_-_Build_60,越新越好。
4、打开easybcd,在add/remove entry里面,选择linux,Type选择grub,在Name添加上你想要的名字,随便写一个如archlinux,Driver选linux所在的分区。这里选择的分区要和刚才安装linux时grub安装的位置一致。可能分区号Partition X与linux安装时的不一样,这里就要通过硬盘大小来确定哪一个。最后add entry保存好,view settings就可以看到两个选项了,一个是本来的win7,一个是刚刚建的。
5、重启,完成。
最后说一下启动顺序,计算机启动,读取MBR的grub(包含了win7激活信息的grub),然后执行win7的bootmgr,显示win7启动引导菜单,这时可以选择加入的archlinux引导项,进入linux分区的grub(这是和MBR互不相干的另一个grub),通过这个grub来引导linux,同时这个grub也可以在linux中直接修改。
核心思想就是linux的grub安装到非mbr的分区中,然后通过win7的bootmgr连接到这个linux的grub。
重装Win7后,可以再次使用easybcd来完成修复linux的grub。
重装linux后,还是将grub安装到linux分区,Win7无需改变即可。
官方网址:http://neosmart.net/wiki/display/EBCD/EasyBCD+Documentation+Home
Win7激活后添加grub引导Linux最简单方法