grub4dos硬盘引导集锦

grub4dos硬盘引导集锦
grub4dos硬盘引导集锦

grub4dos硬盘引导集锦

grub4dos是最好的多重操作系统引导管理器。我们常常需要用grub4dos来引导多个操作系统,或者是通过grub4dos来引导启动操作系统的安装程序。

基本的实现是:

一、在现有的操作系统上引导启动grub4dos

二、用grub4dos引导启动别的操作系统或者操作系统的安装程序。

一、在现有的操作系统上引导启动grub4dos

首先请下载最新版的grub4dos,google搜grub4dos,即能找到下载地址,推荐:http://download.gna/grub4dos/

下载后先解压

1、xp引导启动grub4dos

从grub4dos中提取一个名为grldr的文件,其它的都不需要。把这个文件放到xp系统盘的根目录下,然后用记事本打开系统盘根目录下的文件boot.ini,请注意,这个文件是只读和隐藏的,先要去掉只读和隐藏,才能够看到和改写的。在里面最后添加一行如下:

c:\grldr=grub4dos

请注意,这里的c:是假设你的系统盘是c盘。其实活动主分区在xp下都是c盘,所以你也没太可能是其它的盘吧。

存盘后,在开机时候的操作系统选择菜单上,选择grub4dos进入,也就启动grub4dos 了。

2、win7和vista引导启动grub4dos

从grub4dos中提取名为grldr和grldr.mbr这两个文件放到windows 7的启动盘(windows 7的windows文件夹所在的盘)的根目录下。在记事本中写入如下命令,保存为:创建grldr.mbr 启动项.bat 右键以管理员身份运行,可以一键创建grldr.mbr的启动项:

==============================

bcdedit /create {ffffffff-8d96-11de-8e71-ffffffffffff} /d "grub4dos" /application BOOTSECTOR

bcdedit /set {ffffffff-8d96-11de-8e71-ffffffffffff} device partition=systemdrivebr />

bcdedit /set {ffffffff-8d96-11de-8e71-ffffffffffff} path \grldr.mbr

bcdedit /displayorder {ffffffff-8d96-11de-8e71-ffffffffffff} /addlast

bcdedit /timeout 5

@pause

==============================

另外,请在记事本中写入如下命令,保存为:删除grldr.mbr启动项.bat,右键以管理员身份运行,可以删除我们用前一个批处理所建立的启动项:

==============================

bcdedit /delete {ffffffff-8d96-11de-8e71-ffffffffffff}

@pause

===================================

批处理其实是调用bcdedit命令添加grldr.mbr的启动项,但没有写得很复杂(因为没有必要),所以如果已经存在着一个相同的{ffffffff-8d96-11de-8e71-ffffffffffff}标识符的话,则运行的时候会报错,但99.999%可以保证你的电脑上不会预先存在着这样的一个标识符的。如果有的话,你已经是很懂得bcdedit命令了的,所以不会用我这样的傻瓜式批处理的了。

下面让我们看看如何手动用bcdedit命令添加grldr.mbr的启动项。

以管理员身份运行cmd,在cmd中输入如下命令并回车(命令不区分大小写,但请注意命令中的空格):

bcdedit /create /d "ubuntu" /application BOOTSECTOR

这个命令会得到一个如同下面样式的标识符:

{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx}

(比如:{2e850b34-8d96-11de-8e71-d1c665e3cb34})

为了避免手动写入标识符出错,我们可以在CMD中右击,点标记,然后拖动鼠标,选定这个{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx},再点一下右键,也就复制了。然后我们可以在CMD中右击,点粘贴,可以把我们复制的内容粘贴到CMD中。

再一条一条地运行如下四条命令:

bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx} device partition=c:

(这里面的c:是windows 7的启动盘,也就是你放grldr和grldr.mbr这两个文件的盘,如果你的不是c盘,请改为对应的盘符)

bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx} path \grldr.mbr

bcdedit /displayorder {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx} /addlast

bcdedit /timeout 5

当你不再需要这个添加的grldr.mbr的启动项的时候,你可以以管理员身份运行cmd,用下面的命令删除它:

bcdedit /delete {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx}

如果你忘了这个标识符{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx},可以以管理员身份运行cmd,输入bcdedit命令后回车,你可以找到这个标识符的。

3.在基于grub引导的linux下添加grub4dos的启动项,比如ubuntu9.04和fedora12,都是基于grub引导的。

从grub4dos提取一个名为grub.exe的文件,把这个文件放到一个盘的根目录下,然后:

用文本编辑器打开:/boot/grub/menu.lst

在末尾添加一段如下:

================

title grub4dos

root (hdx,y)

kernel /grub.exe

boot

================

注意,root (hdx,y),要把这里面的x和y改成你存放grub.exe文件的硬盘编号和分区编号,比如:(hd0,8),须要注意的是,ubuntu9.04使用的是grub,而不是grub2,它的硬盘编号也是从0开始的,这与grub2是一样的,但分区编号也是从0开始的,这与grub2不同。主分区是0123,逻辑分区是456.......... 所以在grub2下如果是(hd0,9),在grub下就是(hd0,8)

4.在基于grub2引导的linux下添加grub4dos的启动项,比如ubuntu9.10

用文本编辑器打开:/boot/grub/grub.cfg

在末尾添加一段如下:

==============

menuentry "Grub for Dos" {

insmod ntfs

set root=(hdx,y)

linux /grub.exe

}

============

注意,root (hdx,y),要把这里面的x和y改成你存放grub.exe文件的硬盘编号和分区编号

二、用grub4dos引导启动别的操作系统或者操作系统的安装程序。

1、grub4dos引导启动xp系统

menu.lst文件的写法是:

=====================

title winxp

find --set-root /ntldr

chainloader /ntldr

boot

====================

请注意,这里find --set-root /ntldr的写法。这个命令的作用是,全盘搜索各分区根目录下的ntldr文件,搜到即停止并把这个文件所在的分区设为root分区。这就意味着,如果你的全盘根目录下只有一个ntldr文件,命令能很准确地定位。如果存在着多个,则命令是按

照分区顺序进行搜索的,搜到了前面的,就不会再往后搜,所以可能不能准确地定位。解决的办法:1是全盘的根目录下只保留一个名为ntldr的文件,但有时这不太现实。2、在要引导的分区随便新建一个文件,给这个文件取一个名字,这个文件名字是全盘唯一的。然后把这一行改为:

find --set-root /你所新建的文件名

还有一种写法是,把这一行写成:

root (hdx,y)

这种写法需要准确地指定分区,这对于菜鸟有时不那么现实。

以下的find --set-root的写法都与这个是一样的。

2.grub4dos引导启动win7和vista

menu.lst文件的写法是:

===================

title win7

find --set-root /bootmgr

chainloader /bootmgr

boot

=========================

3.grub4dos引导启动基于grub引导的linux系统。

