苗圃生产管理制度:深度探讨MBR引导 - 袁伟烨IT技术 - 51CTO技术博客

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 23:07:13
深度探讨MBR引导 2010-07-06 11:22:37标签:探讨 深度 引导 MBR 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://popeyeywy.blog.51cto.com/745223/344738

在本文开始,笔者提出了4个疑问,这些问题将帮助我们更好的理解计算机启动引导的整个过程,让我们的思路更加清晰
 

1、全新硬盘GHOST克隆恢复,系统可以启动吗?

2、预装XP的操作系统的电脑,GHOST克隆恢复系统可以启动吗?

3、预装Vista及以上级别的操作系统,GHOST克隆恢复系统可以启动吗?

4、预装Linux操作系统的电脑,GHOST克隆恢复可以启动吗?

 

这些问题其实都是关于GHOST的,大家都知道GHOST可以备份我们整个电脑的分区,甚至是整个硬盘,有些时候我们GHOST恢复过的计算机会发生不能启动的问题,为什么呢?这就是本文想和大家一起来探讨的重点

 

图:GHOST 11.5.1

这就是我们熟知的GHOST界面,在GHOST中常用的几个选项是

 

Partition to Image(将分区备份为GHO后缀的磁盘镜像)

Disk to Image(将磁盘备份为GHO后缀的磁盘镜像)

Partition from Image(将一个镜像恢复到一个分区)

Disk From Image(将一个镜像恢复到整个磁盘)

 

这些参数在平时可能我们用的比较多,特别是使用一些快速安装光盘的时候,例如深度技术快速安装,以及萝卜快速安装,之所以安装系统比较块是因为,制作这类系统盘的技术爱好者,已经将整个XP封装成了一个GHO文件,我们所需要做的就是插入光盘,选择一键安装即可

 

但是就像我们上方提出的问题一样,有些时候我们安装玩GHOST系统盘后发现操作系统启动不起来了?这是为什么呢?这里我们就要说说MBR了

Mbr(Mast Boot Record)主引导记录,这个主引导记录是存放在硬盘的0磁道中的,也就是硬盘的起始位置,MBR的逻辑结构见下图

 

 


MBR分为三部分

PART1、启动代码:也可以说是引导代码,这里面包含了各操作系统的引导信息,注意这里不存放引导文件,只存放引导代码,引导代码更具其特征来判断磁盘上存放的是什么操作系统,并且在分区表内找到激活的分区,来读取磁盘上的引导程序

我们知道已Windows XP为例,Windows XP的引导程序主要有这三部分组成 NTLDR.EXE、BOOT.INI、NTDECT 引导代码的任务就是寻找到这些引导程序把控制权交给引导程序,引导程序来启动系统的内核,从来又内核来启动操作系统,在这里就不赘述了

PART2、分区表:分区表记录着我们磁盘的分区状况,一块磁盘只能有4个主分区,和我们在XP里看到的C盘、D盘、E盘、F盘、G盘不同的是,在一个物理磁盘上只能分4个主分区,在XP下我们看到的只能说是一个主分区或者说是几个逻辑驱动器,一般的习惯,我们会把C划分成主分区,其余的空间划分成扩展空间,在扩展空间中就可以创建D\E\F\G\H\I等等等等的逻辑驱动器

PART3、结束位

 

 

说了那么多关于MBR的,归根到底我们系统是否能正常启动取决于三个方面

 

第一、MBR中的引导代码正确

第二、主分区被设置为活动

第三、引导程序正确

 

现在我们就回到上面的问题,先看看上述问题的实验结果

 

1、全新硬盘GHOST克隆恢复,系统可以启动吗?

笔者手头准备了一张深度技术V9.0的安装光盘,以光盘方式启动进入GHOST界面,笔者发现GHOST是不能够对分区进行还原的,因为全新硬盘并没有分区,所以全新硬盘只能使用Disk From Image(从一个镜像恢复到整个硬盘)

恢复完毕后发现这个系统是可以正常启动的,笔者就疑惑了,难道GHOST可以写MBR信息吗?或者说深度技术的安装光盘是带有MBR信息的?

带着这个疑问笔者查看了GHOST的参数,发现GHOST其中的一个参数为-BI这个参数是可以备份引导信息的,当然这一切只是推测,在后面的试验中笔者将更进一步的来描述MBR中的奥秘。

 

2、预装XP的操作系统的电脑,GHOST克隆恢复系统可以启动吗?
预装XP的操作系统,在还原了深度GHOST盘后,能够正常启动,其实这也是在笔者的预料之中,因为XP的引导信息一样,GHOST默认是不会去写MBR中的信息,因为GHOST只是针对盘符中的数据来进行操作的,能够顺利还原

 

3、预装Vista及以上级别的操作系统,GHOST克隆恢复系统可以启动吗?

