无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6359|回复: 5
打印 上一主题 下一主题

硬盘分区的恢复与备份

[复制链接]
跳转到指定楼层
1#
发表于 2005-4-28 18:02:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你一定能时时刻刻感觉到硬盘分区的重要性。诚然,硬盘分区的地位是无庸质疑的,因此,其也成了很多病毒的攻击对象。而且,一些意外的情况,比如突然断电等也能使硬盘的主引导分区数据丢失。分区一损坏,系统则立即瘫痪,动弹不得。所以关于分区的恢复与备份的技巧,是你必须要掌握的一门技术:
  首先,一旦发生计算机无法检测到硬盘的情况,排除了硬件上的问题,我们就应该开
始检测分区。一般来说,如果主引导区或者引导程序和分区表中的一个被破坏的话,都会出现硬盘丢失的情况。我们一个个做一番检查:
  分区表的检查与修复
  若计算机不能从硬盘启动,则我们可以通过软盘启动后,试着访问硬盘。如果硬盘可以被访问,则说明只是操作系统被破坏,可以用重新安装操作系统的方法来恢复,或者直接把别的计算机上的硬盘拿过来进行数据对拷;如果不能访问硬盘,则可能是主引导区或者可引导分区的引导区被破坏了。这时候,我们可以应用DEBUG或者诸如Norton Disk Editor等工具软件查看硬盘的主引导区是否正常。下面我们给出一个利用DEBUG访问主引导区的实例:(其中XXXX表示内存段地址,由于计算机的BIOS、操作系统及配置文件等的不同),从而导致XXXX地址段不同)
  a:>DEBUG
  -a汇编指令
  XXXX:0100 mov ax,201读取一个扇区
  XXXX:0103 mov bx,600读至当前段0600处
  XXXX:0106 mov cx,1柱面号=1
  XXXX:0109 mov dx,80磁头号=0,驱动器号=80
  XXXX:010C int 13磁盘读写中断
  XXXX:010E int 3断点中断
  XXXX:010F
  -g执行上述指令
  -d 600显示主引导区内容
  如果主引导区没有问题的话,我们就要再检查一下引导程序和分区表是否正常。如果发现程序异常(通过和正常的程序对比),则说明引导程序有可能被干扰。恢复引导程序的方法比较多,我们先来介绍手工恢复的方法:首先,你必须从一台正常工作的计算机中获取主引导区存放的文件mboot.dat,用软盘启动后,运行DEBUG程序并输入下列命令:
  -n mboot.dat读文件mboot.dat
  -1 800读至当前段0800处
  -m 7be 1 40 9be将原分区表复制到正常的主引导区
  XXXX:0100 mov ax,301将0800处数据写回住引导扇区
  XXXX:0103 mov bx,800
  XXXX:0106
  -r ip修改当前指令指针
  IP:010E 0100当前指令指针指向0100
  -g执行
  记住,一定要是完全相同的硬盘分区表,如果无法得到,可以使用DISKEDIT之类的软件,手工填写分区表进行恢复。
  利用工具软件恢复引导分区
  除了可以利用手工恢复以外,现在还有很多专门的工具软件,也可以恢复并备份系统的引导区。
  先来介绍FIXMBR:这款是一个基于DOS的应用软件。它的主要功能就是重新构造主引导扇区。该软件只修改主引导扇区记录,对其他扇区不进行写操作。其基本命令格式如下:
  Fixmbr[Drive][/A][/D][/P][/Z][/H]
  /A Active DOS partition (激活基本DOS分区)
  /D Display MBR (显示主引导记录内容)
  /P Display partition (显示DOS分区的结构)
  /Z Zero MBR (将主引导记录区清零)
  /H Help (帮助信息)
  如果你直接键入FIXMBR后按回车,缺省的情况下将执行检查MBR结构的操作。如果发现系统不正常将会出现是否进行修复的提示。回答"YES"以后将搜索分区。当搜索到相应的分区以后,系统会提示是否修改MBR,回答YES则会开始修复。。如果搜索的结果不对,可是使用/Z开关符,重新启动系统将恢复到原来的状态。
  除了FIXMBR外,KV3000虽然是个防杀病毒软件,它也具有非常强的分区修复的能力。更让人雀跃的是,它还能进行系统分区的备份。这样,即使硬盘上的两个分区表全部损坏,我们还能用备份在软盘上的分区表进行修复。先来谈谈KV3000的备份。输入如下格式命令(KV3000/B或者kv3000/HDPT.DAT),将自动向A盘备份一个无病毒的硬盘主引导信息档案,其名称分别为HDPT.DAT和HFBOOT.DAT。当硬盘主引导信息被病毒破坏或主引导记录损坏时,你主要输入"KV3000/HDPT.DAT"就能将备份的内容恢复到硬盘中(备份和所要恢复的硬盘必须是同一块)。
  如果你没有进行备份,KV3000还允许你修复硬盘的主引导信息,再执行KV3000,按下F6键,就可查看已经不能引导的硬盘隐含扇区,即可查看硬盘0面0柱1扇区主引导信息是否正常。如果在硬盘的0面0柱1扇区没有找到关键代码,那么硬盘本身将不能自引导,即使软盘引导后也不能进入硬盘。可在硬盘的隐含扇区内查找,找到后,系统会在表中出现闪动的红色"80"和"55AA",并响一声来提醒你,下行会出现一行提示,"F9=SAVE TO SIDE 0 CYLINDER 0 SECTOR 1!!!"。这时,按一下:"F9"键,就可将刚找到的原硬盘主引导信息覆盖到硬盘0面0柱1扇区,然后,计算机会重新引导硬盘,恢复硬盘的启动性能,在软盘引导后也能进入硬盘。
  另外,如果由于病毒的破坏或操作上的失误,致使硬盘主引导记录和分区表损坏,硬盘不能引导或软盘引导也不能进入硬盘时,如果先用KV3000/B的命令在软盘上备份过主引导记录,这时可用KV3000/HDPT。DAT的命令再恢复硬盘主引导记录,如果先前没有备份过硬盘主引导信息,这时,只有用KV3000快速重建硬盘分区表的功能试一试。
  软盘引导系统后,执行KV3000,主菜单出来后,按下F10键,就可对系统的有关参数和硬盘分区表快速测试,如果硬盘分区表不正常,KV3000会先将坏分区表保存到软盘上,再自动重建硬盘分区表,使硬盘起死回生。
  如果硬盘只有一个分区,而且文件分配表(FAT表),文件根目录(ROOT表)已被病毒严重破坏,那么,即使恢复了C盘分区表,也不能使C盘引导,需手工配合其他专用修复软件来恢复数据。但如果还有D、E等扩展分区,一般情况下,KV3000能找回后面没有被破坏掉的分区,重建一个新的硬盘主分区表,然后,再用DOS系统软盘引导计算机后,就可进入硬盘的D、E等分区。