由于grub引导的linux系统自带有menu.lst文件,所以我们不需要自己手动建立menu.lst 文件,启动grub4dos后,它会自动搜索linux的menu.lst文件并启动linux系统。

4.grub4dos引导启动基于grub2引导的linux系统

menu.lst文件的写法是:

==================

title grub2

find --set-root /boot/grub/core.img /grub/core.img

kernel /boot/grub/core.img

boot

==================

5.grub4dos引导启动ubuntu9.04的livecd

从网上下载ubuntu的iso文件,把它放在一个盘的根目录下,这个盘可以是ntfs的,也可以是fat32的,当然,它也可以是linux的文件系统.只是不要把这个文件放在你要安装系统的分区上就行了(这句纯是废话啦!)

用winrar或者其它工具从iso文件中提取Casper下的vmlinuz和initrd.gz两个文件到这同一个盘的根目录下.

在这个盘的根目录下,新建一个文本文件,把它重命名为:menu.lst

在这个文件里面写入如下命令:

================================

title Install Ubuntu

find --set-root /ubuntu-9.04-desktop-amd.iso

kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-9.04-desktop-amd.iso locale=zh_CN.UTF-8

initrd /initrd.gz

===============================

注意,这个命令里面的ubuntu-9.04-desktop-amd.iso 是下载的iso文件的名字,你的文件可能不是这个名字,所以要把它改为你自己的文件的名字。

6.grub4dos引导启动ubuntu9.10的livecd

从网上下载ubuntu的iso文件,把它放在一个盘的根目录下,这个盘可以ntfs的,也可以是fat32的,当然,它也可以是linux的文件系统.只是不要把这个文件放在你要安装系统的分区上就行了(这句纯是废话啦!)

用winrar或者其它工具从iso文件中提取Casper下的vmlinuz和initrd.lz两个文件到这

同一个盘的根目录下.

在这个盘的根目录下,新建一个文本文件,把它重命名为:menu.lst

在这个文件里面写入如下命令:

================================

title Install Ubuntu

find --set-root /ubuntu-9.10-desktop-amd.iso

kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-amd.iso locale=zh_CN.UTF-8

initrd /initrd.lz

===============================

注意,这个命令里面的ubuntu-9.10-desktop-amd.iso 是下载的iso文件的名字,你的文件可能不是这个名字,所以要把它改为你自己的文件的名字。

7.grub4dos引导启动fedora12的livecd

下载fedora 12 livecd的映象文件,比如:

Fedora-12-i686-Live.iso

提取Fedora-12-i686-Live.iso内的LiveOS文件夹到一个分区的根目录下,提取Fedora-12-i686-Live.iso内isolinux文件夹里的vmlinuz0 initrd0.img到这个分区的根目录下。

menu.lst中写入如下内容:

========================

title Fedora-12-i686-Live

find set-root /vmlinuz0

kernel /vmlinuz0 root=live:LABEL=INSTALL rootfstype=auto ro liveimg quiet rhgb

initrd /initrd0.img

========================

LABEL=INSTALL是指定了用来引导livecd的分区的卷标。需要把卷标INSTALL换成你自己的。在我的电脑里面看到的某个盘的名字,就是这个盘的卷标。如果你的分区没有卷标,在我的电脑里面右击它,点重命名,给它取一个名字即可。但不要用中文。grub可能不支持中文卷标。linux下可以用e2label 命令给分区指定卷标。

8.grub4dos引导iso文件,menu.lst文件的写法是:

=================

title xxx.iso

find --set-root /xxxiso

map /xxxx.iso (hd32) || map --mem /xxxx.iso (hd32)

map --hook

chainloader (hd32)

=================

9.grub4dos引导img文件,menu.lst文件的写法是:

=====================

title xxx.img

find --set-root --ignore-floppies /xxx.img

map /xxx.img (fd0) || map --mem /xxx.img (fd0)

map --hook

chainloader (fd0) 1

rootnoverify (fd0)

====================================

按:转载请不要删除原文链接,这是对于创作者基本的尊重http://blog.sina./s/blog_49f914ab0100hppw.ht ml

主引导记录与硬盘分区

MBR结构图

主引导记录与硬盘分区 对于采用MBR型分区结构的硬盘,最多只能识别4个主要分区(Primary partition)。这里就需要引出扩展分区了。扩展分区也是主要分区的一种,但它与主分区的不同在于理论上可以划分为无数个逻辑分区。 Windows系统默认情况下,一般都是只划分一个主分区给系统,剩余的部分全部划入扩展分区。这里有下面几点需要注意: 在MBR分区表中最多4个主分区或者3个主分区+1个扩展分区,也就是说扩展分区只能有一个,然后可以再细分为多个逻辑分区。 在Linux系统中,硬盘分区命名为sda1-sda4或者hda1-hda4(其中a 表示硬盘编号可能是a、b、c等等)。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。 在MBR分区表中,一个分区最大的容量为2T,且每个分区的起始柱面必须在这个disk的前2T内。你有一个3T的硬盘,根据要求你至少要把它划分为2个分区,且最后一个分区的起始扇区要位于硬盘的前2T空间内。[3]如果硬盘太大则必须改用GPT。 MBR分区表与GPT分区表的关系 与支持最大卷为2 TB(Terabytes)并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式相比,GPT磁盘分区样式支持最大卷为128 EB(Exabytes)并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows 限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR 分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。 GPT分区表:GPT,全局唯一标识分区表(GUID Partition Table),与MBR最大4个分区表项的限制相比,GPT对分区数量没有限制,但Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了18EB。只有基于UEFI平台的主板才支持GPT分区引导启动。

如何在固态硬盘+机械硬盘上装系统

首先,进BIOS,SATA模式改为AHCI,或者Raid(如果你要做Raid),不要用IDE。 其次,分区,4K对齐,安装系统。 为什么要4K对齐?目前64G,128G SSD的读写基本block size都是4KB。4K对齐可以有效提升读写效率和减少空间浪费。至于硬盘整数分区,可用可不用,随大家喜欢。 如何进行4K对齐?很简单,用windows 7安装盘进行分区和格式化就OK。当然也有软件可以进行重新对齐,不过相对专业的就先暂不在这讨论。咱大众简单点重装次得了,也就10多分钟。 分区,格式化之后就是正常的安装系统。然后就是ISO流程的安装各项驱动。安装工作完成了。 然后是大家挺关心的进行对SSD的优化问题,所有的针对SSD的优化有2个目的: 减少对SSD的写入,以延长SSD的寿命;尽量利

用SSD的有效空间。 看了一些帖子,觉得比较有用的如下: 1、SSD分区上去除磁盘碎片整理和磁盘索引。SSD的结构原理与普通磁盘不同,所以整理方式各异。其固件中已经集成针对SSD的碎片整理程序。而且由于SSD寻道时间几乎为0,其实磁盘整理对SSD的意义并没有像机械盘那么大。 关闭的方法:去除磁盘碎片整理:在管理工具,服务中将Disk Defragmenter服务关闭,并禁用自动启动。去除磁盘索引:打开SSD“属性”后去掉“除了文档属性外,还允许索引此驱动器上文件的内容(I)”前的勾。 2、关闭系统启动时的磁盘整理。方法:打开注册表,找到 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Df rg\BootOptimizeFunction] 修改:"Enable"="N" 3、系统服务中关闭系统还原功能。系统还原会占用比较大的SSD空间,对64G的用户来说,本

