但这个问题有个麻烦是必须要把内核解压到文件夹下,以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
代码: 全选
insmod ntfs #因为D盘是NTFS格式。
代码: 全选
linux (lo1)/casper/vmlinuz boot=casper iso-san/filename=/a.iso noeject noprompt --
#原版的ubuntu9.10CD的启动内核在casper文件夹下,其他linux发行版请自行修改;
代码: 全选
initrd (lo1)/casper/initrd.lz
#相关文件名请自行修改;
代码: 全选
boot
把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实在是强大。
图太麻烦就不截了。
(感谢mikas blog: http://michael-prokop.at/blog/2009/05/2 ... via-grub2/)