2#
发表于 2005-4-29 17:21:29 | 只看该作者

硬盘分区的恢复与备份

我不会用DEBUG。
回复

使用道具 举报

3#
 楼主| 发表于 2005-4-29 21:30:44 | 只看该作者

硬盘分区的恢复与备份

    其实也没有必要学会debug的所有用法,这是大概了解一下就行了,如果想深入的了解和使用debug,没有一定的汇编语言的基础是行不通的!
回复

使用道具 举报

4#
发表于 2005-4-29 22:48:19 | 只看该作者

硬盘分区的恢复与备份

方法太多了,用 超级急救盘 提供的 DOS工具 HESECT 菜单选择 备份/恢复/清除 MBR,备份可直接写入硬盘扇区中,无需软盘。
回复

使用道具 举报

5#
 楼主| 发表于 2005-4-29 23:33:53 | 只看该作者

硬盘分区的恢复与备份

   这方面的工具实在是多如牛毛,如:diskgen,samdisk三名磁盘医生,fixdisk,还有一些命令行的工具,太多了!
回复

使用道具 举报

6#
发表于 2005-4-30 15:09:46 | 只看该作者

硬盘分区的恢复与备份

[这个贴子最后由gotomsdos在 2005/04/30 03:14pm 第 1 次编辑]

debug 的-a -g才是汇编. 其他的 debug 命令是自身的,好象不属于汇编的,我除了读写MBR外,不懂汇编,但会用debug,只要了解磁盘结构和DOS操作系统就行
下面我贴一个我用debug,WBAT和get写的改小游戏成绩的小程序的主要代码
DOS游戏名为 skyroads 可能有些老鸟玩过的
@echo off
if exist crack del crack
echo n z:\skyroads\skyroads.cfg>>crack
echo l0>>crack
if "%1"=="" goto end
echo e 6 %1 00>>crack
set get=6
shift
:crack
if "%1"=="" goto end
get r "+" $%get% /w2 /h
echo e %get% %1 00>>crack
shift
goto crack
:end
echo rcx>>crack
echo 42>>crack
echo w0>>crack
echo q>>crack
debug<crack
del crack

wbat box "要不劳而获吗?" 要,不要
if errorlevel 2 goto played
:dovalue
call w.bat box @%0:cheat
if errorlevel 4 goto played
if errorlevel 3 goto modgame
if errorlevel 2 goto zero
call allcheat
goto dovalue
:zero
call prevar
goto dovalue
:modgame
call crackarg
wbat box "要重新运行游戏,看一下不劳而获的结果吗?" 看一下,不想看
if errorlevel 2 goto played
goto seecheat
:cheat "自欺欺人对话框"                      [x]
         track1  [&#36;t1 1]        track16 [&#36;t16 1]
         track2  [&#36;t2 1]        track17 [&#36;t17 1]
         track3  [&#36;t3 1]        track18 [&#36;t18 1]
      
         track4  [&#36;t4 1]        track19 [&#36;t19 1]
         track5  [&#36;t5 1]        track20 [&#36;t20 1]
         track6  [&#36;t6 1]        track21 [&#36;t21 1]
         
         track7  [&#36;t7 1]        track22 [&#36;t22 1]
         track8  [&#36;t8 1]        track23 [&#36;t23 1]
         track9  [&#36;t9 1]        track24 [&#36;t24 1]
         track10 [&#36;t10 1]        track25 [&#36;t25 1]
         track11 [&#36;t11 1]        track26 [&#36;t26 1]
         track12 [&#36;t12 1]        track27 [&#36;t27 1]
         
         track13 [&#36;t13 1]        track28 [&#36;t28 1]
         track14 [&#36;t14 1]        track29 [&#36;t29 1]
         track15 [&#36;t15 1]        track30 [&#36;t30 1]
[全部设为最大值] [全部设为最小值]  [确定] [返回]
:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-15 05:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表