发布时间:2014-09-05 13:17:59作者:知识屋
一、系统的基本引导流程:
首先系统要引导isolinux.bin可执行程序,此程序是移动介质上引导用的,isolinux.bin运行成功后会加载其配置文件syslinux.cfg,该文件中定义了vmlinuz和initrd.img的调用方式。vmlinuz是vmlinux的压缩版,二者都是linux内核。isolinux.bin根据其配置方式中定义的initrd.img的参数传给vmlinuz即Linux内核并加载内核,然后Linux内核会根据获得的initrd.img的调用参数调用initrd.img。initrd.img的基本功能就是root路径挂载器,其存在的意义是省去了不同root路径硬件下vmlinuz内核的重编译工作。initrd.img根据调用参数去参数路径中找系统启动程序(这里使用的就是iso的安装镜像),系统便启动起来了。
二、引导盘的基本制作过程:
第一步:提取制作引导镜像所需的文件,这些文件在Linux安装盘的isolinux目录中,这个目录就是个微型Linux系统。
第二步:编辑isolinux.bin的执行配置文件syslinux.cfg的原文件isolinux.cfg。
default vesamenu.c32timeout 600这里定义的默认者是vesamenu.c32c,这个vesamenu.32c的作用就是启动菜单外观绘制拓展工具。下面定义的timeout是指用户选择时间上限。
label linux menu label ^Install CentOS 7 kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS quietlabel check menu label Test this ^media & install CentOS 7 menu default kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS rd.live.check quietmenu separator # insert an empty line# utilities submenumenu begin ^Troubleshooting menu title Troubleshootinglabel vesa menu indent count 5 menu label Install CentOS 7 in ^basic graphics mode text help Try this option out if you're having trouble installing CentOS 7. endtext kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS xdriver=vesa nomodeset quietlabel rescue menu indent count 5 menu label ^Rescue a CentOS system text help If the system will not boot, this lets you access files and edit config files to try to get it booting again. endtext kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS rescue quietlabel memtest menu label Run a ^memory test text help If your system is having issues, a problem with your system's memory may be the cause. Use this utility to see if the memory is working correctly. endtext kernel memtestmenu separator # insert an empty linelabel local menu label Boot from ^local drive localboot 0xffffmenu separator # insert an empty linemenu separator # insert an empty linelabel returntomain menu label Return to ^main menu menu exitmenu end这些是每项菜单的具体定义,即定义了每个菜单对应的调用vmlinuz和initrd.img的方式。
label linux menu label ^Install CentOS 7 kernel vmlinuz append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS quietlabel是标签,类似于grub的title 。kernel项代表要加载的内核,append是后缀参数,相当于为了好看换行的作用。initrd=initrd.img是定义内核的挂在器是initrd.img,后面参数inst.stage2=hd:LABEL=CENTOS quiet 就是加载的root路径,inst.stage2是指加载iso的文件,hd:LABEL=CENTOS是指root的路径在卷标为CENTOS的储存设备中,即U盘,所以该引导镜像的名字和U盘卷标必须是CENTOS。
此处如果不想用菜单方式显示,直接加载安装文件,可以省去vesamenu.32c 把开头的default vesamenu.32c改成default linux 即默认加载label linux的定义。
第三步:制作引导镜像文件CENTOS.iso
修改镜像文件名字与syslinux.cfg中的root路径卷标一致。把isolinux.bin设置成引导文件,勾选生成启动信息表,这个启动信息表就是最后目录中的ldlinux.sys启动信息文件。
第四步:保存该镜像并通过启动-》写入硬盘映像来写到U盘中。这时候UItral So会自动的把syslinux.cfg文件盒ldlinux.sys文件生成在U盘上,而其他的文件也会复制到U盘上,这时候U盘里的isolinux.cfg可以删除掉,最后把安装系统的镜像拷到根目录下。
注:U盘中没介绍的文件都是一些背景或者其他安装选项中调用的linux的检测工具。
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能