中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-23 22:10
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » 【转帖】没软驱也从软盘引导系统(vfloppy的用法) 查看 6,199 回复 51
16 发表于 2003-11-14 00:00 ·  中国 浙江 宁波 联通
中级用户
★★
积分 295
发帖 70
注册 2003-07-24 00:00
23年会员
UID 7462
性别 男
状态 离线
以下是引用不点在2003-11-11 23:35:09的发言:
老兄提供的地址不能上传,多次重试也不行。已经上传到这里:

ftp://ftp.cosoft.org.cn/incoming/grub_t01.exe

这个几天测试一下,希望作者多改掉一些BUG,我也是在虚拟机里试,GRUB不大安全,怕怕。
17 发表于 2003-11-15 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
以下是引用cba-xyz在2003-11-14 20:16:22的发言:
这个几天测试一下,希望作者多改掉一些BUG,我也是在虚拟机里试,GRUB不大安全,怕怕。


怕怕,这就对了。我最害怕胆子大的人了。我赞成小心谨慎严肃的人。

可以说,最近出现的这个 BUG,实在是太伤脑筋,恐怕不知道什么时候才能彻底解决了。所以我可不愿意鼓励大家现在都来测试。在提供给大家公开测试之前,我自己首先应当把已经发现的问题都解决掉。

我希望接下来的正式版本要经过广泛的测试,应当是十分稳定的。
因为我们亲手创建,这个世界更加美丽。
18 发表于 2003-11-16 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
感觉 GRUB 所出现的问题,主要还像是属于 win98 的 BUG。我详细检查了 grub 仿真部分的代码,没有发现任何可疑的地方。所以,把这一情况当作一个特例来处理,也就是,当扇区不是以 55 AA 结尾时,禁止将它写入仿真驱动器的第一扇区。好了,再测试吧。

ftp://ftp.cosoft.org.cn/incoming/grub_t04.exe
因为我们亲手创建,这个世界更加美丽。
19 发表于 2003-11-16 00:00 ·  加拿大 安大略省 多伦多
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
不点:刚试了这个T4版,不过在我的电脑上用GRUB启动Win98时当不禁止用“32位(保护模式)磁盘存取”时仍然出现蓝屏或黑屏错误而死机,虽然和T1版相比重启后发现软盘IMG没有损坏。
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

20 发表于 2003-11-17 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
我也发现了这个问题,并且,感觉到问题十分严重,也比较奇怪。

我用

map (hd0,0)+1 (fd0) 这是把 A: 盘映射到 C: 盘,所有对 A: 盘的操作,都将转向 C: 盘了

chainloader (hd0,0)+1

boot

启动,结果,C: 盘没事,但 A: 盘所有的偶数字节都显示成 00。

因为我们亲手创建,这个世界更加美丽。
21 发表于 2003-11-18 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
再看看这个:

ftp://ftp.cosoft.org.cn/incoming/grub_t06.exe

应当差不多了。

我用

map (hd0,0)+1 (fd0)

chainloader (hd0)+1

boot

可以启动 C: 盘上的 win98 了。在 win98 中察看 A: 盘,可以发现 A: 盘的大小是 4G,内容也和 C: 盘完全一样。

A: 盘的大小可以是任意的,这应当比较过瘾了。
因为我们亲手创建,这个世界更加美丽。
22 发表于 2003-11-18 00:00 ·  加拿大 安大略省 多伦多
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
我刚才下载了GRUB的T6版试了,不过发现在我的VMWare环境中,只要用GRUB虚拟了软驱(不管是map (hd0,0)/xx/xx (fd0)还是map (hd0,0)+1 (fd0)等),然后用chainloader+boot启动DOS(此时一切正常),再输入WIN命令启动Win98(未屏蔽“保护模式磁盘存取”)时总是出现"Unable to write to Drive C"之类的蓝屏错误并死机,不知是什么原因?
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

23 发表于 2003-11-18 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
你能否这样试验一下:

map (hd0,0)+1 (fd0)

chainloader (hd0)+1

boot

看看这样能否启动 win98 ?

因为我们亲手创建,这个世界更加美丽。
24 发表于 2003-11-18 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
不点,上次就是这样试的呢,不过可惜不行。
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

25 发表于 2003-11-18 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
在我的vmware上, 用两种方法启动, 结果是不同的.

如上所说, 第一种从硬盘启动成功:

map (hd0,0)+1 (fd0)

chainloader (hd0)+1

boot

第二种从软盘启动失败.

map (hd0,0)+1 (fd0)

map --hook

chainloader (fd0)+1

boot

没有出现蓝屏, 但是机器死锁了, 不能进入 win98

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

