无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 10212|回复: 21
打印 上一主题 下一主题

[求助] 这个LIVE CD 如何用G4D引导, 菜单怎么写?

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-3 10:27:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面这个是GRUB菜单
default=0
splashimage=/EFI/boot/splash.xpm.gz
timeout 10
hiddenmenu
title OMSA65-CentOS6-x86_64-LiveDVD
  kernel /EFI/boot/vmlinuz0 root=live:LABEL=OMSA65-CentOS6-x86_64-LiveDVD rootfstype=auto ro liveimg quiet  rhgb
  initrd /EFI/boot/initrd0.img
title Verify and Boot OMSA65-CentOS6-x86_64-LiveDVD
  kernel /EFI/boot/vmlinuz0 root=live:LABEL=OMSA65-CentOS6-x86_64-LiveDVD rootfstype=auto ro liveimg quiet  rhgb check
  initrd /EFI/boot/initrd0.img


如果需要G4D引导该ISO文件如何做》?
2#
发表于 2012-8-3 12:51:35 | 只看该作者
一般而言,Linux 的 LiveCD iso 不支持 grub4dos 的仿真启动功能。但个别的 Linux ISO 的开发者提供 grub4dos 仿真启动支持,典型的是 UBCD。这种 iso 只要用


  1. map    /myiso.iso    (hd32)
  2. map    --hook
  3. chainloader    (hd32)
  4. boot
复制代码


这个通用方式即可启动。


当 ISO 不支持 grub4dos 的仿真启动功能时,有时候它支持以内核参数的方式加载 vmlinuz 和 initrd,例如 ubuntu 的 ISO 就是的。这种情况你仍然有办法启动这个 ISO。

你可以在 google 上用 CentOS liveCD iso boot 之类的关键字来搜索,看看 CentOS 是否可以这样启动,如果可以的话,应该可以找到别人做好的现成的模板,你直接拿来用即可。

然而有许多 Linux 的 ISO 更糟糕,即使你想以内核参数方式直接加载 vmlinux 和 initrd,都不能启动它。它是根本不支持从 ISO 来启动。 如果你对 initrd 的启动脚本比较熟悉,你仍然可以修改它,让它能够自动 mount 你的 iso 文件,即,把这个 iso 当作光驱。正是因为启动之后 Linux 只在真实光驱上寻找光盘的内容,所以,启动才会失败。如果你在 initrd 中能够找到挂载光驱的代码,你也就可以很容易地修改它,让它不只是寻找物理光驱,而是可以寻找各个设备(硬盘、USB 设备、CDROM 设备等等)上的 ISO 文件(可以只找具有特定 Label 的 iso,忽略其它 iso),一旦找到,就自动 mount 上。

如果你不想这么麻烦,那就放弃吧。
回复

使用道具 举报

3#
发表于 2012-8-4 16:03:38 | 只看该作者

回复 #2 不点 的帖子

好像不点在哪有个示范例子,改几行代码的,不记得在哪了
LINUX的大牛们为什么就这么死犟死犟的,不肯多几行代码,让LINUX启动更开放更多元呢
回复

使用道具 举报

4#
 楼主| 发表于 2012-8-5 23:12:37 | 只看该作者

谢谢!楼上两位

我是测试过了, 百度过了, google 过了, 都失败了, 所以才上来请教的, 如果是加载到内存, 就算成功,不是我想要的,解开ISO的方法也就算了, 我是想只提取少量文件,  用GRUB4DOS引导, 能把整个LIVE CD ISO启动起来, 放在U盘,方便我平时使用, 我无所谓放弃不放弃, 上这个论坛, 只是兴趣爱好!


我测试失败也可能是我硬件的问题, 我自己再琢磨琢磨吧, 谢谢, 楼上两位
回复

使用道具 举报

5#
发表于 2012-8-6 10:22:08 | 只看该作者

回复 #3 快雪时晴 的帖子

