感谢支持
我们一直在努力

Vista SP1可以与Linux共存

附文:《Vista SP1不支持Vista/Linux双启动》


前微软已经承认,当用户拥有Vista Enterprise/Ultimate和Linux双系统,且Linux的引导被安装至MBR的情况,在升级Vista至SP1版时会遇到麻烦。


据悉微软的SP1补丁包KB935509具有新版的bootloader,在升级SP1时,原系统中的bootloader可能已经被开源版的 bootloader程序所取代,例如Grub.目前微软已经解释了该问题出现的原因,Vista SP1补丁包中包含了BitLocker功能的更新,更换开机引导程序bootloader的目的是为了让系统能在引导时加载驱动器加密和 BitLocker技术.


目前更新SP1时“信任链”平台的完整启动顺序如下,首先从机器上的TPM芯片读取信息,然后通过MBR和操作系统进行引导.而双启动的情况下,Vista中的Bootloader如果被替代,系统完整性检查会失败,该SP1安装也会失败,同时系统也将无法正常开机.


微软技术顾问Michael Kleef解释说:“BitLocker不仅关系到加密和系统验证,也关系到数据的完整性.BitLocker按照顺序进行检查,如果它发现了一些不匹配的东西,它将拒绝系统分区将导致Vista崩溃无法启动。


对于用户来说,如果Linux和Vista分区安装到同一个驱动器,用户必须恢复Vista的Bootloader然后才能进行SP1升级.如果操作系统不是在同一块硬盘,那么问题就小的多,用户只需要在BIOS中改变硬盘开机顺序即可.


另外,Vista SP1安装失败并不取决于你是否打开BitLocker特性,只要操作系统安装了BitLocker你就避免不了这种情况.默认情况下,也只有Vista Enterprise和Ultimate两个版本自动安装了BitLocker特性,所以,目前仅有这两种操作系统的用户会受到影响.

值得注意的是,可以配置/dev/sda8上的grub引导菜单,通过下面的方式返回Vista引导器,能继续Vista的引导过程。


——————–


title Return to Vista Boot Menu


rootnoverify (hd0,0)


chainloader +1


——————–


可见就算Vista的引导比较受限,多重引导Linux仍然是可行的。那些给出不支持双启动标题的文章,估计会误导不少Linux的潜在用户。不管你怎么看待,我认为那是相当不责任的,甚至是恶意的。


另一个值得关注的Vista多重引导问题是磁盘分区表,所有的Vista都受到影响。


简单来说就是Vista的磁盘分区工具会创建与以前所有操作系统不兼容的分区表,分区与分区之间的间隙被增大。混合Vista的分区和旧有风格的分区(与分区上文件系统无关)可能会导致分区丢失、分区重叠等严重的数据丢失问题。


如果要多重启动,就一定不要使用Vista系统附带的工具分区,包括磁盘管理和安装界面上的分区工具。可以在Vista安装前用第三方工具分好区给Vista使用,也可以在Vista上使用第三方工具(如Acronis Disk Director Suite)分区,但在Vista系统之外调整Vista系统分区将导致Vista崩溃无法启动。

大家可能从网上看到一则类似于《Vista SP1不支持Vista/Linux双启动》的文章,本文后面附了一份原文供参考。


已经明确的是,用户拥有的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:\
http://www.linuxidc.com/Linux/2009-01/18027.htm


再创建文件 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。

赞(0) 打赏
转载请注明出处:服务器评测 » Vista SP1可以与Linux共存
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