江民硬盘修复王使用方法

江民硬盘修复王及使用方法 江民硬盘修复王及使用方法 第一章kvfix.EXE 硬盘修复王使用方法 特别说明:原KV系列软件中的“硬盘修复王”的可执行文件名称是jmhdfix.exe 或者 jm-hdfix.exe ,目前统一修改成kvfix.exe 文件。原文件名jmhdfix.exe (jm-hdfix.exe) 不再使用。 1 硬盘修复王可修复的范围 当硬盘分区表坏,或有关数据丢失,或硬盘进不去时,我们用硬盘修复王可修复如下状态: 1.1 硬盘分区表数据(0扇区)丢失,BOOT系统引导区(63扇区)后的数据区完好,只是硬盘进不去。 能为您重建硬盘分区表,使硬盘一切正常。 1.2 硬盘分区表不正确(0扇区数据被病毒修改),BOOT系统引导区(63扇区)后的数据区完好,只是硬盘进不去。 能为您重建硬盘分区表,使硬盘一切正常。 1.3 分区表55AA标志丢失,硬盘进不去。

能为您修补55AA,使硬盘一切正常。 1.4 0扇区分区表被病毒搬在隐含扇区(硬盘前63个扇区)某一扇区上,原分区表被病毒加密,硬盘进不去。 能为您恢复硬盘分区表,使硬盘一切正常。 1.5 0扇区分区表被病毒加密,BOOT系统引导区(63扇区)后的数据区完好,只是硬盘进不去。 能为您重建硬盘分区表,使硬盘一切正常。 1.6 硬盘分区为C、D、E、...等几个区。硬盘分区表、C盘BOOT引导区、FAT表、目录表丢失,硬盘进不去。 能为您重建C盘分区表,可恢复C、D、E、...等几个区,D、E、...等几个区完好。 1.7 硬盘分区为一个C盘。硬盘分区表、DOS引导区、FAT表、目录表杂乱,硬盘进不去。能为您修复硬盘分区表。 1.8 硬盘分区为一个C盘,硬盘分区表、BOOT引导区丢失,硬盘进不去。 能为您重建硬盘分区表,修复BOOT引导区,完后,会建议您用与硬盘相同版本的系统软盘引导机器,既可自由出入硬盘。建议您: SYS C: 重传一次引导系统到C盘,硬盘即可引导。 1.9 硬盘主引导记录被病毒破坏,硬盘不能引导,软盘引导可出入硬盘。

硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区

硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区,电脑启动过程 2010-04-17 22:12 filex的文件系统看的云里雾里,还是先总结下FAT的一些基本知识吧。 硬盘结构 硬盘有很多盘片组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……。每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。 主引导扇区 主引导扇区位于整个硬盘的0柱面0磁头1扇区{(柱面,磁头,扇区)|(0,0,1)},bios在执行自己固有的程序以后就会jump到MBR中的第一条指令。将系统的控制权交由mbr来执行。主引导扇区主要由三部分组成:主引导记录 MBR (Master Boot Record或者Main Boot Record)、硬盘分区表 DPT(Disk Partition Table)和结束标志字三大部分组成。 对于硬盘而言,一个扇区可能的字节数为128×2n (n=0,1,2,3)。大多情况下,取n=2,即一个扇区(sector)的大小为512字节。在总共512byte的主引导记录

中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。 主引导记录MBR(master boot record) 主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标 志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而能够实现多系统引导。 硬盘分区表DPT(Disk Partition Table) 硬盘分区表占据MBR扇区的64个字节(偏移01BEH--偏移01FDH),可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节。具体每个字节的定义可以参见硬盘分区结构信息。 结束标志字 结束标志字55,AA(偏移1FEH- 偏移1FFH)是MBR扇区的最后两个字节,是检验主引导记录是否有效的标志。 电脑启动过程 ?系统开机或者重启。 ?BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址

用MHDD清除主引导扇区55AA

用MHDD清除主引导扇区“55AA”标志 1.为什么要清除“55AA”标志 我们都知道,主引导扇区的最后两个字节为有效标志“55AA”,如果没有该标志,系统将会认为磁盘没有被初始化。因此,“55AA”标志对于磁盘来讲是非常重要的。但在数据恢复过程中,有时我们不得不在进入系统前将该标志进行清除。通常,在下列情况下可以考虑清除“55AA”标志。 ◆??需要恢复数据的硬盘存在病毒 当需要恢复数据的磁盘中存在病毒时,清除“55AA”标志可以使整个硬盘的分区失效,病毒也就无法继续传染。某些病毒的传染性非常强,当直接将染有这种病毒的硬盘挂接在正常的计算机上,进入操作系统后即开始传染,使数据恢复用机被病毒感染并导致死机,致使数据恢复工作无法进行。这时,我们可以在DOS下使用MHDD清除染毒磁盘的“55AA”标志,然后再进行后续的恢复工作。 ◆??重要位置处于坏扇区 如果磁盘存在坏扇区,而某个分区的引导记录扇区又恰好处在坏扇区位置时,将会使恢复用机很难顺利进入操作系统。即便进入操作系统后,也会因长时间无法读取出坏扇区的数据而不能进入就绪状态,甚至导致死机,使数据恢复工作无法进行。这时,我们也可以在DOS下先行使用MHDD将故障盘的“55AA”标志清除后再进行后续的工作。 ◆??磁盘逻辑参数矛盾 磁盘的逻辑参数存在矛盾时,也有可能导致数据恢复用机无法正常进入操作系统,或进入操作系统后即死机。比如,各个分区间的大小及位置关系矛盾,或某个分区引导扇区中的BPB参数出现错误,都有可能导致系统死机。清除“55AA”标志后,磁盘的主引导扇区失效,分区表也就失去了作用。这时操作系统会将磁盘识别为一个没有被初始化的磁盘进行加载,不会再调用分区表及各个逻辑分区的参数,也就不会发生死机的现象。 2.清除“55AA”标志的方法 使用MHDD清除“55AA”标志非常简单,因为它提供了一个专门用于清除和写入“55AA” 标志的命令“switchm br”。 步骤1 进入MHDD程序并选择要操作的磁盘,然后在程序界面中输入命令swichmbr 后按Enter键,即出现图9.5所示内容。 可以看到,执行这个命令后,程序读取磁盘的0号扇区,并提示找到了AA55。我们说“55 AA”是在十六进制编辑软件中看到的字节放置顺序,这是使用little-endian格式存放的顺序,真正的十六进制则为0xAA55,所以MHDD将其表述为AA55。 然后,程序询问是否要清除这个标志,要清除则按“Y”键,否则按“N”键。 步骤2 按“Y”后程序立即执行清除操作,清除成功后即显示“Done”,表示操作成功完成。 如图9.6所示。

