中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-09-08 21:35
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » ghost 究竟是如何处理引导扇区的??? 查看 3,757 回复 9
楼 主 ghost 究竟是如何处理引导扇区的??? 发表于 2008-04-26 01:52 ·  中国 上海 长宁区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
一般我们先装 DOS / Windows98 ,后装 Windows2000/XP 可以“自然”形成多系统引导菜单,可如果是先装的 Windows2000/XP ,后装 DOS / Windows98 要形成多系统菜单怎么办?也好办,可以事先把 Windows2000/XP 的分区引导扇区保存下来,然后 sys 命令生成 DOS 的引导扇区和传送 DOS 系统,再把 DOS 的引导扇区保存下来,然后再恢复 Windows2000/XP 的分区引导扇区内容就可以了(几个细节我忽略不写了)。

可如果有 ghost 参与这一过程会遇到一个怪问题。比如,我以正常顺序先安装 Win98 (in C:),ghost 备份 Win98,安装 Win2000/XP (in D:),形成引导启动菜单,备份 C: 的 Win2000/XP 的引导扇区内容和 ntldr , ntdetect.com , boot.ini 等几个启动必须的文件。现在,Win98 坏了,我用 ghost 恢复备份的 Win98 到 C: ,自然,NTLDR 的启动菜单没了,引导扇区也变为 Win98/DOS 的内容了,(恢复后 Win98 可以正常启动);我用前面备份的 Win2000/XP 的引导扇区内容恢复到 C: 的引导扇区上,把备份的 ntldr , ntdetect.com , boot.ini 等几个文件复制到 C: 的根目录下,重新启动,结果屏幕一片漆黑,只有一个光标在左上角闪烁。反复试了几次都是如此,其实 ntldr 等这几个文件不复制过去都可以,因为到了分区引导扇区这一步就出问题了。

我知道 ghost 在处理引导扇区的时候会对其中的某些值做改动,我想,会不会是由于这引起的呢?我比较了下 Win98 刚装完时和 ghost 恢复后 C: PBR 的内容,发觉有三处值有所改动。于是,我就以 ghost 后的 PBR (我想主要是其中的 BPB)为基础,在 Win2000/XP 的故障恢复控制台下重新恢复了 Win2000/XP 的 PBR ,再备份了下这新的 PBR ,考虑到 FAT32 的 PBR 要占用3个扇区,于是这新的 PBR 也就备份了3个扇区,原来只备份了一个扇区。心想,这下应该可以了吧。于是再次用 ghost 恢复 C: 的 Win98,再恢复新保存的 PBR ,可重新启动后还是不行!依然黑屏。

于是我就百思不得其解了。究竟哪个地方出了问题?!
ghost 在处理引导扇区的时候会莫名其妙的改动其中的几个字节,究竟是在备份时篡改的还是恢复时篡改的,不清楚。肯定要改动哪几处?不清楚。但有一点我是肯定的,就是 ghost 恢复后,BPB 中的该分区所占扇区数这一参数会比原来的少几个扇区,但是这应该不会影响该分区的启动。

现在,每次用 ghost 恢复 Win98 后都要用 Win2000/XP 自己的方式来恢复它们的 PBR ,其实也不用进入故障恢复控制台,安装到可以让你选是否要进入故障恢复控制台的时候已经把 C: 的 PBR 重写了。

我就奇怪了,为什么原来备份的 PBR 就不能用了呢?!
2 发表于 2009-08-28 22:59 ·  中国 北京 电信
初级用户
积分 23
发帖 13
注册 2009-08-27 02:39
17年会员
UID 151023
性别 男
状态 离线
关注。。。
3 发表于 2009-09-02 04:47 ·  中国 山西 太原 联通
银牌会员
★★★
积分 1,009
发帖 353
注册 2003-09-04 00:00
23年会员
UID 9419
性别 男
状态 离线
对于FAT32系统,win98的引导扇区占用第1、第3扇区,Windows2000/XP 的引导扇区占用第1、第13扇区。因此只恢复前3扇区是不行的。

