无忧启动论坛

标题: firadisk与WINVBLK驱动问题!!! [打印本页]

作者: 2012sxz    时间: 2012-8-18 22:20
标题: firadisk与WINVBLK驱动问题!!!
title   运行PE载入内存和FIRADISK.IMG加载到fd1,IASTOR.IMG加载到fd0  
set /p /u iso=please input ISO_file:
find --set-root /BOOT/IMGS/IASTOR.IMG && map --mem /BOOT/IMGS/IASTOR.IMG (fd0)
find --set-root /BOOT/IMGS/FIRADISK.IMG && map --mem /BOOT/IMGS/FIRADISK.IMG (fd1)
find --set-root  %iso%
map --mem %iso% (0xff)
map --hook
chainloader (0xff)
boot

启动PE后A盘:srs,B盘:FIRADISK


title   运行PE载入内存和FIRADISK.IMG加载到fd1,IASTOR.IMG加载到fd0set /p /u iso=please input ISO_file:
find --set-root /BOOT/IMGS/FIRADISK.IMG && map --mem /BOOT/IMGS/FIRADISK.IMG (fd1)
find --set-root /BOOT/IMGS/IASTOR.IMG && map --mem /BOOT/IMGS/IASTOR.IMG (fd0)
find --set-root  %iso%
map --mem %iso% (0xff)
map --hook
chainloader (0xff)
boot

启动PE后A盘:FIRADISK,B盘:srs


title   运行PE非载入内存和WINVBLK.IMG加载到fd1,IASTOR.IMG加载到fd0
set /p /u iso=please input ISO_file:
find --set-root /BOOT/IMGS/IASTOR.IMG && map --mem /BOOT/IMGS/IASTOR.IMG (fd0)
find --set-root /BOOT/IMGS/WINVBLK.IMG && map --mem /BOOT/IMGS/WINVBLK.IMG (fd1)
find --set-root  %iso%
map %iso% (0xff)
map --hook
chainloader (0xff)
boot

启动PE后A盘:WINVBLK,B盘:srs


title   运行PE非载入内存和WINVBLK.IMG加载到fd1,IASTOR.IMG加载到fd0
set /p /u iso=please input ISO_file:
find --set-root /BOOT/IMGS/WINVBLK.IMG && map --mem /BOOT/IMGS/WINVBLK.IMG (fd1)
find --set-root /BOOT/IMGS/IASTOR.IMG && map --mem /BOOT/IMGS/IASTOR.IMG (fd0)
find --set-root  %iso%
map %iso% (0xff)
map --hook
chainloader (0xff)
boot

启动PE后A盘:srs,B盘:WINVBLK


都使用FIRADISK或WINVBLK驱动,map 顺序不同,为什么A盘、B盘加载的东西不一样?
FIRADISK与WINVBLK驱动使用同样的代码为什么A盘、B盘加载的东西不一样?

[ 本帖最后由 2012sxz 于 2012-8-19 00:09 编辑 ]
作者: 不点    时间: 2012-8-19 05:50
那得问问 firadisk/winvblock 的开发者了。他们有可能忽略 map 中的盘符指定,而用自己的某种偏好来赋予盘符,比如根据 map 的顺序来赋予盘符。

你可以给他们提建议,要求根据 map 的软盘盘符的定义来赋予盘符。

你也可以忽略这个差别,如果这并不特别影响你的使用的话。
作者: 2012sxz    时间: 2012-8-21 09:29
请问不点大师:
如果我想A盘固定加载SRS驱动,B盘加载firadisk/winvblock驱动,应该如何做?
作者: 不点    时间: 2012-8-21 10:19
在 DOS 、实模式阶段,fd0 就是 A 盘,fd1 就是 B 盘。实模式总是使用 BIOS,所以,实模式下这总是错不了的。

但进入保护模式以后,保护模式的驱动程序不参考 实模式有关 fd0 和 fd1 的指定,而是由驱动程序的开发者随意指定一个盘符。所以,你进入保护模式由 firadisk/winvblock 接管控制以后,就没办法了。

你可以考虑给驱动程序的开发者写信,要求他们遵照实模式下的 fd0 和 fd1 的指定来赋予保护模式下的软盘盘符,这个应该很容易做到,不会产生任何副作用。

如果你的程序也只是在实模式下访问 A 盘 和 B 盘,那么你完全不用考虑这个问题。只有当你的程序是在保护模式运行的时候,你才有必要考虑这个问题。

在保护模式下,建议你用别的方法来区分 A、B 盘,比如用卷标,再比如用一个特殊的文件名作为标号(根目录下建立一个标志文件 disk_A,disk_B),等等。
作者: 2011bigbarry    时间: 2012-8-30 20:35
原帖由 2012sxz 于 2012-8-18 22:20 发表
FIRADISK与WINVBLK驱动使用同样的代码为什么A盘、B盘加载的东西不一样?



你凭什么说它们使用同样的代码?
我可以负责任地告诉你,它们的代码完全不同!!
作者: 不点    时间: 2012-8-30 22:01
标题: 回复 #5 2011bigbarry 的帖子
你没能理解他的本意。他所指的,并不是你想象的那个意思。

他是说他自己的 menu 代码相同,对于 firadisk 和 winvblock 来说,结果却不同。仅此而已。
作者: zhaohj    时间: 2012-8-31 07:59
我曾经写过使用firadisk或winvblock驱动仿真软盘(iso安装系统)的问题,他们对(0)\(1)在内存中的位置是有要求的:
firadisk:要求先(0)后(1)
winvblk:要求先(1)后(0)
不然在保护模式下会提示你插入A盘(你上面的内容是启动PE,只要一次读盘就可以,所有不存在这个问题)。
具体可以查查我的帖子。
作者: yjqd    时间: 2016-10-21 08:19
zhaohj 发表于 2012-8-31 07:59
我曾经写过使用firadisk或winvblock驱动仿真软盘(iso安装系统)的问题,他们对(0)\(1)在内存中的位置是有 ...

firadisk:要求先(0)后(1)
是不是不管firadisk放在0或1都要先map 0

winvblk:要求先(1)后(0)
是不是不管winvblk放在0或1都要先map 1
----------------------------------------------------------------
你的有关firadisk或winvblock的帖子是这个吧
http://bbs.wuyou.net/forum.php?m ... p;extra=&page=1

作者: zhaohj    时间: 2016-10-26 16:14
yjqd 发表于 2016-10-21 08:19
firadisk:要求先(0)后(1)
是不是不管firadisk放在0或1都要先map 0

是的啊,好久没来了。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3