无忧启动论坛

标题: grub启动bt3.iso的困惑(已解决) [打印本页]

作者: ipqmp    时间: 2009-5-2 21:27
标题: grub启动bt3.iso的困惑(已解决)
从网上下载的BT3.iso文件把他解压在U盘或者是硬盘上,通过grub4dos的相关命令可以启动bt3.问题就在于能不能不解压iso文件直接启动bt3.0不知道这样行不行.我想先把bt3.iso  map --mem  (hd32)  然后再用kernel (hd32)/....  initrd (hd32)/....来启动他,但是怎么也不行,我尝试过用此方法来启动过ubuntu8.10.iso文件,不知道这个bt3.iso要怎么搞,希望论坛中的朋友解决下.

[ 本帖最后由 ipqmp 于 2009-5-4 07:07 编辑 ]
作者: yichya    时间: 2009-5-3 17:07
这个不行,不过我不知道你是怎么把ubuntu 8.10启动起来的?难道说UBUNTU的引导器突破了实模式和保护模式间的界限????
作者: fujianabc    时间: 2009-5-3 17:21
原帖由 yichya 于 2009-5-3 17:07 发表
这个不行,不过我不知道你是怎么把ubuntu 8.10启动起来的?难道说UBUNTU的引导器突破了实模式和保护模式间的界限????

ubuntu 利用了wubi专用的内核,可以支持从iso启动。但kernel和initrd还是要放在iso外的。
作者: ipqmp    时间: 2009-5-3 20:49
标题: 回复 #2 yichya 的帖子
在C盘或者其他盘里有ubuntu.iso就可以了,不用解包
map (hd0,X)/ubuntu.iso (hd32)
map --hook
root (hd0,X)
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso
initrd (hd32)/casper/initrd.gz

同样的,BT3.iso就是不能用这种方式启动(当然bt3与ubuntu的启动参数是不一致的)
没有其他方法的话,还是老老实实的解压来运行bt3,不过心里不爽啊,呵呵
作者: 不点    时间: 2009-5-4 00:42
ipqmp, 这个问题是不可能解决的,除非你给 bt3 做一些修补。

ubuntu 的 ISO 也只是勉强支持了仿真启动,或者说是碰巧而已。

其实,真正支持 grub4dos 的 iso 仿真启动功能的 Linux 光盘,目前我只知道 pmagic(就是 Parted Magic,注意这个不是 Windows 的“分区魔术师”)和 UBCD(中文大概可以叫做“终极可启动光盘”)。这两者才算是真正完美支持 ISO 仿真启动的,启动方法很简单,也很统一:

map .... (hd32)
map --hook
chainloader (hd32)
boot

Ubuntu 之所以能够用你说的办法启动,正是因为它有 iso-scan/filename=/ubuntu.iso 这一段的支持。Ubuntu 的启动脚本能够检测到这一参数,并自动从所有的设备中寻找 /ubuntu.iso 文件,找到后就用 mount 命令挂上,于是 ISO 中的文件得以在 Linux 下能够被访问到。

bt3 以及其他的 Linux 当然都有启动脚本,只要你懂得修改启动脚本,你就能够让它像 PMagic 和 UBCD 那样完美支持 grub4dos 的 ISO 启动功能。

启动失败的技术原因在于,进入 Linux 的保护模式之后,Linux 不再使用 BIOS 了,因此它就找不到虚拟光盘了。它可能试图去访问你的真实光驱,而因为你没有真实光驱和这张光盘盘片,所以就失败了。改变脚本的目的,是让 Linux 的启动过程能够发现它所需要的启动文件不是在真实光驱上,而是在硬盘或者U盘的 ISO 文件中。让 Linux 的后续启动过程从 ISO 文件中读取所需要的启动文件,这样就成功了。
作者: ipqmp    时间: 2009-5-4 07:07
感谢楼上几位的讲解,又学到不少知识
作者: lf529892    时间: 2009-6-3 13:54
看样子很难阿!听的不是很懂
作者: yejia6    时间: 2009-12-8 18:01
楼主既然解决了也拿出来分享一下呀
作者: 坏小子    时间: 2009-12-9 12:47
听说bt4才是基于ubuntu,bt3是sla* linux,记不清了,不是一个发行版本呢!




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