Board logo

标题: [已结] 在纯 Ms-dos下不认E:和F: [打印本页]

作者: chujiafu     时间: 2004-11-1 00:00    标题: [已结] 在纯 Ms-dos下不认E:和F:

我的电脑装有Win98和WinXP双系统,分为C:D:E:F:四个区,用System Commander v7.05控制系统启动。如果从Win98启动,则Win98所在的盘是C:盘,而WinXP所在的盘是F:盘;如果从WinXP启动,则WinXP所在的盘是C:,而Win98所在的盘是F:盘。无论从Win98或WinXP启动,D:和E:盘的盘符不变。最近,电脑出现了一个奇特的故障,就是在纯Dos下,或者在Win98关闭后重启到Ms-dos下,
①无法读取E:F:,如果你用Dir e:或Dir f:则显示Invalid drive specification
②Dos下无法运行ghost和tw(天汇3.0袖珍版)等应用程序,显示 Program too big to fit in memory
③如果用Partition Magic 8.0,在初始化的时候显示“Partition's drive letter cannot be identified
④我想用Fdisk/mbr来重写硬盘的主引导记录,但又怕把System Commander给覆盖了,无法启动双系统。
⑤在Dr-dos7.03和Rom-dos7.10下可以进入E:和F:
我也用金山毒霸6(升级到了10月31日)杀毒,没有病毒。
上述问题只是在纯Dos下才有的问题,在Win98和WinXP中,每个盘都可以访问。
万般无奈之下,特请教。谢谢。

[ Last edited by chujiafu on 2005-10-2 at 07:26 ]
作者: jack-     时间: 2004-11-1 00:00
你有没有把区的格式弄混啊
作者: chujiafu     时间: 2004-11-1 00:00
肯定没有,都是Fat32
作者: chujiafu     时间: 2004-11-15 00:00
救救小弟呀,版主。用Kv3000按F6时的截图,硬盘的容量怎么会是0G呢?

[此贴子已经被作者于2004-11-16 7:10:43编辑过]



作者: chujiafu     时间: 2004-11-15 00:00
硬盘在什么位置记录参数的?比如多少柱面,多少磁头,每道扇区数以及磁盘容量等等。
作者: GOTOmsdos     时间: 2004-11-15 00:00
WINDOWS的多系统根本不需要装什么别的启动管理器,而且问题多多!2000 XP 的BOOT.INI就是启动管理器,几乎不用什么设置,自动运行的.你的问题很可能是SYSTEM COMMANDER引起的,他可能要改分区为隐藏和活跃,来达到多启动的.一般讲,只有需要装DOS WINDOWS之外的多系统,才需要第三方工具..
作者: cn_archer     时间: 2004-11-15 00:00
在DOS下认不到E盘和F盘的情况我有遇到过,似乎是E盘和F盘的分区表被第三方工具所改动,变成DOS无法识别的格式。但很让人困惑的是,D盘不受影响,还是可以照常使用。当时是网吧的机子遇到这种局面,所以我直接重新分区了事……没有更深入去了解原因,惭愧。
作者: ultralqxq     时间: 2004-11-15 00:00
如果从Win98启动,则Win98所在的盘是C:盘,而WinXP所在的盘是F:盘;如果从WinXP启动,则WinXP所在的盘是C:,而Win98所在的盘是F:盘。想做到这样的事情,必须改硬盘分区表,而且被改得一踏糊涂。绝对是那个管理启动菜单的软件引起的!
作者: chujiafu     时间: 2004-11-16 00:00
在纯Ms-dos下,D:盘可以进入,但其中的子目录里的文件和文件夹都显示不出来,只有.和..这两个,其它的什么都没有。我用Nu2002和Diskgen查看了一下,硬盘的分区表里没有隐藏的分区
作者: Climbing     时间: 2004-11-16 00:00
估计跟System Commander有关,你试着卸载这个软件看一下是不是还有问题。当然,既然可以卸载,也可以重新安装的。不会对原来的分区造成影响。类似的多分区启动管理软件多了去了,例如我经常使用BootStar,没有遇到过你所说的问题。
作者: chujiafu     时间: 2004-11-17 00:00
我用Fdisk/mbr重写了硬盘的主引导记录,前面的446字节变了,但分区表还是没有改变。问题依然存在。急!急!!急!!!

[此贴子已经被作者于2004-11-17 10:43:00编辑过]