硬盘主引导记录(MBR)及其结构详解

硬盘主引导记录(MBR)及其结构详解 硬盘的0柱面、0磁头、1扇区称为主引导扇区,FDISK程序写到该扇区的内容称为主引导记录(MBR)。该记录占用512个字节,它用语硬盘启动时将系统控制权交给用户指定的,并在分区表中登记了的某个操作系统区。 1.MBR的读取 硬盘的引导记录(MBR)是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。 用INT13H的读磁盘扇区功能的调用参数如下: 入口参数:AH=2 (指定功能号) AL=要读取的扇区数 DL=磁盘号(0、1-软盘;80、81-硬盘) DH=磁头号 CL高2位+CH=柱面号 CL低6位=扇区号 CS:BX=存放读取数据的内存缓冲地址 出口参数:CS:BX=读取数据存放地址 错误信息:如果出错CF=1 AH=错误代码 用DEBUG读取位于硬盘0柱面、0磁头、1扇区的操作如下: A>DEBUG -A 100 XXXX:XXXX MOV AX,0201 (用功能号2读1个扇区) XXXX:XXXX MOV BX,1000 (把读出的数据放入缓冲区的地址为CS:1000) XXXX:XXXX MOV CX,0001 (读0柱面,1扇区) XXXX:XXXX MOV DX,0080 (指定第一物理盘的0磁头) XXXX:XXXX INT 13 XXXX:XXXX INT 3 XXXX:XXXX (按回车键) -G=100 (执行以上程序段) -D 1000 11FF (显示512字节的MBR内容)

如何从硬盘直接安装系统(机箱上无光驱、手上无系统安装光盘)详解