我觉得不能用 “犟” 来解释。侧重点不同而已。任何一种开发行为,它都有自己的设想、目标、实现的手段等。如果人家本来就没把某方面的事情当作重点去发展、或者根本不把某方面的情况当回事,那么就不能说人家 “犟”。当然了,说 “ 犟 ” 也是有道理的,而不是说绝对不可以认为他们 “犟” 。根据一个人的认识和分析,他认为是什么,那就是什么,总有正确的成分在里面,也总有错误的成分在里面。有一些人把某件事(比如用 ISO 来启动)当回事,然而另外一些人并不把它当回事。这正是这个世界的 “ 多元化 ” 的一种体现。这例子有很多。有人把 Windows 当回事,有人不把 Windows 当回事。有人把 Linux 当回事,有人无动于衷,不把 Linux 当回事。有人把 ARM 当回事,有人不把 ARM 当回事。有人把 x86(PC)当回事,有人不把 x86 (PC)当回事。视侧重点的不同而不同,视认识的不同而不同。不管黑猫白猫,最后能够占领市场、逮住老鼠,就是好猫。八仙过海,各显神通。真理在哪里?谁也说不了,最后靠实践来检验。而实践也是动态的,是变化的,而不是一成不变的。所以,真理也都是相对的。个人的理解,同时又是哲学的味道,希望不至于让人反感(在论坛上有人骂我谈哲学,要把我轰出去,是出于真心,还是出于别的什么,真真假假,谁能弄清楚?)。当然我也理解有人可能会反感。没问题,也许现在反感,将来某一天他又不反感了。世界一直都在变化着,人也一样,会变化的。
回复

使用道具 举报

6#
发表于 2012-8-21 12:05:18 | 只看该作者
今天闲来无事,想接着楼上的话题继续聊。注意:主要内容是哲学和认识论,对此无兴趣者,请跳过。

前面说了,究竟什么重要、什么次要,这在不同的人看来,其结论也是不同的。不同的认识、不同的判断,就得出不同的结论和不同的对待。下面我再补充完善一下,算是一种证明吧。

大家知道 Linux 有很多发行版,每个发行版都有自己的侧重点。比如说,一个叫做 iptux 的软件,国人写的,非常棒,相当于 Windows 下的飞鸽传书,局域网办公必不可少,编译起来也非常容易,然而 Mageia 这个发行版就没有把它放在软件仓库中。而 Ubuntu 的仓库里收录了它。这说明开发者的认识是不同的。我们知道伯乐和千里马,伯乐能够识别千里马,那就动用了他自己的认识。他首先认为那是千里马。而别人就不认为那是千里马,甚至完全相反,认为那是劣等马。

关于 Windows 下的飞鸽传书,我自己也有一个认识过程。当有人首次向我推荐飞鸽传书的时候,我真没瞧得起它。在一个相当长的时期内(至少也有 10 年吧)我拒绝使用它。当看到周围的人都在使用飞鸽传书时,我却觉得这些人都有毛病:微软这么大的公司所做的网上邻居,系统自带,放在那里不用,反而去费劲下载一个第三方的工具来传文件、发消息,我理解不了。有了 Linux 之后,我更是极力向周围的同事推荐 Jabber 等通讯工具,说这比飞鸽传书强多了。但是,周围的人没有一个买账的,依旧使用飞鸽传书。我曾经认为,这些人真的没救,素质太差。直到有一天,公司要求每个职员必须安装飞鸽传书,这才在不情愿的情况下安装了它。经过几年的使用,终于发现,原来飞鸽传书是金子,不是垃圾。进一步了解才知道,飞鸽传书也是开源的软件。又经过一个长期的思辨过程,现在的认识发生了翻天覆地的变化,知道了,飞鸽传书是连微软都比不上的好软件,它比微软的网上邻居以及弹出消息强很多,比那个需要服务器的 Jabber 更是强大无比。在局域网环境,网上邻居实际上已经死亡(只有少数人还在使用共享打印而已),因此,Linux 下用来兼容网上邻居的 samba 软件也丧失了存在的意义。飞鸽传书这个软件与同类其它软件不是比功能性、安全性,而是比方便性。它的方便性是无敌的。这一个优点,压倒了所有的缺点,它被长期的实践证明为优秀的软件。可见,一个认识的获得,是何等的艰难!

转到 ISO 启动的话题吧。grub4dos 中开发 ISO 仿真启动功能,也是由认识而决定的。几年前有人提建议要求开发 ISO 仿真功能,我个人很重视,所以实现了它。如果其他软件的开发者认识不到它的重要性,那怎可能让他们支持 grub4dos 的这个功能呢?一切皆在于认识。我们不能够站在自己的立场上,去强制和要求别人与我们自己有着同样的认识。不仅 Linux 的开发者、发行者没有普遍认识到 ISO 仿真的重要性,就连微软也没有认识到(微软并没有一款软件支持实模式下的 ISO 仿真)。这里所说的 “认识到了”,不等于说是 “正确的”;而 “认识不到”,也不等于是 “错误的”。没有对与错之分,只有认识本身的差异罢了。你认识到了,你就这样行动;你认识不到,你就采取另外的行动,无所谓对错,无所谓好坏。所有的做法,都是正确的。另一方面,ISO 这种光盘格式,在某种认识看来,就是变态的,它的出现本身就是恶意的。仿真启动支持它与不支持它,都不那么重要。尤其是,当 BIOS 被封杀或被淘汰以后,ISO 仿真的意义也就丧失了。所以,任何事情都是两面性的,有好有坏,没有绝对的正确性。