预装Vista操作系统,可以顺利还原XP镜像,但是在启动时会蓝屏?同样是微软的引导代码为什么会蓝屏?笔者的疑惑开始不断增多?这是为什么?

 

4、预装Linux操作系统的电脑,GHOST克隆恢复可以启动吗?

预装Linux操作系统,当还原XP镜像后,系统停留在GRUB界面,这个结果明显和1问题冲突,如果深度镜像写入了MBR,那么系统应该是可以启动的

 

于是笔者4个实验做完还是一头雾水,MBR中到底存放有哪些东西?如何查看MBR中的信息?对比MBR信息是否能找出其中的玄机呢?

 

 

这是一张MBR表格,下面这些参数至关重要

 

80代码:我们看到有一个80代码,80代表着第一个被设置为激活的分区,当分区被设为激活那么分区的最前面就会加上16进制数据80,MBR就更具这个80来判断是从哪个主分区来进行启动

 

55 AA代码:在表格的最后看到55 AA这两个16进制代码,这表示,引导代码正常,分区表正常可以正常启动

 

11B8-11BB代码:XP的引导代码

 

11BE-11FF代码:Linux引导代码

 

这是一张例图,在计算机中我们是如何查看MBR代码的呢?启动到纯DOS环境下,使用DEBUG命令汇编一段小代码

 

A>DEBUG
-A 100
XXXX:0100 MOV AX, 0201
XXXX:0103 MOV BX, 1000
XXXX:0106 MOV CX, 0001
XXXX:0109 MOV DX, 0080
XXXX:010C INT 13
XXXX:010E INT 3
XXXX:010F
-G=100
-D 11BE 11FF (显示分区表数据)

 

首先我们看第各个试验的MBR代码对比图

1、全新硬盘GHOST克隆恢复

全新硬盘克隆前

MBR全部为0

克隆后

 

2、预装XP的操作系统的电脑

原始XP

克隆后XP

我们发现MBR数据完全没有发生变化,所以XP正常启动

 

3、预装Vista及以上级别的操作系统

原始Vista

克隆后XP

我们发现48 C1 A6 BA部分没有发生改变,但是后面80 20 部分发生了改变,这也就是为什么Vista系统还原深度镜像出现蓝屏的主要原因

 

4、预装Linux操作系统的电脑

原始GRUB

 

 

 

 

 

覆盖后XP

 

88 A0 0E 00这段代码是不能引导XP的,在GHOST的过程当中,不会写入这段引导信息,所以XP无法引导

 

总结:

GHOST更具深度版本的GHO文件内容自动重写了
1B8h - 1BBh 区域

本文出自 “袁伟烨IT技术” 博客,请务必保留此出处http://popeyeywy.blog.51cto.com/745223/344738

深度探讨MBR引导 - 袁伟烨IT技术 - 51CTO技术博客 手把手教你安装VMware虚拟机 - 虚客帝国 - 51CTO技术博客-领先的IT技术博客 一个价值千万美金的忠告 - 北京看看 - 51CTO技术博客-领先的IT技术博客 在DOS下修改本机IP地址 - 大唐网络 - 51CTO技术博客-领先的IT技术博客 一个价值千万美金的忠告 - 北京看看 - 51CTO技术博客-领先的IT技术博客(转载) 08.09.05 from 大旺旺 IT 人士工作中的十不要! - Bill, Ma--IT Pro技术及应用 - 51CTO... Cisco IOS 基本命令集 - prozrtr - 51CTO技术博客 华为交换机、路由器命令集 - butter520 - 51CTO技术博客 输入法故障 - 改变自己,做强者!!! - 51CTO技术博客 IP地址规划实例 - 星星之火 - 51CTO技术博客 网络命令汇总 - 菜鸟小强 - 51CTO技术博客 AIX 常用命令汇总 - lengxf - 51CTO技术博客 C++/C程序员 - zkm - 51CTO技术博客 Windows2003下DNS架设攻略 - 大愚若智 - 51CTO技术博客 借助Sniffer分析网络流量 - 矩阵西点 - 51CTO技术博客 partprobe 小命令大作用 - seven - 51CTO技术博客 组策略基本功能使用 - jianyungao - 51CTO技术博客 交换机级联与堆叠的区别 - ckf网安技术小组 - 51CTO技术博客 集线器和交换机的区别 - ckf网安技术小组 - 51CTO技术博客 cisc 路由配置命令汇总 - 技术学习 - 51CTO技术博客 cisco 1841 密码修改方法 - 技术人生 - 51CTO技术博客 LVM磁盘管理技术案例讲解 - carywu - 51CTO技术博客 精解局域网访问及共享(一) - 许一君的原创技术博客 - 51CTO技术博客 Active Directory中的访问控制 - 王达博客 - 51CTO技术博客