作者: Tamm     时间: 2004-11-18 00:00
请说明你的C: D: E: F: 各分区的类型(如主分区、逻辑分区等)以及它们在硬盘上的具体分布情况
另请启动到你说的“纯 MS-DOS”环境下使用 GDisk 查看一下实际的分区情况(最好能把运行 GDISK 1 以后的结果贴上来看看)

[此贴子已经被作者于2004-11-18 1:28:30编辑过]



作者: chujiafu     时间: 2004-11-18 00:00
硬盘情况:(这是DiskGenius2.0测得的参数)
硬盘总容量为 0 MB (1 MB = 1048576 字节).
  CMOS参数: 0 柱面, 255 磁头, 63 扇区. 总扇区:0

  序  系统名称  引  系   起始  起始 起始   终止  终止 终止   容量
  号            导  统   柱面  磁头 扇区   柱面  磁头 扇区   (MB)
   0      FAT32      80  0b       0        1        1          503   254   63     3953.5
   1      FAT32      00  0b     504      0        1        1013   254   63     4000.6
   2     EXTEND    00  05    1014      0       1        2481   254   63    11515.3
   3                     00  00      0          0       0         0         0      0        0.0
   4     FAT32      00   0b    1014     1        1      1657     254   63     5051.7
   5     FAT32      00   0b    1658     1        1      2481     254   63     6463.6
0柱面0磁头1扇区的分区表:(这是从Win98启动的情况)
01B0:                                       80 01
01C0:01 00 0B FE 7F F7 3F 00 - 00 00 B9 8B 7B 00 00 00
01D0:41 F8 0B FE FF F5 F8 8B -7B 00 7E 04 7D 00 00 00
01E0:C1 F6 05 FE FF FF 7B 90 -F8 00 BC DA 67 01 00 00
01F0:00 00 00 00 00 00 00 00  -  00 00 00 00 00 00 55 AA
1014柱面0磁头1扇区的分区表:
01B0:                                       00 01
01C0:C1 F6 0B FE FF FF 3F 00-00 00 45 DD 9D 00 00 00
01D0:C1 FF 05 FE FF FF  84 DD -9D 00 38 FD C9 00 00 00
01E0:00 00 00 00 00 00 00 00  -  00 00 00 00 00 00 00 00
01F0:00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 AA

[此贴子已经被作者于2004-11-18 15:05:56编辑过]



作者: ultralqxq     时间: 2004-11-19 00:00
到现在还没解决啊,我来解释给你听听!解释起来很烦人的,我尽量说清楚啊!

我决定先解释一些硬盘知识,然后再在下一楼告诉我推测出来的事情真相!当然你要是性急的话可以直接去看我的推测跟解决办法,看不懂就再回来看解释。
字很多,看晕了我不负责。哈哈!当然,看不懂哪点可以跟帖问我,我会再做解释的!毕竟我的语文水平超级的烂,解释不清楚也是极可能的事!
先解释硬盘是怎样管理数据的:
一个你绝想不到的事就是,其实硬盘在每个分区上的第一个扇区都有一个分区表,而每个分区表都记录了该分区在硬盘上的位置(即第一个16字节)和下个主分区或扩展分区所在位置(即第二个16字节)以及其他一些参数(比如是否为活动分区等)!
补充说明:其中的C盘分区表又叫做硬盘分区表(DPT),因为它比较特殊,它要记录硬盘上所有的主分区(逻辑分区也等价于一个主分区),由于分区表才64字节的限制,所以我们的硬盘最多只能分四个主分区。但是扩展分区又可以分成很多个逻辑分区,所以我们实际看到的分区就可以超过四个!
下面就以你的硬盘来分析:你的硬盘分为两个主分区(C和D盘)跟一个扩展分区(它又分为两个逻辑分区E跟F盘)。
C盘的分区表记录情况如下(以你楼上的数据为依据):
第一个16字节记录了自己所在的位置(包括起始位置和终止位置)。
                                                                        80 01
01C0:01 00 0B FE 7F F7 3F 00 - 00 00 B9 8B 7B 00
第二个16字节记录了下个主分区的位置即D盘分区表的位置
                                                                      00 00
01D0:41 F8 0B FE FF F5 F8 8B -7B 00 7E 04 7D 00
第三个16个字节记录的是最后那个扩展分区的位置(注意不是E盘分区表,虽然起始位置就是E盘分区表的起始位置,但终止位置不同)
                                                                  00 00
