无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)虚位以待广告联系 QQ:184822951 微信:wuyouceo
查看: 3847|回复: 19

[讨论]发现一个MS-DOS 7.10的bug:不能访问FAT32分区

[复制链接]
发表于 2007-7-11 15:11:15 | 显示全部楼层 |阅读模式
这里的MS-DOS 7.10是指DOS联盟论坛站长Wengier发布的MS-DOS 7.10,据我了解,它是Win98所带的DOS的改进版,去掉了98的启动logo。

事情是这样的:我在给硬盘分区时,经常会分出多个主分区(因为我一直喜欢将操作系统独立安装到某个主分区的方式,比多个操作系统共享主分区维护起来要简单),当然,总要保留一个扩展分区用于存放用户的数据(我的习惯是主分区安装操作系统及常用应用软件,而扩展分区的逻辑盘用来保存用户的数据和软件),在这些主分区中,我总是习惯使用FAT32文件系统,其中的某个主分区,我一般是为MS-DOS 7.10保留的,在上面我会放一些常用的DOS工具(例如ghost、pqmagic等)以用于系统维护,然后多分区启动菜单我习惯使用BootStar来管理(当然,现在用grub4dos也应该很不错,不过习惯是很难改变的,我还是一直使用BootStar),但这个分区上的DOS很容易出现启动故障:首先,DOS的引导扇区好像不是通用的,某个主分区只能使用特定的引导扇区(当然,我对DOS的引导扇区并不了解,不知道这样说对不对);其次,如果我在启动主操作系统时不用BootStar将这个DOS分区隐藏,那么可以使用BootStar自由的两个分区的操作系统之间切换,但一旦我在启动主操作系统分区时将DOS主分区隐藏了,再次从BootStar进入这个DOS主分区时就可能遭遇启动失败的情况(DOS的引导过程出现了问题,原因不明),这时候只能通过sys命令重新传送DOS系统才能修复这个启动错误,但这很麻烦。第三,很多时候,DOS不认这个DOS主分区,症状就是在XP下能够看到这个分区的所有内容,但进入DOS后,这个分区却是乱码或者根本不能访问(Invalid Media之类的提示),如果我在DOS下格式化这个分区,DOS可以访问了,但DOS下看到的内容和进入XP后看到的内容却不相同,真是奇哉怪也。

前天,我给同事的一台Sony VAIO笔记本重新安装系统,第一主分区是FAT32,安装XP Pro,第二主分区就是这个DOS分区,剩下的空间是扩展分区,由于我以前不断遭遇到DOS启动失败的情况,因此这次我就想改进这个DOS分区,尝试让它不再遇到启动失败的故障,办法当然就是不再使用不稳定的DOS引导扇区,怎么办呢?将引导扇区换成grub4dos的引导扇区(这个引导扇区是不会变化的),然后在用grubinst安装引导扇区到该DOS分区时使用-b命令指定一个特别的引导文件名(如myldr,也就是一个被我自定义了内置引导菜单的grldr),这样启动过程就变成了:grub4dos引导扇区 -> myldr -> MS-DOS 7.10,当然,myldr的内置菜单中使用这样的方式引导DOS:

title MS-DOS 7.10
find --set-root /myldr
chainloader /io.sys

真奇怪了,这样做能够正常引导起来DOS,但却提示输入command.com的路径,怎么会这样呢?

我突然发现,无论以何种方式引导到DOS状态,都无法看到DOS所在主分区的内容(内容是乱码),而在XP下这个分区的内容却可以正常显示,在grub4dos的命令行方式下用cat命令也可以正常访问这个DOS分区的所有内容,只有DOS自己访问不了它。

不知道经常使用DOS的各位有没有发现过这种问题,或者有没有什么好的解决办法,欢迎大家在这里提出来讨论。
发表于 2007-7-11 15:22:25 | 显示全部楼层
呵呵,终于有碰见出现这个情况的朋友了,以前就是看中Wengier的DOS体积小,但是使用后多次出现类似的情况,曾经在DOS论坛询问,但是几乎没人反映有类似情况出现,今天终于碰见了,呵呵,改MS原来的IO.SYS就OK了。
回复

使用道具 举报

发表于 2007-7-11 15:32:38 | 显示全部楼层
看来还是老老实实用原版的好。
改得再好,也难免会出问题。
回复

使用道具 举报

 楼主| 发表于 2007-7-11 16:01:17 | 显示全部楼层
是这样吗?看来我要督促Wengier再修改一下他的MS-DOS 7.10了。
回复

使用道具 举报

发表于 2007-7-11 20:41:16 | 显示全部楼层
那个是解除逻辑锁专用的。
回复

使用道具 举报

发表于 2007-7-12 01:14:16 | 显示全部楼层
没遇到这种情况,当然io.sys也不知道是哪个版的,同样是没logo的。

我经手的机器几乎全部都是多主分区的,不过我用的引导管理器是spfdisk的,一切正常。
回复

使用道具 举报

发表于 2007-7-12 08:12:35 | 显示全部楼层
路过............帮顶一下啦!
回复

使用道具 举报

 楼主| 发表于 2007-7-12 09:09:03 | 显示全部楼层

回复 #6 laozhao 的帖子

看来你遇到的还是少啦,这么多人都反映有问题,DOS联盟论坛还有人反映win9x全系列的DOS对多主分区支持都不太好,甚至都不能算是bug,而是缺陷。而且,这个跟启动管理软件没有什么关系了,因为启动管理软件只不过是在MBR中的分区表作手脚,启动到DOS后,跟它们就没有什么关系了。
回复

使用道具 举报

发表于 2007-7-12 09:21:49 | 显示全部楼层
DOS联盟论坛还有人反映win9x全系列的DOS对多主分区支持都不太好

如果是酱紫,那么win98自带的系统启动软盘也会出这问题啰?原版的IO.SYS会对已经在内存7c00段的分区表扫描了一遍,所以会死在循环分区上,而改过的IO.SYS会跳过分区扫描,也许问题就出在这。看来修改IO.SYS并不是一个好主意,也许我们在IO.SYS之前扫描在内存7c00段的分区表,把不良的分区表项从内存7c00段的分区表清掉才是一个好地解决办法。

[ 本帖最后由 netwinxp 于 2007-7-12 09:23 AM 编辑 ]
回复

使用道具 举报

发表于 2007-7-12 09:44:48 | 显示全部楼层
其实ms操作系统并不是直接从MBR读取分区表DPL(DOS Parameter List)和从分区引导扇区直接读驱动器参数块DPB(Drive Parameter Block),它是在启动过程中把内存中相应的参数信息保存到系统数据区,而像GHOST和一些分区软件则从MBR和分区引导扇区直接读,酱紫对于具有非常规的启动管理器,使用磁盘工具和一键还原有可能导致灾难性后果。这种情况经常发生在具有恢复光盘的笔记本和高端原装机、安装硬盘厂家提供的大硬盘支持工具、硬盘加密锁等。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-9-25 09:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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