无忧启动论坛

标题: 【已解决】请教个问题,以img文件虚拟软盘启动后,如何再加载一个iso虚拟一个光驱? [打印本页]

作者: 2013falcon    时间: 2013-1-22 10:18
标题: 【已解决】请教个问题,以img文件虚拟软盘启动后,如何再加载一个iso虚拟一个光驱?
以下菜单只启动了一个虚拟软盘,请问如何才能用该软盘启动后再加载一个ISO,并且能够在DOS下访问该ISO虚拟的例如C:的盘符?

title Boot by Floppy (只能启动了一个虚拟软盘)
find --set-root --ignore-floppies --ignore-cd /boot/big.img
map --mem /boot/big.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

[ 本帖最后由 2013falcon 于 2013-1-22 15:57 编辑 ]
作者: 2011mysuperdos    时间: 2013-1-22 11:04
标题: 回复 #1 2013falcon 的帖子
你是要再加载一个光驱镜像在DOS中使用吗?
作者: 2013falcon    时间: 2013-1-22 11:07
标题: 回复 #2 2011mysuperdos 的帖子
嗯,是在DOS下使用,img是静态的,iso则是在Windows内动态生成,内含一些信息给img内的程序进行调用。
虽然用ntfsdos也可以实现,但盘符可能不准确,容易导致错误,所以希望用载入iso或者类似的方法来解决。
作者: 不点    时间: 2013-1-22 11:33
根据你的目的,我觉得有很多种实现方法。不一定要用 ISO 的方式。

比如,你可以用 “第二个虚拟软盘” 的方式。

注意,grub4dos 里面的虚拟软盘,可以不只是 1.44M 的大小,可以像普通的硬盘分区那样大。

或者,干脆在硬盘上做一个 FAT32 的分区(以便让 DOS 识别),这就不再需要 ISO 文件了。

用 ISO 的方式当然也行得通,只不过在我看来,有些曲折了。

title Boot by Floppy
find --set-root --ignore-floppies --ignore-cd /boot/big.img
map --mem /boot/big.img (fd0)
map --mem /boot/my_iso.iso (0xff)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

这样便可。不过有一个问题,你需要在 DOS 的 config.sys 文件中添加 eltorito.sys 这个驱动(最新版的 grub4dos 中已经包含了它),以及在 autoexec.bat 中添加微软的 MSCDEX 程序,来驱动由你这个 ISO 所虚拟出来的光驱。

因此我认为,用 ISO 是很麻烦的。不如直接用 “第二个软盘” 来得方便:

title Boot by Floppy
find --set-root --ignore-floppies --ignore-cd /boot/big.img
map --mem /boot/big.img (fd0)
map --mem /boot/my_floppy2.img (fd1)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
作者: 2013falcon    时间: 2013-1-22 13:37
标题: 回复 #4 不点 的帖子
感谢"不点"大神热心回复,目前iso和fd方式都测试通过,您的慷慨解答让我节省了不少时间,再次表示感谢。

最后还想再请教一个问题,有推荐能够编辑软盘映射文件img的命令行工具吗?
作者: 2013falcon    时间: 2013-1-22 14:25
生成 img 的软件,这款有人用过吗?
http://www.nu2.nu/download.php?sFile=bfd107.zip
作者: 不点    时间: 2013-1-22 14:58
标题: 回复 #5 2013falcon 的帖子
还真是抱歉,我对于 DOS 并不真的熟悉。我得承认,我不了解 DOS 时代究竟有没有一款合适的工具,来生成 IMG 文件。不过由于 DOS 发展了那么多年,因此我估计是有的。

劳你费心了,如果你找到了,并且很好用,不妨来这里通报一下。




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