如何从硬盘直接安装系统(机箱上无光驱、手上无系统安装光盘)详解 软件运用技巧2010-01-13 10:10:20 阅读1955 评论3 字号:大中小订阅 从硬盘直接安装系统,由于条件不同,分以下不同的情况(当然,所有情况的前提都是你非系统硬盘中必须有系统安装程序i386文件——下载也好,由别的地方拷贝也罢,总之要有。一般从网上下载的多为压缩文件或iso文件,我们可解压缩或虚拟光驱来提取出所需要的i386文件): 如果你只想在原系统的基础上升级安装或不想格式化系统分区盘就全新安装,那我们可以将iso文件加载虚拟光驱,让其自动运行,弹出如下窗口或其他自定义的安装界面,直接点击安装就好,接下来的就好办了,一路“下一步”即可,与有光驱安装时无异。 如果要彻底地重装系统的话,那就需要格式化系统分区,这样一来可以有三种(我知道的)方法。 方法一就是通过启动至DOS 环境下,运行DOS命令使硬盘非系统分区中的安装程序i386文件运行,使之完成安装。具体操作如下:利用启动软盘或启动U盘或启动光盘或DOS工具箱或虚拟软驱装载虚拟启动软盘进入DOS环境(当然在这之有要在BIOS中把第一启动设置一下,用启动软盘的,要设置为第一启动为软驱;用光盘启动的要设光驱为第一启动;用DOS工具箱的,没必要设置,如果你感觉不好的话,可以设置第一启动为硬盘,呵),进入DOS系统状态后输入"format c:",按回车键开始格式化C盘,完成后重新启动电脑,按照软驱A(假设)启动,再进入DOS系统状态,然后输入“smartdrv.exe”(这个命令是磁盘高速缓存,加快读写缓存从而使接下来的安装变快些)。输入"d:"进入到“非系统硬盘分区D——假设我们的安装程序i386文件放在D盘”。输入“cd winxp”(注意cd与winxp之间有空格——呵,CD命令格式,谁不会,用你多嘴--!!)。再输入“cd i386”。输入“winnt.exe”。开始进入安装界面(亦如上图)。接下来按照它的操作安装。注意:全新安装需要在刚进入DOS 环境后,要运行格式化C盘(命令是:A>format c:/s (格式化完成后再传系统文件)或format c:/q(快速格式化)其他参数用到

硬盘无法引导系统的原因及解决办法

硬盘无法引导系统的原因及解决 常见的硬盘故障——无法引导系统统 在启动计算机后,看不到Windows启动画面,而是出现了“Non-System disk or disk error,replace disk and press a key to reboot”(非系统盘或磁盘出错)提示信息,这即是常见的硬盘故障——无法引导系统。 (一)硬故障导致硬盘无法引导 所谓硬盘硬故障,是指因为连接、电源或硬盘本身出现硬件故障而导致的硬盘故障。当发现硬盘无法引导时,首先得从硬件下手。 在大多数硬盘引导失败的故障中,硬盘本身的连接或设置错误是最常见的故障原因。因此,在遇上引导故障后,可在启动电脑时,按下Del键进入BIOS设置,在主界面中移动光标到“Standard CMOS Features”(标准CMOS设置)选项,回车进入次级设置界面。在该界面中注意观察IDE端口上是否能看到当前系统中所安装的硬盘,“WDC WD800BB-32CCB0”就是系统中的硬盘。 如果能够看到硬盘型号,并且型号没有出现乱码,那么可以选中该硬盘并回车,进入硬盘属性设置界面,将“IDE Primary Master”(第一IDE接口)和“Access Mode”(存取模式)选项均设置为“Auto”(自动)。移动光标到“IDE HDD Auto-Detection”(自动检测IDE硬盘)选项并按下回车键,以便让主板自动检测硬盘,如果此时能显示出相应硬盘信息,例如,Capacity(容量)、Cylinder(柱头数)等,则说明硬盘的物理连接及BIOS设置正确。 如果在“Standard CMOS Features”中看不到硬盘盘符及相关信息,或者硬盘的型号字符变成了乱码,例如,本来应该是“IC35L060AVVAWA07-O”,可是现在却变成了“IC#5L0&0AVFA 7-0”,再查看硬盘的参数,也什么都没有,那么一般说来有两种原因: 注意:如果系统中安装了多块硬盘,则还需要检查硬盘的跳线设置情况,以免因为跳线设置错误而导致系统无法检测到硬盘的存在。硬盘跳线的设置方法可以通过查看说明书获得。 这种硬盘硬故障导致的硬盘无法引导,其故障大都出现在连接数据线或IDE接口上,硬盘本身故障的可能性并不大,因此一般都可通过重新插接硬盘数据线或者改换IDE口等进行替换试验,就会很快发现故障所在。另外,BIOS中的硬盘类型正确与否直接影响硬盘的正常使用。现在的机器都支持“IDE Auto Detect”(自动检测)功能,可自动检测硬盘的类型,对于普通用户而言,建议通过该功能来自动设置硬盘参数。 (二)软故障导致硬盘无法引导 硬盘软故障也就是硬盘本身并没有问题,只是由于某些设置或参数被破坏而出

主引导扇区中了病毒

硬盘主引导扇区中了病毒,如何进行处理 前不久遇到一例硬盘主引导扇区中了病毒,其问题出现情况如下: 1、开机加电自检,检测到硬盘那一步时,检测时间比平时稍长。 2、主机自检完成后,启动操作系统,出现“starting ……”,一直等都无反应。 3、用软盘或光盘启动也只能启动到“starting ……”,视具体启动盘,出现提示也不一样,但都不能正常启动操作系统。 4、在BIOS设置中,将此盘设为“NONE”,才能用(DOS、9 5、98)启动软盘或启动光盘启动操作系统。但桌面上“我的电脑”中没有此盘;如挂上双硬盘,将故障硬盘设为“NONE”,用NT 启动,启动后亦看不到此盘(因为正常情况下,即使BIOS设置中某硬盘设为“NONE”,NT启动后,“我的电脑”中也能正常显示该硬盘);如用LINUX安装光盘启动安装,则能找到该硬盘,但提示此硬盘出错,不能进行分区。 5、低极格式化此盘,一般时间至少都需要10个小时左右才能格式完,但有的低格显示一切正常,如果重新启动,在BIOS设置中设有此盘,用软盘或光盘启动,也不能正常启动,只能到“starting……”处。(如果你的硬盘故障与前四项相同,请勿执行BIOS设置中的低级格式化,直接用以下的解决方法,这样硬盘上的数据都不会丢失) 从此现象看,应该是硬盘主引导扇区中了病毒,即使用杀病毒软件的功能,如KV300,他的软件中有一功能,能将硬盘的主引导扇区备份写回硬盘。但要想启动机子,BIOS中只能将此盘设为“NONE”,而DOS、95、98启动后,因为没有此硬盘,杀毒软件也找不到此盘,所以想到此款病毒于杀病毒软件来说,也只能说再见了。 解决方法是: 1、用一台能正常启动的机子制作启动软盘一张,并将c:\windows\command\debug.exe文件拷贝到启动软盘。 2、准备一张空白的已格式化的软盘。 3、用能正常启动的机子启动,主板自检完后,启动操作系统之前,按F8键进入DOS模式,将软盘放入软驱。执行以下步骤:(此操作是将好硬盘的主引导区内容备份到软盘,这台机子的硬盘最好与中了病毒的硬盘型号一样,即使不同,也可以。) cd c:\windows\command (红色表示自己输入的内容) debug -A 100 11BA:0103 mov bx,1000 11BA:0106 mov cx,1 11BA:0109 mov dx,80 11BA:010C int 13 11BA:010E int 3 11BA:010F ;直接回车

如何安装和使用SATA硬盘

如何安装和使用SATA硬盘(BIOS设置) 随着各主板芯片组厂商陆续发布直接支持SATA硬盘甚至SATA RAID的芯片组,具备SATA RAID功能的主板成为了市场热点;而且STAT硬盘的高性价比,也使很多网友舍弃IDE硬盘,直接购买和使用拥有SATA接口的主板;不过,新事物的出现,必竟会产生新的问题,目前对于使用SATA主板和硬盘的用户来说,如何设置和使用好SATA设备,成了关键问题。 首先安装硬盘数据线和电源线;SATA硬盘与传统硬盘在接口上有很大差异,SATA硬盘采用7针细线缆而不是大家常见的40/80针扁平硬盘线作为传输数据的通道。细线缆的优点在于它很细,因此弯曲起来非常容易(但是对于SATA数据线,最好不要弯春成90度,否则会影响数据传输)。接下来用细线缆将SATA硬盘连接到接口卡或主板上的SATA接口上。由于SATA采用了点对点的连接方式,每个SATA接口只能连接一块硬盘,因此不必像并行硬盘那样设置跳线了,系统自动会将SATA硬盘设定为主盘。 为硬盘连接上电源线。与数据线一样,SATA硬盘也没有使用传统的4针的“D型”电源接口,而采用了更易于插拔的15针扁平接口,使用的电压为+12V、+5V和+3.3V,如果你的电源没有提供这种接口,则需要购买专门的支持SATA硬盘的电源或者转换器接头。有些SATA硬盘提供了4针的“D型”和15针扁平两种接口,这样就可以直接使用原有的电源了。所有这些完成之后需要再仔细检查一遍,确信准确无误之后就可以盖上机箱了。 SATA硬盘在使用上完全兼容传统的并行硬盘,因此在驱动程序的安装使用上一般不会有什么问题。如果你使用的操作系统是Windows 9x/ME,那么只需进入BIOS,在里面的SATA选项下简单地设置一下就可以了。不过SATA硬盘在安装Windows XP时可能会出现一些问题。由于Windows XP无法辨认出连接在接口卡上的SATA硬盘,所以用户必须手工安装SATA硬盘的驱动程序。在安装过程中,当Windows XP寻找SCSI设备时按下F6键,然后插入随SATA接口卡附送的驱动软盘,这样就可以正常安装Windows XP了

0磁道损坏修复的两种方法

0磁道损坏修复的两种方法 “0”磁道处于硬盘上一个非常重要的位置,硬盘的主引导记录区(MBR)就在这个位置上。MBR位于硬盘的0磁道0柱面1扇区,其中存放着硬盘主引导程序和硬盘分区表。在总共512字节的硬盘主引导记录扇区中,446字节属于硬盘主引导程序,64字节属于硬盘分区表(DPT),两个字节(55 AA)属于分区结束标志。由此可见,“0”磁道一旦受损,将使硬盘的主引导程序和分区表信息遭到严重破坏,从而导致硬盘无法自举。 “0”磁道处于硬盘上一个非常重要的位置,硬盘的主引导记录区(MBR)就在这个位置上。MBR位于硬盘的0磁道0柱面1扇区,其中存放着硬盘主引导程序和硬盘分区表。在总共512字节的硬盘主引导记录扇区中,446字节属于硬盘主引导程序,64字节属于硬盘分区表(DPT),两个字节(55 AA)属于分区结束标志。由此可见,“0”磁道一旦受损,将使硬盘的主引导程序和分区表信息遭到严重破坏,从而导致硬盘无法自举。“0”磁道损坏也属于硬盘坏道,只不过由于它的位置太重要,因而一旦遭到破坏,就会产生严重的后果。 1.硬盘“0”磁道损坏后的症状 当硬盘“0”磁道损坏后:系统自检能通过,但启动时,分区丢失或者C盘目录丢失,硬盘出现有规律的“咯吱……咯吱”的寻道声,运行SCANDISK扫描C盘,在第一簇出现一个红色的“B”;Fdisk 等分区软件

找不到硬盘、利用低版本的DM进行分区时,程序“死”在0磁道上;在进行“Format C:”时,屏幕提示0磁道损坏或无休止地执行读命令“Track 0 Bad”。 2.解决硬盘“0”磁道损坏的思路 磁头总是把“0”磁道作为寻道的基准点,如果“0”磁道出现物理损坏,磁头定位机构会因找不到“0”磁道,使硬盘自举失败。因此,在解决硬盘“0”磁道损坏问题时,一般都采取“以1代0”的方法,也就是在划分硬盘分区时,重新定义“0”磁道,将原来的“1”磁道定义为逻辑上的“0”磁道,避开已损坏的“0”磁道。 3.通过工具软件解决硬盘“0”磁道损坏 (1)通过DM万用版解决 首先从网上下载DM万用版并制作好DM启动软盘,然后执行DM 并进入其主界面。在主界面中按下Alt+M组合键进入DM的高级模式,将光标定位到“(E)dit/View partitions”(编辑/查看分区)选项,按回车键之后,程序要求选择需要修复的硬盘,选中硬盘,按回车便进入了该硬盘的分区查看界面。如图1所示。 在分区列表框中选中“1”号分区,此时上面的分区信息栏将显示该分区信息,例如分区格式、容量、开始的柱面、结束的柱面等。此时需要记住开始柱面中的“0”和结束柱面序号“2489”。保持光标定位在1号分区上,然后按下Del键删除该分区,在出现的确认删除分区的界面中选择“Yes”并回车,此时1号分区便删除了。

几个最实用的硬盘修复解决方法

几个最实用的硬盘修复解决方法 硬盘修复(1) 在研究硬盘故障的具体处理方法之前,我们有必要先了解一些硬盘相关的基础知识。 主引导记录区MBR 硬盘是一种磁介质的外部存储设备,在其盘片的每一面上,以转动轴为轴心、以一定的磁密度为间隔的若干同心圆就被划分成磁道(Track),每个磁道又被划分为若干个扇区(Sector),数据就按扇区存放在硬盘上。硬盘的第一个扇区(0道0头1扇区)被保留为主引导扇区。主引导扇区内主要有两项内容:主引导记录(对操作系统进行引导)和硬盘分区表。计算机启动时将读取该扇区的数据,并对其合法性进行判断(扇区最后两个字节是否为55AA或AA55),如合法则跳转执行该扇区的第一条指令。所以硬盘的主引导区常常成为病毒攻击的对象,从而被篡改甚至被破坏。硬盘控制器 硬盘控制器是硬盘及其他具有相同接口规范的外部设备(如CD-ROM驱动器)的管理者,由它来完成驱动器与内存之间的命令及数据传输。硬盘控制器发生故障或连接不正确将会导致硬盘无法正常工作。 CMOS中的硬盘信息 在计算机的CMOS中也存储了硬盘的信息,主要有硬盘类型、容量、柱面数、磁头数、每道扇区数、寻址方式等内容,对硬盘参数加以说明,以便计算机正确访问硬盘。 当CMOS因故掉电或发生错误时(启动时一般会提示“CMOS Checksum Error”或类似信息),硬盘设置可能会丢失或错误,硬盘访问也就无法正确进行。这种情况我们就必须重新设置硬盘参数,如果事先已记下硬盘参数或者有某些防病毒软件事先备份的CMOS信息,只需手工恢复即可;否则也可使用BIOS设置(Setup)中的“自动检测硬盘型”(HD Type Auto Detection)的功能,一般也能得到正确的结果。 不是问题的问题 很多时候我们的电脑会出现一些看似不得了的毛病,其实只是自己吓自己,也就是拨拨线头、动动跳线的举手之劳。常见的让你空出一身冷汗的硬盘不自举问题主要有以下两种: 系统不承认硬盘: 此类故障最为常见,开机自检完成时提示以下出错信息: HDD controller failure Press F1 to Resume 上述E文意指“硬盘无法启动”,甚至有时用CMOS中的自动监测功能也无法发现硬盘的存在。当出现上述信息时,应该重点先检查与硬盘有关的电源线、数据线的接口有无损坏、松动、接触不良、反接等现象,此外常见的原因就是硬盘上的主从跳线是否设置错误。 检查、排除方法: 重新插拔硬盘电源线、数据线或者将数据线改插其他IDE口进行替换试验。

重建硬盘主引导区

重建硬盘主引导区,尝试用光盘引导后进入DOS系统,盘符后使用命令:fdisk /mbr 修复引导扇区 1、重建MBR是重建分区表,fdisk/mbr是恢复引导代码,即MBR扇区的前446个字节 2、使用DiskGenius步骤(1)下载个WINPE工具,记录成启动光盘,用它来启动计算机(2)进入dos系统。运行“DiskGenius”软件,据说这是中国人编的一款软件,非常好用。在WINPE环境下运行DiskGenius。(3)选择“硬盘-重建主引导记录MBR”,重启即可。不会重写只是恢复默认对系统和其他没有影响用fdisk /mbr 中间有空格在DOS下 正好本人的pe盘里面有DiskGenius这个软件。于是在pe里面打开DiskGenius 用硬盘-重建主引导记录MBR。最终解决了问题。 试用了两次成功,第一次失败。第一次是这样的。我用DiskGenius先把c盘格式化后,然后选择重建主引导记录MBR,然后重启。电脑启动死机。第二次,用DiskGenius选择重建主引导记录MBR,然后格式化C盘。后用Ghost手动还原系统。后重启电脑出现熟悉的安装界面。实验成功。 新更换硬盘使用ghost进行硬盘对拷,将新硬盘装于电脑上会提示missing mbr helper,带用户使用xp安装版光盘引导,出现选择列表,有安装系统,修复等,选择修复进入控制恢复台,选择操作系统,输入管理员密码后输入fixmbr命令会提示是不是重新写入mbr 确定后提示成功,exit退出,重启电脑发现可以正常启动了 MBR可以重写的,很简单,使用PM分区工具,很小的,里面有重写MBR选项,关键是你能不能进系统了 典型的NTLDR丢失,按照下面步骤进行修复:

如何直接从硬盘安装XP操作系统

下载一个ghost版的操作系统在自己电脑的D盘里,我以“GhostXP_SP3 电脑公司特别版v9.2”为例,下载网址: https://www.360docs.net/doc/512263814.html,/downinfo/8940.html 打开网址后如下图: 在上图中选择如下图地址下载: 鼠标按上面下载地址显示如下图: 下图是用迅雷下载的过程:(文件大下载要好几个小时才可以下载完毕)

未下载完毕前要把该系统盘的MD5值复制黏贴在自己创立的“文件夹”里如下图: 下载完毕系统盘如下图: 打开检验MD5值软件,如下图(上未打开、下打开的)

将下载完毕的系统盘拉入上图已经打开的检验MD5值软件的图中,检验MD5值完毕后如下图:

检验MD5值的结果与前面复制、黏贴的MD5是一模一样的(64C96EF5DB5B82719D540EC0706CDD9F )。说明该系统盘完全可以用的。 解压系统盘之后得到如图: 由于电脑的主板各种各样,为了使安装顺利起见,最好下载一个硬盘安装器,下载地址如下:https://www.360docs.net/doc/512263814.html,/Soft/system/Enhanc/2943.html 下载后如下图: 解压后如图1,打开后如图2: 将上图2)的“硬盘安装器”复制、黏贴到解压后的系统盘里面,如下图:

在上图选择如下图: 鼠标在上图按一下,就显示如下图: 鼠标在上面的“是”()那按一下后会自动复制gho文件以便下一步安装,如下图: 等复制完成以后显示如下图:

在上图中在“是”那鼠标按一下,电脑马上重启,系统开始全自动安装。因为系统都是全自动安装。不用我们任何操作的。 为方便大家看,简要把安装若个截图如下,供大家观看安装过程参考。

硬盘主引导扇区详解

硬盘主引导扇区详解 分类:计算机2010-10-28 11:04 31人阅读评论(1) 收藏举报 主引导扇区位于整个硬盘的0柱面0磁头1扇区,包括硬盘主引导记录MBR(Master Boot Record)和分区表DPT(Disk Partition Table)。主引导扇区有512个字节,MBR占446个字节(偏移0000--偏移1BDH),DPT 占64个字节(偏移1BEH--偏移1FDH),最后两个字节“55,AA”。大致的结构如下图: |------------------------------------------------|0000 | Main Boot Record | | | | 主引导记录(446字节) | | | | |01BD |------------------------------------------------|01BE | | | 分区信息1(16字节) |01CD |------------------------------------------------|01CE | | | 分区信息2(16字节) |01DD |------------------------------------------------|01DE | | | 分区信息3(16字节) |01ED |------------------------------------------------|01EE | | | 分区信息4(16字节) |01FD

|------------------------------------------------|01FE | | | 55 | AA | |------------------------------------------------|01FF 主引导记录中包含了硬盘的一系列参数和一段引导程序。引导程序主要是用来在系统硬件自检完后引导具有激活标志的分区上的操作系统。它执行到最后的是一条JMP指令跳到操作系统的引导程序去。这里往往是引导型病毒的注入点,也是各种多系统引导程序的注入点。但是由于引导程序本身完成的功能比较简单,所以我们可以完全地判断该引导程序的合法性,因而也易于修复。像命令fdisk/mbr可以修复MBR和 KV3000这类软件可以查杀任意类型的引导型病毒,就是这个原因。 分区表由4个16字节的分区信息表组成。每个信息表的结构如下: 偏移长度所表达的意义存贮字节位内容及含义 第1字节引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。 第2、3、4字节本分区的起始磁头号、扇区号、柱面号。其中: 磁头号——第2字节; 扇区号——第3字节的低6位; 柱面号——为第3字节高2位+第4字节8位。 第5字节分区类型符。 00H——表示该分区未用(即没有指定); 06H——FAT16基本分区; 0BH——FAT32基本分区; 05H——扩展分区; 07H——NTFS分区; 0FH——(LBA模式)扩展分区(83H为Linux分区等)。 第6、7、8字节本分区的结束磁头号、扇区号、柱面号。其中: 磁头号——第6字节;

怎样修复引导扇区

怎样修复引导扇区 由于处理物理坏道的方法比较复杂,这里我们分两种情况进行不同方法的处理: 1、坏道不在“0”扇区 所谓“0”扇区指的是硬盘的物理第一扇区,这个扇区又被称为主引导扇区,因为硬盘的主引导文件就写在此扇区,若坏道出现在此扇区不仅系统无法引导,而且用通常方法也无法安装系统。当硬盘上出现了一个坏道后,如果继续对有坏道的分区进行读写,很容易使与坏道相邻的磁盘介质遭到物理损坏,结果会出现更多的坏道。因此总的处理原则就是:将物理坏道与正常磁道隔离。原理是用工具软件把坏道所在区域空出,对此区域不进行磁盘使用空间的分配。由于磁盘空间不被分配,用户也无法再次访问该区域,从而防止坏道的蔓延。我们可以通过以下几种方法实现对硬盘坏道的隔离: A、借助工具软件。修复这类硬盘故障的软件多如牛毛,PartitionMagic工具虽然非常强劲,便需要一些对很强的计算机功底的人才能够完成,因此不适合初学者使用,这里我们重点来介绍一下FBDISK,这是一个DOS下专门发现坏道并隔离后重新分区的软件,只有一个文件,仅仅几十K。操作很简单,先制作一张能启动到DOS的软盘,把FBDISK放在软盘上,用它引导系统,注意系统上只能挂一个要修理的硬盘,并且将其接在主硬盘的线上。进入DOS后,只要能发现硬盘,就运行FBDISK好了,这个小程序先会对硬盘按磁道进行扫描,发现坏道就显示出来,同时还会估计总体扫描完要用多长时间,全部扫描完后,程序会根据扫描结果和坏道情况给你提出一个全新的分区方案来,如果你接受就按Y,否则不会对你的硬盘进行处理。这个软件不错,但是可能比较大手,笔者曾有一次用它把一个10G硬盘扫完后,报告说只有300M可以使用,但是我用方法二后,却找出了近2G的完好空间。所以大家还是按需使用。 B、用FDISK和格式化命令FORMAT。具体的方法是这样的,第一要搞清硬盘的容量,对于有问题的磁盘先用FDISK分成一个C盘,再用FORMAT进行格式化,当碰到无法修复的坏块时面对FORMAT 总是试图修复,这时记录下进行的百分比。然后按CTRL+BREAK强行终止任务,用磁盘总容量×百分比,得出这部分正常的磁盘容量,用FIDSK划出一个逻辑磁盘,再将后面的磁盘估计出坏道的大概大小,大概比例为10%左右,再划分一个逻辑盘。这个小盘不用格式化,在总工作完成后将其删除,这样就将坏块给全部跳过去了。这样可能会损失一些好道,但对大容量硬盘来说无足轻重,而硬盘使用起来更加稳定。

主引导记录(MBR)的反汇编分析

主引导记录(MBR)的反汇编分析 1.)首先启动机器到实模DOS下,加载NTFS4DOS程序使程序可以读NTFS分 区。 2.)转到引导系统启动的主分区。输入C:回车转到主分区,输入DEBUG启动到DEBUG界面 3.)开始备份MBR主引导记录, -a 100 ;指定开始汇编的位置 mov ax,0201 ;AH=功能号0=复位磁盘2=读磁盘3=写磁盘AL=读取的扇区 mov bx,7c00 ;bx=读入的内存地址 mov cx,0001 ;ch=磁道号cl=扇区号 mov dx,0080 ;dh=磁头号dl=驱动器号80h:硬盘C int 13 调用BIOS中断 int 3 异常中断 -g =100 ;运行地址100处的程序

