分享

直接用grub2启动硬盘上的liveCD,不需解压ISO

 风动九天 2011-11-17
有感于千里不留行兄的用grub4dos实现多重live启动(详见:http://forum./viewtopic.php?f=77&t=226247)
但这个问题有个麻烦是必须要把内核解压到文件夹下,以grub4dos载入,进而实现live启动。
既然grub2有loopback命令可以载入iso文件,能不能直接用grub2实现硬盘liveCD的启动呢?况且grub2是U9.10默认带的,update-grub很方便,也懒的再折腾grub4dos了。
经过一晚上的google搜索和实验,已成功完成。具体思路如下:
1 将下载的iso放入分区中,分区任意。(我这里ntfs和ext4均通过,其他未测试)
2 在grub2启动项挂载iso。比如我的电脑有C: D: E: F: ,NTFS格式和ext4, swp分区。将a.iso放在D:盘根目录下。grub2启动项上按c进入命令行模式,
代码:
loopback lo1 (hd0,2)/a.iso

3
代码:
insmod ntfs #因为D盘是NTFS格式。

3
代码:
linux (lo1)/casper/vmlinuz boot=casper iso-san/filename=/a.iso noeject noprompt --
#原版的ubuntu9.10CD的启动内核在casper文件夹下,其他linux发行版请自行修改;

4
代码:
initrd (lo1)/casper/initrd.lz
#相关文件名请自行修改;

5
代码:
boot

完成。测试新氧的9.04, U原版CD通过。均是CD版,DVD版未测试。

把1~4直接写入到/etc/grub.d/40.custom下,直接生成grub.cfg. 具体代码如下:

代码:
menuentry "Ubuntu LiveCD On D:(这里名称任意)" {
loopback lo1 (hd0,2)/a.iso
insmod ntfs
linux (lo1)/casper/vmlinuz boot=casper iso-san/filename=/a.iso noeject noprompt --
initrd (lo1)/casper/initrd.lz
}

然后
代码:
update-grub

大功告成!
依此类推,可以填加任意多个liveCD了,你的启动菜单也会变的很壮观,但其实不占用过多的硬盘空间,只是各个ISO而已。
现在可以轻松自己打包各自的liveCD,再加上grub2有自己的启动盘,这样,不管是从机子硬盘还是移动硬盘、U盘、光驱内启动grub2,都可以应用以上思路直接启动硬盘或移动硬盘、U盘内的iso文件,而且是ISO的live系统,不影响移动硬盘、U盘的正常使用, grub2实在是强大。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多