梅龙镇好逛吗:WIN7XP双系统和ThinkPad一键恢复

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 06:50:24

WIN7XP双系统和ThinkPad一键恢复


2010-07-22 17:43:59    其他 |  评论(0) |  浏览(435) WIN7XP双系统和ThinkPad一键恢复

    X200到手已经有几个月,花了一个多月时间才把WIN7启动管理和Think一键恢复搞清楚,其间想走捷径确实走了

不少弯路,后来就一直搞U盘启动装系统,又走了不少弯路,结果还是回到原点。再想做一键恢复时竟然把当初搞

一个多月的东西忘了。还是写文字记下来踏实。。。。
    Windows 从Vista开始用新的启动管理器,比以前XP的NTLDR复杂得多,当然功能也强大,只是不太方便,和

GRUB4DOS相比简直是太不方便了。但是它是系统自带的,用它也是不可避免了。Windows提供了一些工具,BCDEDIT

对启动管理数据库进行创建修改编辑,BCDBOOT用来在新盘上创建BOOT文件,BOOTSECT用来切换系统盘的引导系统(

XP或Vista),也就是更改为对应的MBR和BOOT。在BCD数据库里每个启动项都有一个随机生成的唯一标识符,这是很

长的一串字符,中间由“-“相连接,要修改哪个项就要找对应的标识符。但似乎WIN7和RAMDISK启动加载项比较特

殊,手动创建不行,需要用PE的原BCD和系统盘的BCD。但是可以在这个BCD里建ramdisk的复制项,再改device

osdevice项,修改对应的路径。例如: ramdisk=[boot]\tvtos\winpe.wim,{7619dcc8-fafe-11d9-b411-

000476eba25f} 改为 ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f},只能改文件

名和路径,后面一长串{}里的不可改,就可以从U盘上分别启动不同的PE。使用BCDBOOT可以在这个BCD基础上添加

WIN7的启动加载项,就可以从U盘启动C盘WIN7系统。要启动XP就要在BCD手动创建一个NTLDR启动项,NTLDR作为一个

已知的启动加载项,可以直接用{ntldr}来标识和调用。增加device和path子项就可以启动对应盘上的XP系统。
    ThinkPad一键恢复在兼容机上一直在用,所以想在X200上也想如法炮制,结果越搞越麻烦。X200装的是WIN7,

水货所以没有一键恢复,那就只好自己做了,从LENOVO网站下了ThinkVantage 应急与恢复系统(R&R 4.30.0027)

(Windows 7)装上,做备份,一键恢复就有了,很简单的东西,找经销商得收200大元。但是我想跟以前一样,单独

分一个区做备份,可以启动可以隐藏。R&R4.3是不管哪个分区均可启动还原系统,系统分区也可以,而且不会隐藏

备份分区,它的这种默认方式不是我想要的。还得自己动手。找到bmgr.exe,bmgr32.exe,bootmgr.bin备份下来。
    
    首先要准备一个PE启动盘,U盘最好,可以把TVTOS加进去。再重做硬盘分区,水货机没有光盘,所以驱动和一

键恢复的备份一定要先做好,R&R的TVTOS就是Windows PE 3.0,复制安装R&R时生成的TVTOS目录到U盘上,如上生

启动项就可以从U盘启动TVTOS,备份文件很大只能用移动硬盘了。因为要装WIN7和XP双系统,分区仍就用MBR分区,

再加一个备份分区,并且要三个分区都能独自启动,就要分三个主分区。MBR只能分四个主分区,但四个分区是不够

用的,第四个主分区只能分成扩展分区了。WIN7和XP为NTFS格式,备份分区因为要启动DOS,只好是FAT32了。先用

TVTOS恢复第一个分区的WIN7系统,然后将其隐藏,激活第二分区,安装XP系统,完成后,再激活第一个分区,启动

WIN7,从第二分区上复制NTLDR、BOOT.INI和NTDETECT.COM到第一个分区,用BCDEDIT添加NTLDR启动加载项,devcie

子项为partition=c:,path子项为\ntldr,description子项为Windows XP professional,重启选择Windows XP

professional就可以启动XP。如此最大的好处是启动哪个系统,哪个系统所在分区就是C区,另外的主分区就会自动

成为最后一个分区。

    然后就是做备份分区了,这个分区要启动的项比较多,WINPE、TVTOS、DOS、ERD2005和WIN7、XP,做起来比

烦琐。WIN7的bootmgr不支持DOS启动(也有可能我没搞明白),还是要借助XP的NTLDR来启动,这就需要FAT32的BOOT扇

区文件。先用DOS启动盘引导,SYS到备份分区,只有一个FAT32的话,就是C盘。这时的MBR是DOS的,所以需要用PE

再引导一下用BOOTSECT还原为WIN7的MBR。启动机器进WIN7,以管理员权限运行WinHex,打开硬盘,选择备份分区,

复制第一个扇区的内容另存为BOOTSECT.DOS。如果有别的盘FAT32 BOOT扇区文件就不用这一步了,用现在分区的BPB

换掉旧文件的BPB表就可以了。
    DOS的引导文件做好后,需要再用BOOTSECT把备份分区的BOOT改成WIN7的BOOT,这一步直接在系统里做就可以,

不用重启机器。
    1、WINPE启动:复制WINPE启动文件到备份分区;
    2、TVTOS启动:BCDEDIT复制ramdisk启动加载项,如上修改device和 osdevice添加TVTOS启动项。复制做一键

恢复时产生的TVTOS,preboot目录和所有备份文件到分区。
    3、DOS启动:复制XP系统分区的NTLDR、NTDETECT.COM、BOOT.INI到分区。BOOTSECT.DOS复制到boot目录。
    4、ERD2005启动:建立文件夹MININT,将ERD2005系统i386目录里的文件全部复制到文件夹,在txtsetup.sif文件里找到SetupSourcePath = "\"改为SetupSourcePath = "\MININT",并将setupldr.bin复制为根目录下的$ldr$。用WinHex编辑$ldr$,将所有$WIN_NT$.~BT替换为MININT,长度不够十六进制部分以0填充,不能插入或删除字符。(这一步费了很多时间才找到这个方法,以前只做过FAT16的ERD2005启动)
    5、WIN7启动:用BCDBOOT为BCD添加启动项,检查子项,不对的地方参照WIN7系统的BCD修改。
    6、XP启动:BCDEDIT创建NTLDR启动项,如上步骤。
    7、修改BOOT.INI文件,内容如下:
[Boot Loader]
Timeout=0
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[Operating Systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin

/fastdetect
C:\boot\bootsect.dos="Microsoft MS-DOS 7.1"
c:\bootsect.dat="ERD Commander 2005"

    系统都准备好了,最后要完成的就是一键恢复了。激活备份分区,重启机器进入DOS。label改备份分区卷标为

IBM_SERVICE,执行bmgr /fbootmgr.bin /bs /think,水货那也是ThinkPad,所以加了think,那个蓝键菜单里才有F11选项。
奇怪的是这个命令不能隐藏分区,做完后重启按F11试一下,应该可以启动到备份分区。再进WIN7,以管理员权限运

行CMD,执行bmgr32 /hs就可以隐藏备份分区了,此时千万不要加参数/fbootmgr.bin,每加一次这个,就往0柱0头1

扇至63扇写一遍BOOT信息,每次bmgr32会自动寻找空的扇区写,直到把63个扇区写满。如果提示说没有找到LENOVO

MBR就用WinHex清理1-63扇区再重写,千万注意清理时把bmgr备份的MBR重写回1扇区,通常2扇区就是备份的MBR。或

者用软件做好MBR备份再清理。老的bmgr不支持WIN7,会导致WIN7无法启动,XP能启动无法进桌面。但直接激活XP系

统分区启动是可以的。

    如此这般,任何一个系统出问题都无所惧了。写在这里以备自查,有需要的朋友可以参考。