[ 本帖最后由 不点 于 2012-8-21 12:24 编辑 ]
回复

使用道具 举报

7#
发表于 2012-8-24 12:46:30 | 只看该作者
我看了一下ubuntu的方式就是不点所说的在initrd中包含一个iso-scan/filename参数及对应的挂载过程,CentOSLiveCD我没找到这样的参数,要自己写这些shell对我来说还是太困难了。

[ 本帖最后由 yjq635 于 2012-8-24 12:57 编辑 ]
回复

使用道具 举报

8#
发表于 2012-9-10 09:23:47 | 只看该作者

回复 #3 快雪时晴 的帖子

这个其实是因为 光盘内的引导程序 isolinux 不支持仿真驱动器的关系
回复

使用道具 举报

9#
发表于 2012-9-10 10:04:45 | 只看该作者

回复 #8 2011ryoohki 的帖子

不要错怪了 isolinux。

ISOLINUX 并非 Linux,不要被它的名字误导了。Linux 是保护模式的操作系统,ISOLINUX 主要是一个引导管理器,运行于实模式。

grub4dos 的仿真磁盘和仿真光盘,都是天然支持实模式的。所以,ISOLinux 也在 grub4dos 仿真支持的范围之内。

换句话说,Grub4dos 的仿真盘的支持范围涵盖了 ISOLinux,但不能涵盖 Linux 和 Windows 这类保护模式操作系统。保护模式的操作系统必须自己识别和处理 grub4dos 所建立的实模式仿真盘,否则它就可能无法正常运行。

不要混淆了 ISOLinux 和它将要启动的操作系统(Linux、Windows 等)。那是两个性质的问题,而不是同一个层面的问题。
回复

使用道具 举报

10#
发表于 2012-9-10 18:47:42 | 只看该作者

回复 #9 不点 的帖子

那有没有办法让 grub4dos 仿真的光盘驱动器排在所有光盘驱动器的前面,最近在做量产的时候发现 isolinux 引导仿真光盘驱动器都报错 说 /dev/sr0 设备内读取数据出错,但是把 iso 镜像量产进 U盘成 USB-CDROM ,就会发生 isolinux 能引导了
回复

使用道具 举报

11#
发表于 2012-9-10 19:22:28 | 只看该作者
/dev/sr0 这设备本身就是保护模式的设备。你所说的,正是 Linux 下试图访问 grub4dos 的虚拟光驱失败的结果。说明你的 Linux 的配置,不支持 grub4dos 的仿真。

量产的 USB-CDROM 相当于真实光驱,也就是说,此时不存在 grub4dos 虚拟出来的光驱,所以,也不存在仿真盘的识别问题。

两个概念完全不同。grub4dos 没有责任,isolinux 也没有责任。只有 Linux 有责任。用户需要设法让 Linux 识别 grub4dos 的仿真光盘,否则,无法在 grub4dos 的仿真光盘之下成功启动 linux。
回复

使用道具 举报

12#
发表于 2013-1-24 15:08:03 | 只看该作者

回复 #11 不点 的帖子

关键字: LINUX  LIVECD ISO GRUB4DOS 虚拟光驱 MAP 启动 找不到

昨天试slax,也要解包才行,而且必须根目录,
就又想起不点曾经改脚本ISO启动的范例来了
可是搜索半天都找不到出处了,可能是某个帖子的跟帖,google只找到这里
znpc翻看过了

还看了2个帖子:
修改initrd实现BackTrack 4 Pre 从硬盘ISO文件启动
http://suddymail.org/show-194-1.html

打造属于自己的光盘版linux(用grub引导)_忘忧草
http://bbs.csdn.net/topics/390191568
回复

使用道具 举报

13#
发表于 2013-1-24 16:53:18 | 只看该作者

回复 #12 快雪时晴 的帖子

快雪时晴,你真是太认真了。佩服。我都没有这么认真。汗。

当时上载到 Climbing 的空间上了。但后来,Climbing 的空间被攻击,也就无法访问了。

你可以联系 Climbing,看看他有没有删掉这个 ISO 文件。源代码都在里头。因为改动的是 shell 脚本,所以,那肯定是源代码。

是修改 Ubuntu 的 ISO 。

唉,忘掉它吧。没人关注的东西,没人关注这方面的技术。忘掉它吧。

比比看,Windows 下就有人写出驱动,到处都在用。Linux 下,即使写出了,公布了,也没人用。没人关注。


我对此已经毫无兴趣了。我也没有留下备份。

让它成为历史吧。

如果有人愿意做这工作,对他来说,技术上没有难度,仅仅修改 shell 脚本而已。
回复