01E0:C1 F6 05 FE FF FF 7B 90 -F8 00 BC DA 67 01

第四个分区无内容:
                                                                 00 00
01F0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00
D盘的分区表记录情况如下:
第一个16字节记录了自己所在的位置。
第二个16字节记录了扩展分区的位置(同C盘的第三个16字节)
第三跟第四为空。
E盘的分区表记录情况如下:
第一个16字节记录了自己所在的位置。
第二个16字节记录的是F盘的分区表所在的位置。
第三跟第四为空。
F盘的分区表记录情况如下:
第一个16字节记录了自己所在的位置。
其他为空。
其实你这问题跟硬盘逻辑锁很象的,详细资料请登陆:
http://www.yesky.com/Hardware/72628274932482048/20030618/1708794.shtml

[此贴子已经被作者于2004-11-20 5:22:53编辑过]



作者: ultralqxq     时间: 2004-11-19 00:00
由于你装了那个“该死”的软件,结果它就把你的硬盘分区表给改了!
改法思路如下:
当你从98启动时,System Commander不做任何动作!而当你从XP启动时,它把C盘分区表的第一个16字节跟F盘分区表的第一个16字节互换了(当然不是简单的纯复制)。其他分区表数据根据此改动做相应的改动。
这样,引导程序顺序读取硬盘分区表那64字节时
第一个16字节检测到的分区就变成F盘了,
00 01
01C0:C1 F6 0B FE FF FF 3F 00-00 00 45 DD 9D 00
接着读取第二个16字节即D盘分区表位置.
00 00
01D0:C1 FF 05 FE FF FF  84 DD -9D 00 38 FD C9 00
由于逻辑分区中的F盘被移走了,只剩下一个E盘不能算是一个主分区,所以第三第四都为空
00 00
01E0:00 00 00 00 00 00 00 00  00 00 00 00 00 00
00 00
01F0:00 00 00 00 00 00 00 00  00 00 00 00 00 00
D盘分区表记录D盘位置跟E盘分区表位置。
E盘分区表记录E盘位置跟C盘分区表位置。
C盘分区表变成只记录C盘位置。
所以这样改动后的F盘就被标志为C盘,而C盘变成了F盘!
同时由于你启动菜单默认指着XP系统,所以System Commander必须要保证F盘要第一个被引导程序检测到。因为这样,所以虽然你进98时没动作,但是登陆98后,此时所有的盘都已经定下来了,并且硬盘分区表已经复制了一份到内存里供操作系统使用。所以此时它就可以大胆的去改所有分区的分区表了。(这个动作也有可能是在你退出98时做的,只要保证你重启时F盘已经改到C盘去就行了,另一种可能就是:System Commander准备了两份硬盘分区表,你进哪个系统,它就调用哪份)。而你重启系统后进入DOS时,此时的所有分区表已经被改变,当你DIR E或DIR F时,DOS读取C盘分区表第三个16字节数据,可是此时这里的数据已经被改动过,变成上面的一大堆0了。所以产生非法操作。DOS报告错误!

可以尝试的解决办法:
就是把启动选项由默认的XP启动改成98启动,这样,只有在进XP系统时,System Commander才会有动作!否则这软件也太垃圾了!!!1
当然,我想你进到98去卸载该软件也可以解决该问题。


[此贴子已经被作者于2004-11-19 4:40:52编辑过]



作者: chujiafu     时间: 2004-11-19 00:00
     上述问题我已经解决了。过程:      大约在半月以前,我为了加快系统的启动速度,把CMOS中的第一项Standard CMOS Setup中的Auto detect IDE Hardisk由Auto(自动)改为了Manual(手动),从此就出现了上述问题。上网看了大家的意见后,把硬盘的工作模式改为LBA,但System Commander 7.05都不能启动了,于是又把硬盘的工作模式改回Auto。由此想到,是不是把Auto detect IDE Hardisk改为Manual后才出现问题的呢?于是大着胆子又把Auto detect IDE Hardisk改为Auto,问题解决了。无论如何,得感谢大家,因为给了我不少的帮助,让我也学到了不少的的知识。
作者: 不得不爱     时间: 2005-10-1 13:06
这是双主分区引起的,如WIN98安装在第一分区的话,将第二分区转为逻辑分区,再从新安装XP即可,以后就不会有问题了!!!!!!!!!!!
作者: Climbing     时间: 2005-10-1 22:35
请楼上这位兄弟不要再重复顶起老帖子了,你的回答并不正确。