我们来猜测一下, 第一种启动成功, 是因为 C: 是启动盘, win98 把这个盘实施 "保护模式的磁盘存取", 而把 A: 盘实施 "实模式的磁盘存取", 这是通过的, 所以成功了.

第二种启动失败, 是因为 A: 盘是启动盘, win98 试图把 A: 盘实施 "保护模式的磁盘存取", 但是, 由于 GRUB 仿真的磁盘不能进行 win98 的 "保护模式的磁盘存取", 或者说 win98 本身不支持被仿真磁盘的 "保护模式的磁盘存取", 所以, windows 死掉了.

禁止 win98 的 "保护模式的磁盘存取" 之后, 问题得到解决, 这佐证了上述的猜测.

我感觉这已经走到尽头了, 没办法. 除非谁能改进一下 win98 的 "保护模式的磁盘存取" 的驱动程序.

===========

上述两种启动有着本质的不同, 一个从 C: 盘, 一个从 A: 盘. 表面上看起来类似, 但实质上是不一样的(关键之处就在于是从哪个盘启动的). Wengier 兄是否再试试.

如果上述猜想成立的话, 我们基本上就可以收工了.

因为我们亲手创建,这个世界更加美丽。
26 发表于 2003-11-18 00:00 ·  中国 浙江 宁波 联通
银牌会员
★★★
积分 1,001
发帖 309
注册 2002-11-19 00:00
23年会员
UID 283
性别 男
状态 离线
用vfloppy启动系统后 怎么用软区呀?
27 发表于 2003-11-19 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
再报告一下新的测试结果。

这次从软盘居然也启动了 win98, 而 win98 的 "保护模式的磁盘存取" 并未关闭。

map (hd0,0)/dos98.img (fd0)

chainloader (hd0,0)/dos98.img

boot

进入 win98 之后,第一次访问软盘还正常,第二次访问软盘,速度奇慢。

第三次访问软盘,win98 报告软盘没有格式化。用 debug 看看软盘的内容,结果,软盘所有扇区在第偶数个字节都变成 00 了。

看来 win98 还是很难伺候的。

整体印象是,win98 对于与实模式兼容的磁盘操作没有经过充分测试,它潜藏着很严重的 BUG。为了尽量伺候好 win98,我们可能得再多编写一大段处理程序,尽量躲过它的 BUG。
因为我们亲手创建,这个世界更加美丽。
28 发表于 2003-11-19 00:00 ·  加拿大 安大略省 多伦多
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
不点:既然已经基本确定是Win98的“保护模式磁盘存取”自己的BUG了,不如在GRUB的说明文件中加个提示,就说用GRUB虚拟软盘后启动DOS->Win98时不要启用那个模式就行了,或者给GRUB加一段代码让它发现开始启动Win98时自动禁用Win98的“保护模式磁盘存取”功能,如何?免得再去伺侯Win98的"“保护模式磁盘存取”这个麻烦的东东了。


Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

29 发表于 2003-11-19 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
Wengier 兄所说,也正是我想要做的。如果最终不能解决这个难题,那么这就是一个退路。

但是,我实在不想放弃。早期 GNU GRUB 的开发者之所以添加了 map 命令,其目的就是伺候 windows 不能从 D: 盘启动这个弱点。遗憾的是,用了 map 映射之后,照样不能启动 D: 盘上的 windows。在 GNU GRUB 的代码中表明 dangerous ,说明这一映射是不安全的。我曾经用 map 映射在真实机器上启动 D: 盘上的 DOS,但没有用它来启动 D: 盘上的 windows。有人报告说不能启动 D: 盘上的 windows。

然而早期,开发者们没有 VMWARE 这类仿真器。今天我们有了这类方便的工具,是该坚持把技术做到完美了。如果最终不能安全地启动 windows,我自己就感到很失望,我会认为先前的努力都是白费。我想再试试,尽力而为,不想轻易就投降。有了诸位可爱的中国人的帮助,我们达到了今天这个地步,我们的成功就在于,我们发现了问题的根源。这很重要。如果发现不了问题的根源,那就根本没有希望。现在我们发现了问题的根源,只剩下要找到解决的办法了。尽管是伺候 win98,但也值得去做一做,毕竟 win98 在其它方面都是不错的。我相信最终会有满意的解决的。
因为我们亲手创建,这个世界更加美丽。
30 发表于 2003-11-20 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
又做了一个,再试试吧。

ftp://ftp.cosoft.org.cn/incoming/grub_t07.exe

这次总不至于没有任何进步吧?

我的测试,可以从软盘映象启动 win98 了。在我的虚拟机上没有发现其它毛病。
因为我们亲手创建,这个世界更加美丽。
论坛跳转: