基于syslinux (isolinux) 光盘引导

简介:

基于syslinux (isolinux) 光盘引导


1: isolinux

2:Syslinux 4.05 released.发布,大家可以去前往下载最新的版本
3:从官网上的Changelog可以看出,remove the .img file support。这点很重要,需要详细了解的请前往 

本文的目的是基于对linux下制作启动光盘的研究.我使用的syslinux核心文件来自官方网站的4.03版。

步骤一:

解压下载的syslinux文件,提取如下的文件

       isolinux.bin       注:光盘镜像引导文件  
           isolinux.cfg       注:启动菜单的配置文件;自编辑  
           memdisk          注:引导IMG镜像的文件  
           vesamenu.c32(menu.c32)  注:官方提供的二种窗口模块  
           chain.c32         注:指定分区启动  如:chain.c32 hd0,1 (chain.c32 hd0,2)  
           reboot.c32       注:重新启动计算机的文件  
           m16-640x640-syslinux.jpg(syslinux_splash.jpg)  注:自己可以定义新的图片作为背景,图图片格式 640*480  jpg/png

步骤二:

将提取的文件按照如下的文件目录放置:("//" 表示注释内容,使用的时候去掉)

     根目录(iso-dir)  
       |      
       |---isolinux---| isolinux.bin  
       |                   | isolinux.cfg  
       |                   | memdisk  
       |                   | vesamenu.c32(menu.c32)  
       |                   | chain.c32  
       |                   | reboot.c32  
       |                   | m16-640x640-syslinux.jpg(syslinux_splash.jpg)  //这个文件的名字是可以自己定义的,图片也是可以自己更换的  
       |  
       |---boot-----存放IMG镜像以及启动文件 //主要就是放置一些winpe 或者 grub 再或 dos等的一些文件。

步骤三:

isolinux.cfg 配置文件的编辑 (如下式样本,自己可修改其中的内容“//”后为注释内容,使用时去掉)
   F1 readme.txt    //注:F1~~F12 自定义热键,个人建议使用linux格式编译这些文档,否则会显示乱码等,对中文的支持不好,所以使用英文编写  
     F2 isolinux.cfg   //同上  
     default vesamenu.c32  //注:默认启动窗口  
     MENU BACKGROUND m16.jpg  //注:窗口的背景图案  
     MENU TITLE xxxxxxxxxxxx  // 注:窗口菜单的名称

     LABEL boothd   //注:单项菜单名,区分不同的启动项使用的,在光盘启动的时候不显示,这个是不能和后面的重复的
     MENU LABEL Boot System of HD0,1  //注:在窗口中显示单项菜单名,即光盘启动时显示的文件名
     kernel /isolinux/chain.c32 hd0,1 // 注:指第一硬盘第一分区启动  
     LABEL xxxxxxxxxxxxx  
     MENU LABEL xxxxxxxxxxxxxxxxx  
     kernel /isolinux/memdisk  //注:IMG镜像引导器 少于2.88MB的镜像,不需指定C/H/S,这个文件很重要,不要做更改  
     append initrd=/boot/xly.gz  //注:IMG镜像可采用wingzip 压缩  
     LABEL ghost  
     MENU LABEL Symantec GHOST 11.0.2 Corporate Edition  
     kernel /isolinux/memdisk c=214 h=2 s=18 floppy   //注:大于2.88MB 必需指定C/H/S  
     append initrd=/boot/onekey.gz   //如果这*.gz或者是imgiam等的文件大于了2.88MB,需要指定C/H/S。推荐软件:GDParam查看  
     LABEL peldr
     MENU LABEL Boot WinPE of Windows XP SP2  
     kernel /boot/peldr.bin  // 注:此文件需经处理,见引导文件处理 ,此处处理所需要的软件loadbin windows平台下)
     LABEL grldr  
     MENU LABEL Goto Grub4dos Boot Menu  
     kernel /boot/mygrldr   //注:此文件需经处理,见引导文件处理,本人并没有进行尝试,理由:本人采用grub1/grub2代替这里  
     LABEL g2ldr  
     MENU LABEL Goto Grub2 Boot Menu  
     kernel /boot/g2ldr  // 注:同上面的注释,官网上貌似没有现成的,因为需要自己编译,可以使用super grub这个公司的文件 
     LABEL reboot  
     MENU LABEL Reboot Your Computer  
     kernel /isolinux/reboot.c32 // 注:启动计算机 

主要写在此条目的最后:有很多的实用的设置(可能我并不需要,或者这项功能我并不知道)我没有列举出来,比如设置字体颜色等等,需要的朋友再去查看其他的资料吧。

 isolinux.cfg 简单示例

default iso-dir

prompt 0 // prompt=1这是说,向用户提示输入选择,直接回车就是缺省选项了。当然,如果使其等于0则,不向用户提示输入选择。

LABEL Fedora
   kernel /isolinux/vmlinuz
   append initrd=/isolinux/initrd.img

步骤四: 

在准备制作ISO的目录里添加一个子目录,比如boot/isolinux/,然后放入 isolinux.cfg和一个对所有光盘都一样的isolinux提供的引导介质 isolinux.bin,当然还要放入相应的kernel,initrd等我们需要在引导时调用到的文件,然后制作iso的时候要使用-b参数,来指明要使用isolinux.bin文件启动:

mkisofs -o output.iso \

-b isolinux/isolinux.bin –c isolinux/boot.cat \

-no-emul-boot -boot-load-size 4 -boot-info-table \

iso-dir/

最后的参数就是指定的光盘的目录了,-c参数的那个文件是自动生成的,不用太担心,其余参数都是固定的。

至此,整个系统的启动和制作过程就已经完成了。可以说有了这些知识,就可以设计一个简单的启动光盘,至于光盘的功能,需要用户根据自己的需求来修改和调整!

  在linux使用命令mkisofs命令:

CODE:

mkisofs -o myiso.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table iso-dir

解释:    
mkisofs是产生ISO光盘镜像的命令;  
-o 输出文件 
-b 引导程序 
-c 引导目录文件 
-l 允许32 字符长度的文件名(取代默认iso9660标准的8.3文件名)  
-J Joliet文件系统(Windows兼容)  
-r RockRide Unix扩展支持    

注:这种方法就不做解释了,不会的朋友就自己man一些。(但是貌似我的系统里没有mkisofsman文档呢)

 





     本文转自rshare 51CTO博客,原文链接:http://blog.51cto.com/1364952/1978945,如需转载请自行联系原作者



相关文章
|
Linux
使用Rufus制作LINUX启动安装U盘(成功)
使用Rufus制作LINUX启动安装U盘(成功)
817 0
使用Rufus制作LINUX启动安装U盘(成功)
|
存储 Linux Windows
通过grub-install命令把grub安装到u盘
<p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; color: rgb(89, 145, 0); font-family: 微软雅黑, 黑体; font-size: 18px; line-height: 20px;">通过grub-install命令把grub安装到u盘</
3040 0
|
编解码 数据安全/隐私保护

热门文章

最新文章