对
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
恢复盘,只有一句主要内容: