以上是从grub2基础教程中引用的。从上面可以看到,第一个使用了loopback,loopback会把ISO加载至内存。但是为何又同时使用了 iso-scan/filename=/ubuntu-desktop-i386.iso呢?grub2挂载ubuntu-desktop的镜像启动进入 livecd
内存够大时(大于iso镜像)可以用 loopback,把iso文件放在某一分区根目录下:
menuentry "Ubuntu 10.01 LiveCD" {
search -f -s /ubuntu-desktop-i386.iso
loopback loop /ubuntu-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-desktop-i386.iso
initrd (loop)/casper/initrd.lz
}
iso 按实际文件名修改
内存不够时,把 iso 内 casper 目录下的 vmlinuz和initrd.lz 复制出来和 iso 文件放在同一分区根目录下:
menuentry "Ubuntu 10.01 LiveCD" {
search -f -s /ubuntu-desktop-i386.iso
linux /vmlinuz boot=casper iso-scan/filename=/ubuntu-desktop-i386.iso
initrd /initrd.lz
}
过去我一直认为这个iso-scan/filename就是把ISO映射为光盘。我感觉用了loopback后, iso-scan/filename就是多余的。
iso-scan/filename具体是起到什么作用呢?
而且,以前我用这个 iso-scan/filename=(hd0,8)/ubuntu10.04/***alternative10.04.iso安装10.04时,当选择好语言键盘后,非得找两次才能找到那个ISO。