-d 7c00 l100 ;L加载文件到内存,D转储100个字节长度n MBR.DA T ;指定写入文件的名称 -rbx ;显示BX寄存器的内容 :0 改变BX寄存器的值为零 -rcx ;显示CX寄存器的内容 :200 改变CX寄存器的值为200 -W 7c00 ;将BX和CX指定的字节数的内容写入文件 保存MBR备份到C盘根目录 4.)先用Q退出DEBUG再重新进入下 5.)加载备份文件到内存

6.)开始用自己写的编码代替从7C00开始27个字节的编码Mov ax,cs ;代码段地址送AX Mov sp,7c00 ;7C00送堆栈寄存器 Sti ;开中断 Jmp 7c0c ;跳转到7C0C -T =100 ;从地址100处单步跟踪 单步跟踪输入T回车 一直跟到跳转到7C0C处

CLD ;DF方向标志置零DF=0串操作指令中操作数地址自动递增MOV SI,7C1B ;7C1B地址送SI源变址寄存器 MOV DI,061B ;061B地址送DI目的变址寄存器 PUSH AX ;AX里保存着CS代码段的地址 PUSH DI ;将DI=061B压栈位将来弹出到IP做准备MOV CX,01E5 ;循环传送的字节数 REPZ MOVSB ;循环把7C1B地址01E5字节的数据复制到 061B地址 单步跟踪到REPZ MOVSB 后面是一个循环指令用T 1E5执行过去 继续T一下 看下现在各个寄存器里的值RETF会从堆栈里弹出SP到IP 弹出