‘ghost 恢复后 C: PBR 的内容,发觉有三处值有所改动’,可否告知是哪三处?
4 发表于 2009-09-02 20:18 ·  中国 北京 海淀区 北京三信时代信息公司电信
新手上路
积分 4
发帖 2
注册 2009-09-02 04:18
17年会员
UID 151330
性别 男
状态 离线
我来学习的
5 发表于 2009-09-03 02:31 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
ghost并不是以扇区为单元,读取存放,恢复时又原样放回原扇区的。
而是把所有的磁盘数据读取后,重新整理,以其自定的一套方案存为*.gho文件的,其中包括了文件系统以及引导系统(如果存在的话),
在恢复到新的磁盘分区时,将会是ghost认为最紧凑的文件存贮方式。
在刚恢复好的分区上运行磁盘碎片整理,便可以证实这一点了。
精简
=> 个人网志
6 ghost 究竟是如何处理引导扇区的??? 发表于 2009-09-04 05:32 ·  中国 河南 鹤壁 联通
初级用户
积分 26
发帖 12
注册 2009-09-02 06:44
17年会员
UID 151342
性别 男
状态 离线
我也想搞明白ghost的工作原理,还需要向各位学习。
7 发表于 2009-09-07 13:07 ·  中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
Originally posted by yaya at 2009-9-2 04:47:
对于FAT32系统,win98的引导扇区占用第1、第3扇区,Windows2000/XP 的引导扇区占用第1、第13扇区。因此只恢复前3扇区是不行的。

‘ghost 恢复后 C: PBR 的内容,发觉有三处值有所改动’,可否告知是哪三处?

嗯!你说的有道理,很可能是你说的这个原因。以前我没注意到同样是采用 FAT32 的 Win9x 和 WinNTs 引导扇区的区别,我还以为只要是 FAT32 的都一样。以后有机会试试。

至于哪三处有改动我没记下来,而且我在不同的机器上试过后发现,每次改动的地方(偏移处)都不一样,而且不同处也不一样,有的只有两处,有的好像有四、五处,就像我在主贴中所说的“肯定要改动哪几处?不清楚。”总之,改动是不确定的。
8 Re: #5 netbenton 发表于 2009-09-07 13:19 ·  中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
GHOST 确实不是以扇区为单元读取存放的,GHOST 既不是完全扇区对扇区式的镜像复制也不是单纯的一个个以文件为单位复制,似乎是两者的结合,有点类似于 HD-COPY 的加 /F- 参数对磁盘的处理。从 GHOST 可以恢复备份到未格式化的分区,和我比较 GHOST 后的引导扇区发生变化来看,GHOST 是能/会处理引导扇区的。关于 GHOST 的运作机理我还没完全搞懂。
9 发表于 2009-09-16 00:15 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
就算不以扇区为单元读取存放,这只定义于文件数据方式,扇区我看是分开存放的。
10 发表于 2010-09-05 02:56 ·  中国 广东 中山 电信
初级用户
积分 102
发帖 47
注册 2008-11-10 08:29
17年会员
UID 130514
性别 男
状态 离线
推荐阅读Symantec Ghost Imaging Foundation

书中指出:Ghost是磁盘有效数据的打包,这个包的内部有自己的数据组织方式,还有压缩等级、校验码、密码等等。

书中还说:Ghost不是逐扇区的拷贝,而是基于文件的,但并非所有文件都会打包,一些局限于时效性的文件将会被略过,比如休眠文件、内存交换文件等等。

可惜,我也没有找到任何直接与引导扇区有关的描述。但根据书中一些段落,结合自己的思考,我猜想:
Ghost并不直接保存任何特殊扇区的数据,而是分析源磁盘上的数据的逻辑结构,将这些参数(包括MBR、VBR、GPT、动态磁盘数据库等等)以自己的格式存放在镜像文件中。在写入目标磁盘时,Ghost根据这些参数,在GDisk工具的帮助下,重建磁盘的逻辑结构,也就是MBR和各分区/卷的VBR、以及其它数据(比如动态磁盘的卷信息等)。

另有两点需要注意:一方面Ghost有两大类工作方式,
源盘->(镜像->)目标盘,
源区->(镜像->)目标区;
另一方面Ghost对容量的要求很松,只要求目标容量比实际数据大小稍大即可。
这两点说明,Ghost在重建磁盘结构时,会针对目标磁盘的状况进行参数的调整。如书中所说:默认情况下,Ghost总是尽量维持分区之间的大小比例。
所以,Ghost要调整参数,必然意味着MBR、VBR或其它重要扇区有改动。否则分区表与分区会对不上号,或VBR找不到OS bootloader等等……

未经验证的猜想,欢迎指正
Ghost Explorer可以直接查看镜像,我没用过,不妨看看此工具是否可显示分区/卷相关的信息?

[ Last edited by azziporah on 2010-9-6 at 10:50 ]
论坛跳转: