设为首页收藏本站

51ibm

 找回密码
 立即注册

搜索
51IBM北京现货机型报价51精品二手机报价

常用软件资源汇总

Thinkpad国际保修查询联系地址,购机流程,售后须知
图文热点
    查看: 3980|回复: 1
    打印 上一主题 下一主题

    [转帖] 对IBM ThinkPad 隐藏分区系统的分析

    [复制链接]

    0

    主题

    645

    帖子

    1577

    积分

    VIP用户

    Rank: 5Rank: 5

    积分
    1577

    自由勋章金牌VIP勋章

    QQ
    跳转到指定楼层
    1#
    发表于 2005-2-24 15:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

      在得知IBM的ThinkPad 不再随机附带恢复光盘,而是将恢复的内容放置在硬盘内,不仅有些失落。当初想如果硬盘出现故障,岂不是很不爽?!就算修理,也没那么快拿回来工作。另外我喜欢使用WIN2K Server系统,对于原机带的WIN XP PRO实在没有胃口,就萌发了自己动手做恢复盘的念头。
      刚开始,使用的是重新安装,然后再压包处理,刻在光盘上。可一想也挺麻烦,不禁佩服IBM的工程师把恢复放在隐藏分区内了。于是动手分析隐藏分区内的内容。兴许可以自己做个隐藏的WIN2K 恢复系统呢!J 抽工作不忙的情况下搞了几次,终于发现了这其中的奥秘,请跟我来:

    一、准备工作

    1.工具准备

      首先准备以下工具:Norton Ghost2002、MSDOS启动盘(98SE版)、EasyRestore 4.0和台式机(与笔记本联网)、文本编辑软件(我用EditPlus)。需要注意的是台式机的硬盘空间需要保持在4G左右,起码C盘要保持在4GB,因为在提取相关内容时,临时文件产生交换需要很大的空间。

      如果您想更深入的理解,请找一份OS/2的系统盘。因为笔记本的隐藏区分是使用的OS/2的隐藏分区格式系统。使用磁盘工具可以看到类型为: OS/2 hidden Manager

    2.系统备份

      备份笔记本系统、隐藏分区系统。全部使用Ghost2002,防止误操作损坏系统。将备份文件转到台式机当中。

    3.释放gho包

      释放隐藏分区的GHO包到临时目录。
    二、开始分析

    1.批处理分析

      首先我们打开临时目录,可以看到目录内这几个文件:

    临时目录

      ibmwork 此目录内只有一个文件,作用未知

      mfg 目录内为恢复光盘的标签和封面

      pcdr 这是IBM附送的PC-Doctor

      recovery 这就是系统主恢复目录

      autoexec.bat

      config.sys

      … 其他文件(系统启动、支撑、DOS工具、恢复用批处理文件等)


      
      使用IBM ThinkPad 的朋友都知道,开机后显示IBM Logo时,出现F11可以恢复系统,其意义在于隐藏分区通过BIOS系统支持其启动。BIOS将操作权限交给硬盘,启动文件修改分区表来激活隐藏分区达到启动目的。所以在隐藏分区内可以看到类似win98启动盘的文件目录。这些都是必须的。

      首先系统通过autoexec.bat和config.sys 来启动恢复整个系统。先让我们看看Config.sys 内的内容:



      在这里所指的C:是隐藏分区,而非您的系统XP使用的分区C盘。由图2可以看出Config.sys 为系统启动所需要的内容。我们再看Autoexec.bat的内容:



      Autoexec.bat 当中出现了我们需要的内容。行1-行4为环境设置,行6注释了行7 。行7当中出现的DSR_INIT.BAT似乎在本系统内没有发现,由此我猜测可能在原C区或者系统启动时自动释放出的文件。由于不存在,所以批处理不会运行这个文件。
      在行13中出现了 Localle.bat,这是一个本地化恢复程序的批处理。



      Locale.bat内容


      CC 国家代码 US 美国 在这里指语言、键盘等为英语。

      行13中的DRIVER.BAT则是设置驱动环境:



      上图表示设置了光驱驱动和虚拟磁盘空间。

      Autoexec.bat的重点在于:行15-行23,其中描述了如果RECOVER.BAT文件不存在,就去寻找并运行RECOVOLD.BAT文件,注意这两个文件是我们分析的重点部分。一般来说这两个文件应该都存在于隐藏分区的跟目录下。

      由于这两个文件都比较长,所以我将其注释部分删除,只保留程序运行部分的内容:



      RECOVER.BAT

      行1,这里为设置恢复目录路径,带有行6中使用RECOVER.EXE的参数/P。行2--行4 环境设置。

      行6为恢复系统主程序。行15为系统信息,使用PC-Doctor的DOS显示,供恢复系统使用。

      行18运行PCDR程序。下面的内容 *中间是后来加的注释。

      REM DIAG.BAT
      IF NOT %RAMD%.==. %RAMD% ***虚拟空间***
      IF %CC%==JP CHCP 437 *** CC是国家代码, JP=日本***
      IF %CC%==CS CHEV /F *** CS =中文简体***
      IF %CC%==CT CHEV US /F > NUL *** CT =中文繁体, ***
      rem IF %CC%==KR CHCP 437 *** KR =韩国***
      SET COPYR=/S
      %DRV%\
      CD \PCDR
      %DRV%\PCDR\PCDR.EXE
      CD \
      IF NOT %RAMD%.==. %RAMD%
      IF %CC%==JP CHCP 932
      IF %CC%==CS CHEV /F
      IF %CC%==CT CHEV TW /F > NUL
      rem IF %CC%==KR CHCP 949
      %DRV%

      行21 为制作IBM F11恢复盘,只有一句主要内容:

      %DRV%\RECOVERY\loaddskf %DRV%\RECOVERY\rrdisk.dsk a: /y/q

      行24 是制作PC-Doctor DOS盘。按照提示,可能需要2-3张软盘。

      行27 关闭磁盘缓存写保护,并不显示系统信息,但隐藏分区中没有这个文件。

      行30 作用不名,从文件名看应该为某些配置安全程序。

      RECOVOLD.BAT 比RECOVER.BAT 做了一些修改和简化,其中一些批处理的内容直接体现在了这个文件当中。





      RECOVOLD.BAT
    2.主恢复文件分析

      前面分析完批处理得到结果,主程序为:%DRV%\RECOVERY\RECOVER.EXE 参数为:/SP,参数/S 为不显示版权信息,/P 为设置查找文件的安装路径,在图6当中第一行使用了这个参数。

      下面再看一下这个目录里的类型:

      包里有三种主要文件: SCR、IMZ、CRI,其中:

      SCR 是RECOVER.EXE的配置文件,比如:recovcs.scr 是中文的恢复菜单配置文件,而recovus.scr 则是英文的配置文件,包含了36种语言的配置。他的使用则依靠在批处理Locale.bat当中设置的 CC 国家代码来区别使用(recovxx,scr xx 是CC代码),当然如果你有兴趣,可以进入隐藏分区修改CC为CS,这样系统启动后恢复系统将显示为中文(指非大陆行货)。

      IMZ 是使用pkunzip压缩的带有密码的压缩包。

      CRI 是对应每个IMZ的一些设置,在这个文件当中,详细的描述和配置了每个IMZ的解压缩方法,包含的文件,系统类型,OS类型,以及解压缩密码等。



      一个CRI的例子

      上图包括了RECOVER.EXE 调用pkunzip 解压缩IMZ文件和复制文件的过程,并且包括对文件的校验。由于内容很多,只截取了上半部分内容。

      需要注意的是,pkunzip 的使用方法如果单独拿出来使用是解不开压缩包的,这说明了图片内的密码是需要经过RECOVER.exe转换的密码。J (IBM这招够黑的,当时费了我不少劲)

      在这当中分析发现,RECOVER.EXE 其实只是一个外壳,真正解压缩的就是pkunzip。

      继续分析后找到一个比较大的IMD包,这引起我的怀疑,释放他后,同样查找这个包的CRI文件,发现真正使用PQER (EasyRestore)做的包。在我的笔记本下,这个包的名字叫:CM00BUS.IMD,大约有450MB左右。通过CRI配置文件发现这就是XP的主程序包,也就是说正版的XP系统就是这个包,但这个包内并不完整,一定还有另外的压缩包有其文件,查找得到:

      CKD041A.IMZ
      CM00BUS.IMD --这里面有启动系统,通过相同文件名,后缀为cri可以看到包内文件。
      CKD013A.IMZ
      2GNAT1A.IMZ
      0KD006A.IMZ --注册信息应该存放在这个包的ibmworks当中。他还有个自动安装的脚本。
      在0KD006A.IMZ当中有这么一行:

      mverify.file=.\I386\$OEM$\$$\SYSTEM32\OEMINFO.INI 1707 Sep 17 10:02:21 2001
      XP的CD-KEY就放在这个文件内。

    CM00BUS.CRI文件内容:
      [Module]
      ModuleName=CM00BUS.IMD -- 目标文件
      ModuleThis=CM00BUS.CRI
      ModuleType=Partition
      ModuleSize=449314816
      PartNumber=
      HWPartNumber=
      Type=OS
      Family=OS
      AppLang=US
      LangSupported=US
      OS=XPPRO ? 操作系统
      SPLevel=Beta
      FileSystem=FAT32 -- 分区格式
      TargetPart=C: -- 目标分区
      IncludesExtra=
      Description=US Windows XP Professional Gold Base -- 使用英语的范围都用这个包
      Source=Windows XP OPK
      Version=
      HardwareCheck=
      ModelCheck=
      Stage=GOLD
      Password=HURRICANES -- 被Recover.exe 转换过的密码
      BootType=WNTIBOOT
      RecoveryCD=YES
      ServicePartition=YES
      [Module End]
      [Install]
      ...

    [Verify Xfer End] -- 校验部分
      mverify.version=1.00
      mverify.module.file=.\CM00BUS.IMD 449314816 Aug 26 09:42:10 2001
      mverify.module.file.crc=AB9E
      mverify.sbr.map=0,0,11
      mverify.sbr.map=0,90,422
      mverify.sbr.map=1,0,484
      mverify.sbr.map=2,0,512
      mverify.sbr.crc=470A
      mverify.file=.\IO.SYS 118784 Jun 08 10:00:00 2000
      mverify.file.crc=ACA9
      mverify.file=.\MSDOS.SYS 78 May 18 10:53:06 2001
      mverify.file.crc=BBE9
      mverify.file=.\COMMAND.COM 92992 Jun 08 10:00:00 2000
      mverify.file.crc=C381
      mverify.file=.\CVTAREA.TMP 524288000 Jun 26 09:38:26 2001
      mverify.file.crc=F2E9
      mverify.file=.\I386
    -- 从这里开始就是原装正版的XP
      mverify.file=.\I386\12520437.CP_ 843 Aug 18 05:00:00 2001
      mverify.file.crc=9966
      mverify.file=.\I386\12520850.CP_ 885 Aug 18 05:00:00 2001
      mverify.file.crc=F725
      mverify.file=.\I386\1394.IN_ 1721 Aug 18 05:00:00 2001
      mverify.file.crc=18F8
      mverify.file=.\I386\1394BUS.SY_ 28558 Aug 18 05:00:00 2001
      mverify.file.crc=F923

      另外解这个包用到了: stdout=PQDI.EXE /log=pqdi.log /err=pqdi.err /img=!F(%ModuleName%) /cmd=pqdi.scp /pwd=!E(%Password%) /NRB /I24

      目前的疑问: pqdi在哪里?我想只有实际的去做一下才可能知道。由于我的系统已经完全重新安装了WIN2K,所以一些信息都无法再去查询,只能使用恢复再去做了。

      Recovery目录内有几个scp文件,那是pqdi或pqer的配置文件:
      SELECT DRIVE 1 -- 选择第一块硬盘
      SELECT PARTITION 1 ? 选择第一个分区(应该是C盘)
      DELETE -- 删除这个分区
      SELECT FREESPACE FIRST ? 选择剩余分区(如果有两个,就选择第一个,应该就是刚才删除的那个C区)
      SELECT IMAGE 1 ? 隐藏分区
      RESIZE IMAGE PROPORTIONAL -- 没看明白
      RESTORE -- 释放文件
      SELECT PARTITION 1 -- 选择分区(刚建好的C盘)
      SET ACTIVE -- 激活,使其可启动
      SELECT PARTITION "XPOINT_BASE" -- 没看明白
      UNHIDE ? 去掉隐藏标记

      由此可见,在恢复前必须得将原有数据资料备份,否则只有哭份了。

      以上所有的操作都将只是一种解包的工作,而真正的安全需要你重新启动计算机后再去做,这不是那种象Ghost一样可以几分钟恢复的系统,原因可能就是IBM ThinkPad 不管什么样的型号,只要用到了这个OS,那他就会放入这个隐藏分区,免除了每个型号做一种恢复盘的麻烦,也节约了成本。另外,所有的解包的内容,都会放在你的C盘目录下,注意此C盘不是隐藏分区的那个盘,所以当你恢复后如果看到了:

      IBMTOOLS 、 IBMWORK 、 I386 、 ICON等其他的文件或目录,请不要删除,仔细看一遍,尤其是C盘根目录下的一些文件,多看一次就明白了,正版的系统就在这个盘内!

      这里提供一份中文的F11恢复程序界面的解释,方便英文差的朋友使用。

    技巧

      另外IBM 还提供了一套软件(Rapid Restore PC)可以让你通过他来做一些备份或者恢复工作。他就象Ghost一样,但可以将备份文件转到CD-R当中。这个软件在你的 C:\IBMWORK\RRPC 中。如果你想使用中文的恢复程序,请到IBM网站下载。

      Rapid Restore PC 不支持带有扩展分区的硬盘!只能使用在原始状态下(原厂机只有一个C盘,另外一个盘是隐藏分区)。

      Rapid Restore PC是一种简便的恢复解决方案,它能保护计算机,使其不受软件相关的系统故障的影响。发生系统故障时,可以使用 IBM Rapid Restore PC 将硬盘上的内容恢复到先前保存过的状态,进行一个完整恢复的平均恢复时间约为 20 分钟。

    Rapid Restore PC功能:

      将文件保存到本地服务分区

      Rapid Restore PC 使用本地硬盘上隐藏、锁定的分区,因此在备份与恢复操作期间,可以最小化网络带宽的使用。该分区称为服务分区。

      将文件恢复到三个备份状态中的任何一个

      在服务分区内,Rapid Restore PC 最多可以保存三个备份映象:基本映象、累积映象和最近映象。

    注:对于大型企业可以获得额外级别的备份和管理功能。

    在操作系统发生故障后恢复文件

      在正常环境下,可以从 Microsoft(R) Windows(R) 界面使用 Rapid Restore PC。然而,如果操作系统故障阻止访问 Windows 界面,则可以使用 F11 Recovery Manager 来执行整个系统的恢复操作。

    保护整个软件映象,包括用户数据

      Rapid Restore PC 可保护整个硬盘内容,包括 Windows 操作系统、软件应用程序、注册表设置、网络设置、修正包、桌面设置以及独特数据文件。

    将备份映象归档到 CD-R

      如果计算机有 CD-R 驱动器,则 Rapid Restore PC 使您能够将备份映象归档到 CD-R,从而提供了一种额外级别的保护。如果要更换硬盘驱动器,这些 CD 可以用来恢复硬盘的内容。

    支持企业范围的恢复与备份策略

      Rapid Restore PC 支持一个命令行界面,该界面可以和系统管理工具一起使用以集成企业范围的恢复与备份策略。

    恢复单个文件

      Rapid Restore PC 能够从备份映象查看、选择和恢复一个或多个单个文件。只有在基于文件的备份中找到的文件(累积备份和最近备份)才可以进行单个恢复。

    注:单个文件恢复在运行 Windows NT 和 Windows 98 的计算机上不受支持。

    响应“磁盘已满”通知

      当任何分区接近它的容量时,Rapid Restore PC 会显示一条“磁盘已满”的通知。如果分区是用户分区,可以根据需要删除或移动文件。如果分区是服务分区,只要硬盘上有足够的空间可用,就可以选择让分区增加大小。

      不怕麻烦的话,将隐藏分区的内容恢复一次,得到所有的内容,且得到完整XP的光盘,还有就是正式的CD-KEY。至于CD-KEY,上面已经说过了,就麻烦您自己找找看了! :)

      在这里再说一种方法,就是直接把系统做成一个GHO包放在隐藏分区,然后使用再做个与F11关联的批处理就可以了。至于这个文件怎么做,那就需要你详细的参考你的笔记本当中的资料了!记住那个rrdidk.bat 及相关的文件,就是他可以做到使用隐藏分区启动哦!:)

      本来还想使用同样的办法做到台式机当中,但发现这个功能需要BIOS的支持,总不能去搞个BIOS吧? 所以就此罢手,准备做个自己的WIN2K恢复分区来用! :)


    总结

      到此为止,我们已经得知了隐藏分区的工作步骤和使用方法,如果自己做一个WIN2K的隐藏分区,同样使用F11恢复的话,我想,应该利用的也只有那么几个文件:

      Recover.exe
      Pqer.exe
      Pkunzip.exe
      系统启动环境文件
      recover 需要的一些支撑文件(前面的几个批处理程序)
    回复

    使用道具 举报

    0

    主题

    47

    帖子

    1174

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1174
    2#
    发表于 2005-3-5 17:06 | 只看该作者
    老大,你就是老大,ibm的天才
    目标:triple CCIE
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表