硬盘主引导扇区(MBR、DPT、DBR、BPB)详解

硬盘主引导扇区(MBR、DPT、DBR、BPB)详解.txt“恋”是个很强悍的字。它的上半部取自“变态”的“变”,下半部取自“变态”的“态”。硬盘主引导扇区(MBR、DPT、DBR、BPB)详解 引用: 网上收集的资料,放到这里来学习,这方面登山人大哥是高手,有空指点一下喽 硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR),该记录占用512个字节,它用于硬盘启动时将系统控制权转给用户指定的、在分区表中登记了某个操作系统分区。MBR的内容是在硬盘分区时由分区软件(如FDISK)写入该扇区的,MBR不属于任何一个操作系统,不随操作系统的不同而不同,即使不同,MBR也不会夹带操作系统的性质,具有公共引导的特性。但安装某些多重引导功能的软件或LINUX的LILO时有可能改写它;它先于所有的操作系统被调入内存并发挥作用,然后才将控制权交给活动主分区内的操作系统(图一)。 MBR由三部分构成: 1.主引导程序代码,占446字节 2.硬盘分区表DPT,占64字节 3.主引导扇区结束标志AA55H 一、硬盘的主引导程序代码是从偏移0000H开始到偏移01BDH结束的446字节;主引导程序代码包括一小段执行代码。启动PC 机时,系统首先对硬件设备进行测试,成功后进入自举程序INT 19H;然后读系统磁盘0柱面、0磁头、1扇区的主引导扇区MBR的内容到内存指定单元0:7C00 首地址开始的区域,并执行MBR程序段。 主引导代码实现下列功能: 1.扫描分区表查找活动分区; 2.寻找活动分区的起始扇区; 3.将活动分区的引导扇区读到内存; 4.执行引导扇区的运行代码。 如果主引导代码未完成这些功能,系统显示下列错误信息: Invalid partition table Error loading operating system Missing operating system 二、硬盘分区表DPT是从偏移01BEH开始到偏移01FDH结束的64字节(图二); 硬盘分区表分为四小部分,每一小部分表示一个分区的信息,占16字节。在这里我们可以看出,硬盘的总分区数为什么不能大于4。其中可激活分区数不得大于3,扩展分区数不得大于1,当前活动分区数必须小于等于1。 分区表的每一分区的第0个字节是自举标志,其值为80H时,表示该分区是当前活动分区,可引导,其值为00H时,表示该分区不可引导。 第4字节是分区类型(图三)。 每一分区的第1至第3字节是该分区起始地址。其中第1字节为起始磁头号(面号);第2字节的低6位为起始扇区号,高2位则为起始柱面号的高2位;第3字节为起始柱面号的

