用户
 找回密码
 立即注册
搜索

XP/Vista双重启动时系统还原问题的终极解决方案

[复制链接]

98

主题

201

帖子

2596

积分

金牌会员

Rank: 6Rank: 6

积分
2596
发表于 2007-12-30 01:40:00
如果您的PC采用Windows Vista与Windows XP /2003双重启动的设置,那么,最头痛的也许便是Windows Vista的系统还原几乎完全失去意义的问题了:一旦启动进入Windows XP /2003系统,所有在Windows Vista自动或手工创建的系统还原点都会丢失,即便是通过Complete PC备份的镜像文件,Windows XP /2003也会将除最后一个版本外的其他所有备份均予以删除,也让许多人养成的定期备份的好习惯失去了效用 ——微软自己也建议用户至少每6个月运行一次Complete PC备份映像进行更新嘛,当然,不包括Windows Vista Home Basic 或 Premium ,那些版本不支持Complete PC——简言之,在双重启动的情况下,根本无法实现Windows Vista系统及应用数据能够“回滚”到先前的可用状态,除非使用Complete PC备份并把镜像文件保存在可移动存储器并保证在进入Windows XP /2003时这些可移动存储器未接入系统或使用只读介质如CD/DVD。
从技术角度看,这是由于Windows Vista中采用了与Windows XP /2003不兼容的存储管理机制,导致先前的Windows对这种新的磁盘存储结构不能正确识别而删除系统还原点/备份文件。听起来似乎并不是太大的问题, 我们也一直以为微软会以附加工具或更新的方式提供解决方案,但到目前为止,仍无这方面的消息,不知道是怎么回事。

从用户角度,如何解决这一问题则比较麻烦,我们先前在双重启动时Vista系统还原的问题及解决曾介绍过的方法现在看来在效果上存在问题,在多次测试中我们发现其似乎时灵时不灵 。除了那些之外,可以想到的另一种办法是使用BitLocker对Windows Vista所在分区或备份文件所在分区进行加密,这样,因Windows XP /2003无法读取加密后的分区,从理论上来说便无法删除系统还原点或备份文件。不过,BitLocker驱动器加密只存在于Windows Vista Enterprise 与 Ultimate 版中,对于大多数使用的Windows Vista Home Basic /Premium的朋友意义不大。
近日,NeoSmart介绍了解决这一问题的另一个思路,即通过隐藏Windows Vista所在分区,让其在启动 XP /2003时不可见,这样,同样也可达到让其无法删除系统还原点的效果——当然,如果备份文件存储于其他分区,也需将那些分区隐藏——下面详细介绍具体的实现步骤:
声明
  • 本技巧仅适用于高级用户!这类针对启动设置的操作存在着极大的风险,一旦操作不慎便极有可能造成您的系统无法启动,因此,进行具体的操作前请备份重要文件与设置,并准备好启动盘,以备硬盘无法正常启动时可进入系统修改硬盘启动分区根目录下的“\NST\menu.lst”文件;
  • 本文所使用的工具是我们先前曾介绍过的EasyBCD,其目前的最高版本为V1.6,虽然从理论上说完全能够实现下文介绍的功能,不过,在我们的测试中则始终存在问题,要么无法启动进入XP要么Vista报错,因此,我们使用的是V1.61,但这个版本不是正式的稳定版,会存在怎样的bug我们不敢保证。
  • 要实现预期中的效果,硬盘最好采用微软自家的Fdisk分区,而不是第三方工具。在我们的两台测试机中,其中一台当初为了省事而未使用Fdisk 分区的系统便出现了频繁报错甚至动辄无法进入系统的情况。因此,如果您的系统不是使用Fdisk分区的,最好不要轻易尝试。从这个角度,如果您是通过类似如何在预装Vista的PC上安装XP并设置双重启动?介绍的方法进行设置的,因很难确定PC厂商在预装系统前采用怎样的方式分区,不建议使用这个方法进行修改。