使用道具 举报

14#
发表于 2013-1-24 21:46:32 | 只看该作者

回复 #13 不点 的帖子

找到SLAX的解决方案了,启动参数from=/slax.iso即可通过G4D map方式完成ISO引导,现在就是用的SLAX回复的,感觉LINUX桌面也不比WINXP快,不过感觉比XP健壮点,因为用的老掉牙的845机器,XP下看视频或者操作很多窗口时常蓝屏,但SLAX只是崩了X桌面,重新登录又好了。

菜单贴一下,方便大家
title slax-Chinese-Simplified-7.0.4-i486.iso uniso
find --set-root /slax/boot/vmlinuz
kernel /slax/boot/vmlinuz vga=773 load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=
initrd /slax/boot/initrfs.img

title slax-Chinese-Simplified-7.0.4-i486.iso   \n中文输入用火输http://www.fireinput.com/main.php
find --set-root /grub/slax-Chinese-Simplified-7.0.4-i486.iso
map /grub/slax-Chinese-Simplified-7.0.4-i486.iso (0xff)
map --hook
kernel (0xff)/slax/boot/vmlinuz from=/grub/slax-Chinese-Simplified-7.0.4-i486.iso vga=773 load_ramdisk=1 prompt_ramdisk=0 ro printk.time=0 slax.flags=toram,xmode
initrd (0xff)/slax/boot/initrfs.img



之所以能够ISO,看了说明是用到了
Linux Live Kit for CD & USB
To make bootable USB, unpack the generated TAR archive (also from /tmp) to your ... If you're just looking for a working Linux Live system, visit www.slax.org ...
www.linux-live.org/

似乎可以针对很多的LINUX,未测试其他LINUX
Linux Live Kit is the most innovative toolkit available. AuFS provides better stability compared to old unionfs, squashfs with XZ support provides great compression ratio and amazing decompression speed. What's new compared to old Linux Live scripts v 6?

- aufs3 is used instead of unionfs, brings great stability and features
- squashfs supports XZ compression including BCJ filters for incredible compression
- CD tree is simplified, you may call your distro as you like, eg. slax, knoppix, etc.
- support for booting from USB device as well as CD/DVD discs
- persistent changes storage DynFileFS provides dynamic-size filesystem
- support for writing persistent changes even to VFAT or NTFS (thanks)
- an install script to make your device boot in Linux and Windows
- support for loading your LiveKit data from different directory or even an iso file

[ 本帖最后由 快雪时晴 于 2013-1-24 22:00 编辑 ]

点评

我也成功了~这个系统挺好用的~~  详情 回复 发表于 2013-8-20 11:05
回复

使用道具 举报

15#
发表于 2013-1-24 22:17:52 | 只看该作者
祝贺呀!你终于搞定了。
回复

使用道具 举报

16#
发表于 2013-1-25 09:50:50 | 只看该作者
slax不需要map也可以直接启动iso的
系统原生支持from=……iso这样的参数
很方便
回复

使用道具 举报

17#
发表于 2013-1-25 12:29:10 | 只看该作者

回复 #16 szs484 的帖子

map还是要的吧
不然要把vmlinuz和initrfs.img提取出来才行
回复

使用道具 举报

18#
发表于 2013-8-20 11:05:55 | 只看该作者
快雪时晴 发表于 2013-1-24 21:46
找到SLAX的解决方案了,启动参数from=/slax.iso即可通过G4D map方式完成ISO引导,现在就是用的SL ...

我也成功了~这个系统挺好用的~~
回复

使用道具 举报

19#
发表于 2013-8-20 15:43:59 | 只看该作者
这是 EFI 的 菜单啊, G4D 不支持的
回复

使用道具 举报

20#
发表于 2013-8-20 22:49:50 | 只看该作者
from=/grub/slax-Chinese-Simplified-7.0.4-i486.iso 这个是在initrd中实现的,当然首先要map iso,或者解开vmlinuz 和initrd 。其中kernel的参数是在initrd中解析的,就是cmdline这个变量。centos那个livecd不支持ntfs文件系统,initrd不支持from iso这样的参数,只能解开到内核支持的文件系统上跑。
回复

使用道具 举报

21#
发表于 2013-8-21 14:54:53 | 只看该作者
看这个项目

Easy2Boot - post link to ANY live ISO or Floppy you want to boot
http://reboot.pro/topic/16426-easy2boot-post-link-to-any-live-iso-or-floppy-you-want-to-boot/
回复

使用道具 举报

22#
发表于 2013-8-24 21:25:04 | 只看该作者
不知道啊!67540.COM 皇家金堡娱|乐|城 07242.COM 瑞丰国际娱|乐|城
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-19 14:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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