制作grub多重引导光盘镜像(原创)

在制作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一下,他的博客地址我打不开了)

原创文章,装载请注明出处、作者

如有错误,欢迎交流指正

邮箱:[email protected]

猜你喜欢

转载自czmmiao.iteye.com/blog/911328