无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 11886|回复: 11
打印 上一主题 下一主题

有没有办法引导iso提取出来的bif引导文件?

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-21 17:10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教!有没有办法用某种引导器引导iso提取出来的bif引导文件?
比如说,先做好一个USB启动盘(假设是GRUB引导),将某个可启动的iso的文件全部提取到U盘,同时用UltraISO提取iso的引导扇区为bif文件到U盘,用GRUB引导原光盘的引导文件bif?
2#
发表于 2009-11-21 18:35:44 | 只看该作者
如果是EZB做的,则不行;GRUB、IS0LINUX引导的可以。
回复

使用道具 举报

3#
 楼主| 发表于 2009-11-22 17:27:13 | 只看该作者
那么在menu.lst中应该怎么写呢?
回复

使用道具 举报

4#
发表于 2009-12-1 21:11:45 | 只看该作者
把你需要引导什么类型的启动盘说具体点。
回复

使用道具 举报

5#
 楼主| 发表于 2009-12-1 22:16:21 | 只看该作者
我的本意是想能否实现这样的需求:对于一个ISO文件,我可能不是很清楚它的引导类型,但是我可以用UltraISO提取其引导文件,然后我在U盘上制作自己的引导,加载ISO提取的引导文件。就像硬盘上NTLDR引导方式可以在boot.ini中加载GRLDR或者PE引导文件一样。这样我可以用一种简单通用的方式在U盘上使用别人做好的ISO文件。GRUB通过map的方式加载iso要求文件连续存放,或者全部加入内存,对加载速度有影响。

照dgxhls兄的意思,是要知道ISO文件文件的具体引导方式。如果我知道ISO是GRUB引导,那么U盘GRUB直接引用ISO的memu.lst就可以了。但不是我最想要的。

不过,如果能很轻易识别ISO的引导方式,以及熟悉各种引导方式之间二次引导在U盘上的实现方法,倒也行。
回复

使用道具 举报

6#
发表于 2009-12-2 17:39:33 | 只看该作者
理解楼上的思路,同求方式方法。感谢版主关照
回复

使用道具 举报

7#
发表于 2009-12-2 21:21:52 | 只看该作者
如果这能解决,的确是个简单易懂的方式,和搭积木一样,只需知道接口
回复

使用道具 举报

8#
发表于 2009-12-2 21:27:48 | 只看该作者
根据楼主的描述,一般情况下是做不到的。这涉及到很深刻的问题。涉及到当初规范的制定。

启动 ISO(光盘) 的方式,与启动软盘和启动硬盘的方式是不一样的。

启动 ISO,需要的是 ISO 的启动信息(ISO 的引导扇区,等等)。我们知道,ISO 的格式与硬盘和软盘不同。硬盘有分区,有 MBR,软盘有自己的引导扇区和文件系统。而光盘呢,是一个叫做 ISO9660 的文件系统。当初的可启动光盘规范的制定者们选择了与那时早已成熟了的磁盘格式完全不同(即不兼容)的格式,那就是 ISO9660 格式。这就使得光盘的引导无法与磁盘的引导相互兼容。比如说,如果光盘是 no-emulation 模式的,那么它要读取的光盘扇区大小是 2048 字节。这就与通常的磁盘不兼容(通常U盘也是软盘和硬盘格式,除非量产为 USB-CDROM 的情况)。因此,你提取的 BIF 引导扇区可能根本就无法找到它期望的光盘扇区,也就注定要引导失败。光盘引导格式除了 no-emulation 模式之外,还有 floppy-emulation 和 harddisk-emulation 模式,是一个比较复杂的光盘引导规范。无论是哪个模式,你都不能简单地通过引导从光盘提取出来的引导信息文件而引导你的 U 盘,这是由光盘和硬盘之间的巨大差别、它们之间的不兼容而引起的。

这就是说,想找到一个通用的方法,是不可能的。

具体到某一个光盘,你当然有可能找到一种有针对性的方法,那是另外一个问题了。

补充修正:

也许 ISO9660 是很早就形成了的文件系统格式。而“可启动光盘规范”的出现或许要晚于 ISO9660 格式。大概为了与早已成为了标准的硬盘和软盘格式相兼容,“可启动光盘规范”的制定者们推出了 floppy-emulation 和 harddisk-emulation 这两种模式。但这样一来,就涉及到 emulation(仿真)了,换句话说,如不经过仿真则无法与软盘和硬盘格式兼容。no-emulation 就是“无仿真”的意思,那么显然,从字面就可以猜测到,这种 no-emulation 模式是无法与硬盘和软盘格式相兼容的,正如前面已经提到了的,其扇区的大小(2048字节)就与硬盘和软盘的扇区大小(512字节)不同,而且 no-emulation 既不采用硬盘的分区表和MBR,也不采用软盘的文件系统,而是考虑到与早期光盘格式相兼容而制定出的一个新的规范,这样,不兼容性就成了历史性的了,有它的必然性的一面,不能完全归咎于“规范制定者们”故意制造不兼容性。市面上这三种模式的可启动光盘都是存在的。微软 Win98 的光盘就是 floppy-emulation 模式的,而 Win2000 以后的安装光盘,微软使用了 no-emulation 的模式。harddisk-emulation 也有被采纳的情况,但微软似乎并未在 Windows 系列安装光盘上采用 harddisk-emulation。整体来说,floppy-emulation 和 no-emulation 的使用率都很大,而 harddisk-emulation 的使用则比较罕见。

[ 本帖最后由 不点 于 2009-12-6 22:17 编辑 ]
回复

使用道具 举报

9#
发表于 2009-12-2 23:31:44 | 只看该作者
不点说的正是我4楼为什么要求LZ说具体点的原因。
回复

使用道具 举报

10#
 楼主| 发表于 2009-12-3 19:01:46 | 只看该作者
谢谢不点大侠,也谢谢dgxhls超级版主。我所设想的行不行都没关系,能得到解答并知道为什么是最重要的,谢谢了!
回复

使用道具 举报

11#
发表于 2009-12-3 21:26:17 | 只看该作者
找了还久,怪不得找不到
回复

使用道具 举报

12#
发表于 2010-4-3 16:48:38 | 只看该作者
linux的光盘原样提取到u盘
在grub中如何写才能像直接从光盘启动那样有像直接从光盘启动的菜单?
就像veket-2.39.iso一样
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-6-28 13:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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