对IBM ThinkPad 隐藏分区系统的分析
前言:去年买了笔记本,得知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,防止误操作损坏系统。将备份文件转到台式机当中。
刚开始,使用的是重新安装,然后再压包处理,刻在光盘上。可一想也挺麻烦,不禁佩服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工具、恢复用批处理文件等)
释放隐藏分区的GHO包到临时目录。
二、开始分析
1.批处理分析
首先我们打开临时目录,可以看到目录内这几个文件:
临时目录
ibmwork 此目录内只有一个文件,作用未知
mfg 目录内为恢复光盘的标签和封面
pcdr 这是IBM附送的PC-Doctor
recovery 这就是系统主恢复目录
autoexec.bat
config.sys
… 其他文件(系统启动、支撑、DOS工具、恢复用批处理文件等)
(图片可点击放大)
GHO包内文件
使用IBM ThinkPad 的朋友都知道,开机后显示IBM Logo时,出现F11可以恢复系统,其意义在于隐藏分区通过BIOS系统支持其启动。BIOS将操作权限交给硬盘,启动文件修改分区表来激活隐藏分区达到启动目的。所以在隐藏分区内可以看到类似win98启动盘的文件目录。这些都是必须的。
首先系统通过autoexec.bat和config.sys 来启动恢复整个系统。先让我们看看Config.sys 内的内容:
首先系统通过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区或者系统启动时自动释放出的文件。由于不存在,所以批处理不会运行这个文件。
在行10中出现了 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恢复盘,只有一句主要内容: