已经明确的是,用户拥有的Vista Enterprise/Ultimate SP1版中附带的BitLocker功能需要引入引导过程中的“信任链”平台验证,结果会导致非微软的引导器被安装至MBR时,Vista将无法启动。
至于这是否就意味着Vista SP1必须独霸一块硬盘,我是相当怀疑的。Vista自身附带了一个多重引导器,就算不能通过GRUB/LILO引导Vista,反向引导Linux应该没有问题。为了验证这一想法,我在一台已经安装了Vista SP1的笔记本上创建了如下磁盘分区用于测试。
Disk /dev/sda: 250.0 GB, 250059350016 bytes
240 heads, 63 sectors/track, 32301 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 4163 31472248+ 7 HPFS/NTFS
/dev/sda2 4164 32301 212723280 5 Extended
/dev/sda5 4164 11099 52436128+ 7 HPFS/NTFS
/dev/sda6 11100 19424 62936968+ 7 HPFS/NTFS
/dev/sda7 19425 30523 83908408+ 7 HPFS/NTFS
/dev/sda8 30524 32301 13441648+ 83 Linux
此磁盘分区结构从开始安装Linux到安装完成、能正常使用都一直保持上述状态。
先在/dev/sda8这一逻辑分区上安装CentOS5。值得注意的是GRUB引导器安装时选择定制高级选项和安装到/dev/sda,随后选择安装到/dev/sda8而非MBR,其他的安装步骤与平常并无不同。其他发行版本类似处理即可。
完成后CentOS暂时是不能引导的。下面回到Vista中,打开命令行执行:
bcdedit /create {ntldr} /d "Earlier Windows OS Loader"此时应该提示此条目已存在或创建成功。此时并不需要从旧的XP中复制ntldr文件
下面需要的是grub4dos中的两个文件:grldr.mbr和grldr。将它们复制到C:\
再创建文件 C:\boot.ini
--------------------
[boot loader]
timeout=0
default=C:\grldr.mbr
[operating systems]
C:\grldr.mbr="Start CentOS Now!"
--------------------
总结一下,现在C盘根目录下多了3个文件: grldr.mbr grldr boot.ini
重启动机器,多了Vista引导菜单,选择其中的"Start CentOS Now!"。/dev/sda1中的grldr找不到配置文件,第一次只需选择 find /boot/grub.conf,便能顺利从/dev/sda8上引导进入CentOS,下次就会自动选择此项。如果你安装Linux分区结构不同,比如单独为/boot提供分区,就需要选择 find /grub.conf。