手工修复硬盘分区表

手工修复硬盘分区表 1.准备好工具diskedit和引导盘。 2.检查CMOS配置是否正确。 检查硬盘设置,在CMOS中记下 CYLINDER,SECTOR和 HEAD参数. 此处只考虑有多个逻辑硬盘硬盘的分区情况: 如果不知道各个逻辑硬盘的具体情况,用DISKEDIT 中的Find菜单寻找字符串 00 00 00 55 AA,并判断是否为EXTEND分区的分区信息,如果找到,即可知 道Extend分区的起始位置,并可推算DOS主分区的起始和结束位置,并推算 相关的参数,由于备逻辑盘是连续的,由 EXTEND分区信息,可找到各逻辑硬 盘的分区信息,并推算出EXTEND分区的结束位置及相关参数,将推算出的相 关信息写入主分区表中,即可恢复分区表。 注意:EXTEND分区为05,DOS分区为04或06。对FAT32则为0B和0C. 用DISKEDIT中的OBJECT菜单选择PHYSICAL SECTOR,键入0,0,1,即可进入主 引导区。用VIEW菜单中的AS PARTITION TABLE项可看分区结构。一般情况下 主引导区的起始位置SIDE=1 SECTOR=1 ,EXTEND分区的起始位置SIDE =0 SECTOR=1,而ENDING LOCATION处SIDE和 SECTOR必然是最大值。可直接在该分区表中修改数据。光标移至任意处回车,可显示该数据处的分区结构, 并可通过F2和F6切换。后一个分区的STARTING LOCATION必然是前一个分区ENDING LOCATION的下一个扇区。NUMBER OF SECTORS可通过分区的ENDING LOCATION和STARTING LOCATION计算出,例如,STARTING LOCATION的SIDE=1,CYLINDER=0,SECTOR=1,ENDING LOCATION 的SIDE=7,CYLINDER=262,SECTOR=39则通过以下式子计算: 主引导区的RELATIVE SECTORS 是SECTOR的最大值。 EXTEND分区的RELATIVE SECTORS=主引导区的 RELATIVE SECTORS+主引导区 的NUMBER OF SECTORS。 EXTEND分区的NUMBER OF SECTORS=本分区的 ENDING LOCATION (换算为SECTORS)-本分区的RELATIVE SECTORS。 下面是某116M硬盘(参数为CYLINDER=760 HEAD=8 SECTOR=39)共分有: C盘(DOS引导盘)大小为40M DOS扩充盘大小为76M DOS扩充盘上的逻辑驱动器为: D: 32M E: 3M F: 4M G:6M H:7M I:7M J:17M Starting Location Ending Location Relative Number of System Boot Side Cylinder Sector Side Cylinder Sertor Sertors Sertors BIGDOS Yes 1 0 1 7 262 39 39 82017 h1 c1 s1 h2 c2 s2 r1 n1 EXTEND No 0 263 1 7 760 39 82056 155376 h3 c3 s3 h4 c4 s4 r2 n2 unused No 0 0 0 0 0 0 0 0 unused No 0 0 0 0 0 0 0 0 即:r1=s2

相关文档
最新文档