在XP/2003中隐藏Vista分区的设置步骤
  • 下载并安装EasyBCD(下载页面);
  • 运行EasyBCD,浏览至 “Add/Remove Entries” 窗口;
  • 删除其中存在的所有Windows XP /2003设置项,如下图示例中的“早期版本的Windows”,这样做的目的是为下一步要安装的NeoGrub Loader做准备,让其接管Windows XP/2003的启动;
  • 选择下方的 “NeoGrub” 标签,点击 “Install NeoGrub” 按钮,安装启动引导器;
  • NeoGrub安装完成后,点击 “Configure NeoGrub” 按钮,进行设置,这将启动文本编辑器对位于主引导分区根目录下“NST\menu.lst”进行编辑,输入的内容可参考下面我们使用的代码示例:
    # NeoSmart NeoGrub Bootloader Configuration File
    #
    # This is the NeoGrub menu.lst file, and should be located at C:\NST\menu.lst
    # Please see the EasyBCD Documentation for information on how to create/modify entries
    # http://neosmart.net/wiki/display/EBCD
    default 0
    timeout 0
    title Boot XP - Hide Vista
    hide (hd0,2)   # 隐藏VISTA分区
    # 如果需隐藏多个分区,重复相应的设置
    chainloader (hd0,1)/ntldr # 设置XP启动时使用主引导分区下的ntldr
    boot
    # 可选部分
    #  根据说明,这些语句实现启动时同时提供不加密Vista分区进入XP的选项,不过在我们的测试中没有成功
    title Boot XP - Unhide Vista
    unhide (hd0,2)   # 取消对Vista分区的隐藏
    # 如果取消对多个分区的隐藏,重复相应的设置
    chainloader (hd0,1)/ntldr # 设置XP启动时使用主引导分区下的ntldr
    boot
    对于这段代码的相关技术细节,我们将在下面详细说明;
  • 保存修改后的menu.lst文件;
  • 这时,切换到 “Configure Boot” 窗口,即可看到相应的启动项。如果愿意的话,您也可以显示名称从 “NeoGrub Bootloader” 修改为如下图所示的 “Windows XP - 隐藏Vista分区”;
  • 退出 EasyBCD ,重新启动系统,检查设置是否正确,以及在Windows XP下能否看到Vista分区。
如何修改menu.lst?
  • 首先,需要说明的是,上面代码示例中以“#”开头的行及行中“#”之后的部分为注释,如果您希望代码更简洁,可将其删除,我们在此处保留仅为说明方便。
  • 其次,示例中的 (hd0,1)、 (hd0,2)应根据系统的实际情况具体设置,设置的原则是系统中的第一块硬盘为hd0,第二块为hd1,分区序号则从“0”开始,依次类推。在我们例子中(hd0,1)即是指第一块硬盘中的第二个分区,而(hd0,2)则指第一块硬盘的第三个分区——当然,要引导系统,必须为主分区。
    为帮助朋友们更好地理解,请看我们的系统在磁盘管理器中显示的硬盘分区情况:
    可以看到,XP在硬盘的第二个主分区上而Vista则安装在第三个主分区——需要注意的是,虽然在我们的系统中XP分区前还存在一个47M的主分区,不过那个分区并不能引导——系统的主引导记录存在于XP分区上。
    当然,如果您实在不能确定应如何设置分区编号的话,也可在 EasyBCD 的 “Add/Remove Entries” 窗口中“Linux/BSD” 标签页中查看,如下图:
  • 至于hide、unhide命令实现的功能,从字面上看就一目了然,将相应分区隐藏/显示;而chainloader则是在启动Windows XP时,NeoGrub Bootloader将引导权转交给(hd0,1)分区根目录下的ntldr,以进入XP。
  • 如果存在多个需要隐藏的分区,则对相应分区重复hide/unhide设置。
  • 上面代码中的可选部分,用来实现让Windows XP引导时出现两个选项,分别为隐藏Vista分区与不隐藏Vista(之前双重启动的标准设置),根据说明,将Menu.lst中timeout 值设置成大于“0”的数字即可。不过,在我们的测试中,这一功能始终没有实现,可能与使用的EasyBCD 1.61为非正式版本,功能不够完善有关。
此解决方案的适用场景最后,要说明的是,上面介绍中虽然一直针对Windows XP 与 Vista的双重启动,不过,因Windows 2003与Windows XP引导机制相同,Windows Server 2008 与 Vista也是同一个性质的系统(尽管Windows Server 2008不支持系统还原,但其备份机制同Vista相同),因此,适用于多种“组合”,比如说 2003 与2008的双重引导。
使用道具 举报 回复
发表于 2007-12-30 12:32:43
图片大部分是X……
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则