在制作grub多重引导光盘镜像时,往往需要很多限定参数,这些参数决定了它作为CDROM介质多重引导成功是否的关键因素。经过笔者试 验尝试发现,menu.lst参数多种多样,限定条件又很苛刻,往往一个参数出错就不能正确引导,导致很多人,特别是初学者(没有准确理解每个参数意义的 人)总不能制作出自己理想的iso镜像。本文主要介绍grub引导的相关相关参数和制作多重引导iso文件的一个的方法,方便大家日后制作出自己想要的 iso镜像。
1、ISO镜像文件系统的一些主要文件及目录结构:
|--grub----------光盘镜像引导文件存放的文件夹
|--menu.lst------ 引导菜单
| --gldr -------- grub引导文件
|--linux-------- 存放linux系统引导菜单的文件夹
|-- misc--------存放windows系统引导菜单的文件夹
|--ghost----------存放ghost镜像及恢复命令的文件夹
|ghost1.txt--------ghost镜像恢复命令1
|warning.txt--------警告信息
|--tools-----------制作引导镜像文件的文件夹
|grubinst---------将grub4dos安装到硬盘的MBR(或者分区的引导扇区)以及映像文件中的工具
|grub4dos-------- 多系统引导软件
以上是制作多系统引导文件的主要文件读者可以自行下载grubinst,grub4dos、安装后根据上文的目录结构打包成iso文件即可,网上很多教程,这里笔者不在赘述(太简单了,不想浪费笔墨)。如果有需要的可以给笔者发邮件方便大家参考
2、制作镜像
镜像名:Complex.iso
集成了puppy,slax,winpe,xp,ghost等常用系统,其他的系统笔者自行添加即可,方法雷同
(1) 修改menu.lst内容如下
fontfile /grub/misc/fonts----------grub不支持中文字体,添加字体
splashimage /grub/misc/menu.xpm------背景图片
timeout 30
default 1
errorcheck on
title #### 多合系统光盘 ####
root
title [01] Slax Linux
configfile /grub/linux/slax.lst
title [02] Puppy Linux
configfile /grub/linux/puppy.lst
title [03] Memtest86+
kernel /grub/misc/memtest86.bin
map --unmap=0:0xff
title [04] 扩展菜单...
configfile /grub/misc/extra.lst
title [05] 硬盘引导
chainloader (hd0)+1
title [06] 光盘引导
cdrom --init
map --hook
chainloader (cd0)
title [07 命令行
commandline
title [08] 重新启动
reboot
title [09] 关机
halt
slax.lst内容如下
fontfile /grub/misc/fonts
splashimage /grub/linux/slax.xpm
foreground 60CA00
background FFFFFF
timeout 30
default 1
title #### Slax Linux ####
root
title [01] Slax Graphics mode (KDE)
kernel /slax/boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/
initrd /slax/boot/initrd.gz
title [02] Slax Always Fresh
kernel /slax/boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4
initrd /slax/boot/initrd.gz
title [03] Slax Copy To RAM
kernel /slax/boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw copy2ram autoexec=xconf;telinit~4
initrd /slax/boot/initrd.gz
title [04] Slax Graphics VESA mode
kernel /slax/boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw autoexec=telinit~4 changes=/slax/
initrd /slax/boot/initrd.gz
title [05] Slax Text mode
kernel /slax/boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw changes=/slax/
initrd /slax/boot/initrd.gz
title [06] Slax as PXE server
kernel /slax/boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw autoexec=/boot/pxelinux.cfg/start;/boot/pxelinux.cfg/web/start;xconf;telinit~4
initrd /slax/boot/initrd.gz
title [07] Run Memtest utility
kernel /slax/boot/mt86p
puppy.lst内容如下
fontfile /grub/misc/fonts
splashimage /grub/linux/puppy.xpm
timeout 30
default 1
title #### Puppy Linux ####
root
title [01] normal
kernel /puppy/vmlinuz pmedia=cd
initrd /puppy/initrd.gz
title [02] more options
cat /puppy/help.txt
pause
etra.lst内容如下
fontfile /grub/misc/fonts
splashimage /grub/misc/extra.xpm
timeout 30
default 1
errorcheck on
title ...返回主菜单
configfile /grub/menu.lst
title [01] Windows XP
find --set-root /I386/SETUPLDR.BIN
chainloader ()/I386/SETUPLDR.BIN
title [02] Windows 7
find --set-root /cdboot/win7.bif
chainloader --force ()/cdboot/win7.bif
title [03] Windows PE 光盘系统
chainloader /WXPE/SETUPLDR.BIN
# 使用 ghost 文件夹里的gho文件
# ghost1.txt 为ghost参数
title [04] GHOST 安装系统 1
cat /ghost/warning.txt
password Yes
map --mem /grub/misc/fd.img.gz (fd0)
map --hook
dd if=()/ghost/ghost1.txt of=(fd0)/g4d.bat
chainloader (fd0)/kernel.sys
# 同上,有需要也可以复制这个条目
# 亦要同时复制ghostN.txt
# 修改相应的ghost参数
title [07] GHOST 安装系统 2
cat /ghost/warning.txt
password Yes
map --mem /grub/misc/fd.img.gz (fd0)
map --hook
dd if=()/ghost/ghost2.txt of=(fd0)/g4d.bat
chainloader (fd0)/kernel.sys
(3)添加文件
新建puppy文件夹,将lupu-511.iso镜像中的文件全部解压到该文件夹中,将lupu-511.sfs置于根目录底下
将下好的xp安装版iso镜像文件直接添加到iso光盘进行的根目录下,笔者尝试过新建XP文件夹进行添加,均以失败告终,如果读者知道各种原委,望告知。
根据笔者多次试验发现,当iso镜像超过大小1g的时候总会发生莫名其妙的错误,个人理解成工具原因。如果读者有相关的经验,望分享
将win7镜像文件直接解压至根目录,如有重复直接覆盖即可
将winpe镜像文件直接解压至根目录,如有重复直接覆盖即可
添加gho文件到ghost文件夹中,并改名为1.gho
在ghost文件夹下添加ghost1.txt其中内容如下
X:\ghost\ghost.exe -nousb -sure -clone,mode=pload,src=X:\ghost\1.gho:1,dst=1:1 -rb
FDAPM /warmboot
warning.txt内容如下:
警告:
这个选项表示恢复系统到C盘,请慎重考虑。
C盘上的所有数据将会被摧毁,想清楚在干什么。
如果是误按请按键盘左上角的 Esc 键返回。
提示:
如果原来操作系统不能进入但C盘中还有需要的资料,
可以在菜单进入“Windows PE 急救系统”先拯救出来。
恢复:
如果要继续,输入确认码“Yes”,不包括引号,大小写敏感。
确认后即启动恢复程序,成功恢复后自动重启,即可照常使用。
当然如果读者了解ghost参数也可以自行修改,不一定要将gho文件修改成1.gho
(4) 引导测试
建议采用虚拟机先进行测试后再刻盘。一下说点笔者测试中的一些经验,笔者使用的是VMware-server-installer-1.0.4-56528.exe在加入启动1.winpe,ghost系统后虚拟机总是宕机无法使用,建议建立新的虚拟机。
2.Fedora-14-i686-Live-Desktop.iso暂时不支持光盘烧刻,无法制作iso。
参考至:http://garfield.is-programmer.com/posts/14088.html
七星庐博客(google一下,他的博客地址我打不开了)
原创文章,装载请注明出处、作者
如有错误,欢迎交流指正