因為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這個軟體,現在最新的是1.72,應該是越新越好吧。
[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無需改變即可。