菜鸟急救
我不小心把硬盘的引导程序的分区类型改动了,启动无法识别硬盘连FDISK 都不能用,请问、高手有什么办法吗?
是这样的
debug
a
mov ax, 201
mov bx, 200
mov cx, 1
mov dx, 80
int 13
int 3
g=100
e3c2
这里我把原来的0C改为了 02然后就可想而知了, 请问有什么好的办法吗最好不好再次格式化,
问题点数:10、回复次数:20Top
1 楼CodeDemon(CWL)回复于 2001-10-24 20:54:55 得分 0
没看清楚你讲什么.Top
2 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-24 21:02:26 得分 0
就是把硬盘分区表里面的分区类型修改了,别的什么都没有改变,但是已经无法访问硬盘FDISK 也没有用,我记得以前是0C 被我改为02后就出现了这样的问题(重新启动后)
屏幕左上角,
C> TYPE THE NAME OF THE COMMAND INTERPRETER (E.G., C:\WINDOWS\COMMAND.COM)Top
3 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-24 21:14:09 得分 0
80 01
01 00 06 EF 7F 14 3F 00 00 00 11 E8 3F 00 00 00
41 15 05 EF BF 2A 50 E8 3F 00 60 23 40 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
我改的就是0100 后面的字节这里是06,我机器上本来是0CTop
4 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-24 21:15:03 得分 0
上面的就是硬盘分区表信息 Top
5 楼小乖(Xi@oGu@i)回复于 2001-10-24 21:24:36 得分 0
。。。Top
6 楼QIC(秋至满山多秀色,春来无处不花香。)回复于 2001-10-25 00:07:27 得分 0
能用软盘启动吗?
如果能用软盘启动,把它改回来就可以了。
如果不能用软盘启动,找一个低版本的DOS做一张系统启动盘,用它启动后再改回来。
不要运行FDISK,就用DEBUG进行修改。Top
7 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-25 08:48:48 得分 0
能用软盘启动,但是我在软盘中无法用DEBUG 调出硬盘分区表,请问该如何调出呢?我准备了一张系统盘上面有DEBUG.COM 但是 在软盘上不知道如何调出我刚才修改过的地方 !Top
8 楼netter_bj(问题男孩)回复于 2001-10-25 09:35:25 得分 0
难道用你刚才的代码 不能读取硬盘数据?Top
9 楼QIC(秋至满山多秀色,春来无处不花香。)回复于 2001-10-25 10:11:25 得分 5
请按下面方法操作。
A:\>debug
-a
0100 MOV AX,0201
0103 MOV BX,0200
0106 MOV CX,0001
0109 MOV DX,0080
010C INT 13
010E INT 3
010F MOV AX,0301
0112 JMP 0103
-g=100
-d 3c0
看看debug显示的是不是分区表信息,如果是说明硬盘可读写。
然后:
-e3c2
你原来是把0C改为02,那么现在就把02改回0C。改完后执行:
-g=10f
执行完后把软盘取出,按下Ctrl+Alt+Del重新启动就OK了。
Top
10 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-25 10:28:54 得分 0
我回去试一试,谢谢你Top
11 楼CNer(Leemaasn)回复于 2001-10-25 12:37:38 得分 0
屏幕左上角,
C> TYPE THE NAME OF THE COMMAND INTERPRETER (E.G., C:\WINDOWS\COMMAND.COM)
这段话,,,就是你的电脑从硬盘启动后现实的信息?还是什么?
要是出现这段话。。。。
那没什么关系。。。
我们机房的电脑经常被人乱改,你用一张启动盘启动电脑后。。。
输入sys c:
应该可以,,,,
要是还有其他什么问题。。。
再提出来。。。。Top
12 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-26 09:02:22 得分 0
think you very much
有一个奇怪的现象,昨天我是这么做的
debug
a
mov ax, 201
mov bx, 200
mov cx, 01
mov dx, 80
int 13
mov al, 0c
mov [21c2], al
mov al, 0
mov [21d2], al
mov [21e2],al
mov [21e2], al
mov [21f2],al
int 13
w 100 0 0 1
把这一段程序写到软盘后重新启动
后屏幕显示硬盘找到
但是还是不能用硬盘启动
后我在 CMOS 把启动顺序改为CD-ROM 后竟然可以访问光区
然后输入盘符C:
找到了,在C:下用上面的程序可以调出分区表信息把O2 改为0C 后正常了,
但是到最后我也不知道是怎么好的,为什么用光区可以呢》?Top
13 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-26 09:04:48 得分 0
为什么在A:下就调不出呢?(分区表信息)
是程序有问题吗?
请叫高手?Top
14 楼QIC(秋至满山多秀色,春来无处不花香。)回复于 2001-10-26 09:23:03 得分 5
不是调不出来,是你的操作和这段程序错了。
1.你把分区表读到200H,但却去修改21C2H以后的内容,根本没改回来。
2.漏掉了写分区表的指令。
3.没有必要把这段程序写到软盘引导区。Top
15 楼missdeer(思鹿)回复于 2001-10-26 13:34:42 得分 0
其实硬盘是可以用的只不过是不能引导吧,就是说主引导扇区出了问题,其他的都正常?Top
16 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-27 11:50:52 得分 0
是的
你说的很对,就上修改了主引导扇区的内容,所以找不到硬盘
请问QIC用D 200 能够读出分区表吗?Top
17 楼QIC(秋至满山多秀色,春来无处不花香。)回复于 2001-10-28 00:01:36 得分 0
D 200是显示内存内容Top
18 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-28 09:13:34 得分 0
请问怎么才能显示引导扇区的内容呢?我很菜,请告诉我好吗>??
Top
19 楼QIC(秋至满山多秀色,春来无处不花香。)回复于 2001-10-28 11:49:11 得分 0
debug
a
mov ax,201 ;读一个扇区
mov bx,200 ;读到内存200开始的地址
mov cx,1 ;读0磁道1扇区
mov dx,80 ;读硬盘0磁头
int 13 ;调用BIOS磁盘中断INT13H
int 3 ;DEBUG的断点中断,程序运行到此处会停下。
g=100 ;从100处开始运行
上面这段程序是把硬盘主引导扇区读到200H开始处,每个扇区为512字节,转换为十六进
就是200H(H表示这个数是十六进制)字节,主引导扇区0000H-01BDH是引导代码,01BEH以后
的内容就是分区表,硬盘分区表详解请看“关于分区的问题40分”这个贴子,现在硬盘主引导
扇区读到200H开始处,所以分区表就在03BEH开始的地方(0200H+01BEH=03BEH)。执行完上面
这段程序后输入D 200并按回车键,看到的内容就是硬盘主引导扇区信息,输入D 3BE看到的就
是硬盘主引导扇区里的分区表信息。Top
20 楼seagle(莫等闲.白了少年头.空悲切!)回复于 2001-10-29 09:44:47 得分 0
think you very much !you are very better!~-~Top




