linux操作系统启动流程和光盘镜像制作

1、简述linux操作系统启动流程

POST (加电自检):自检主要硬件设备如:CPU、内存、硬盘是否正常,以及输入输出设备是否存在问题等。
BIOS(Boot Sequence):BIOS(基本的输入输出系统)装载在硬件芯片CMOS之上,自检时会启动这个程序,并根据CMOS上的配置信息去读取其他的硬件信息,检测正常之后进行硬件设备的初始化。
读取MBR:引导加载程序,在MBR(主引导记录)中,主要功能是识别,加载系统的核心文件,并提交到内存中运行来启动对应的系统。
Kernel运行:Kernel会自身初始化,探测可识别的硬件设备,Kernel是存在硬盘之中的,但是在内核启动时还没有加载硬盘,为了解决这个问题Kernel内核通过ramdisk(虚拟文件系统)来加载硬件程序,为防止根文件系统加载时出现bug等问题无法挽回的情况,以只读方式来挂载根文件系统,来完成跟文件系统的初始化。
init运行:在内核、硬件及驱动信息加载完毕后,内核会运行用户空间的第一个应用程序:/sbin/init.包括系统的主机名、网络管理、文件系统格式等其他服务。
默认运行级别、系统初始化、关闭及启动服务、启动终端(图形终端):
    运行级别:为了系统的运行或维护等目的而设定的机制;
        0-6:7个级别;
        0、关机, shutdown
        1、单用户模式(single user),root用户,无须认证;维护模式;
        2、多用户模式(multi user),会启动网络功能,但不会启动NFS;维护模式;
        3、多用户模式(mutli user),完全功能模式;文本界面;
        4、预留级别:目前无特别使用目的,但习惯以同3级别功能使用;
        5、多用户模式(multi user), 完全功能模式,图形界面;
        6、重启,reboot

    默认级别:3, 5
    级别切换:init #

    级别查看:
        who -r
        runlevel

    系统初始化脚本:/etc/rc.d/rc.sysinit
        (1) 设置主机名;
        (2) 设置欢迎信息;
        (3) 激活udev和selinux;
        (4) 挂载/etc/fstab文件中定义的所有文件系统;
        (5) 检测根文件系统,并以读写方式重新挂载根文件系统;
        (6) 设置系统时钟;
        (7) 根据/etc/sysctl.conf文件来设置内核参数;
        (8) 激活lvm及软raid设备;
        (9) 激活swap设备;
        (10) 加载额外设备的驱动程序;
        (11) 清理操作;
    系统初始化时运行的脚本在/etc/rc.d/rc.sysinit配置文件中;关闭及启动服务意味着启动或关闭/etc/rc.d/rc#.d/目录下的服务脚本所控制的服务,最后就是启动终端(图形终端)了


2、简述grub启动引导程序配置及命令行接口详解

grub的三个阶段:

        stage 1:运行bootloader主程序,这个程序必须要被安装在MBR中
        stage 1_5:在MBR随后的扇区中存放,主要用于与stage2所在分区的文件系统进行交互
        stage 2:读取 grub.conf 配置文件,并实现引导功能的扩展

grub配置文件:/boot/grub/grub.conf

        defaule: 表示有多个grub引导菜单时,选择哪一个作为默认启动引导菜单;
        defaule=0:表示默认选择第一个选项进行配置 ;
        timeout: 表示选择菜单的时间,如果过了这个时间没有选择则表示使用默认选项 ;
        splashimage: 指定引导菜单中的背景图片的路径 ;
        titile: 指定选项的名称 ;
        root: 表示kernel和initrd文件所在的分区路径,而不是”根分区”;其格式为;
        kernel: 通常是用于指定要运行的内核文件路径,如:/vmlinuz-2.6.32-642.el6.x86_64;另外也可在其后设置相关的内核参数,如:ro表示只读,root表示指定根分区所在路径,关闭selinux等等;
        initrd: 为内核运行指定其可用的ramdisk文件,其版本须和内核版本一致;

grub常用的指令:

        help:查看命令帮助;
        root (DEVICE):指定系统和内核文件所在的分区,如root(hd0,0)。
        find (hd0,0) /path/to/file:用于查找对应分区下的文件。常用于当不确认内核文件在哪个分区时,可使用此命令确认文件所在路径;支持tab补全;
        kernel /path/to/kernel_file:用于指定要运行的内核文件。
        initrd /path/to/kernel_file:指定initrd文件;
        boot:以当前配置好的grub配置启动系统;



3、实现kickstart文件制作与光盘镜像制作
定制kickstart 文件:

        [[email protected] ~]# yum install  system-config-kickstart

检查语法错误:

        [[email protected] ~]# ksvalidator anaconda-ks.cfg

准备目录,复制光盘内容到该目录中:

        [[email protected] ~]# mkdir /tmp/cdrom
        [[email protected] ~]# mkdir /media/cdrom
        [[email protected] ~]# mount -r -t iso9660 /dev/cdrom /media/cdrom
        [[email protected] ~]# cp -r /media/cdrom/ /tmp/cdrom/
        [[email protected] ~]# cd /tmp/cdrom/
        [[email protected] cdrom]# cd cdrom/
        [[email protected] ~]# chmod u+w isolinux/*

将ks.cfg文件拷贝到/tmp/cdrom中

        [[email protected] cdrom]# cp /root/ks.cfg /tmp/cdrom

创建iso镜像

        [[email protected] cdrom]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o  /root/boot.iso   cdrom/

原文地址:http://blog.51cto.com/13984342/2321528

时间: 2024-08-12 06:35:40

linux操作系统启动流程和光盘镜像制作的相关文章

Linux操作系统启动流程

一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下几步:1)开机BIOS自检,加载硬盘.2)读取MBR,进行MBR引导.3)grub引导菜单(Boot Loader).4)加载内核kernel.5)启动init进程,依据inittab文件设定运行级别6)init进程,执行rc.sysinit文件.7)启动内核模块,执行不同级别的脚本程序.8)执行/etc/rc.d/rc.local9)启动mingetty,进入系统登陆界面. linux系统安装时,如

Linux操作系统启动流程浅析

启动BIOS程序 当电源键按下之后,BIOS(Basic nput Output System)就会由主板上的闪存来运行.BIOS程序会把自己解压缩到系统的内存之中,然后读取CMOS(Complementary Metal Oxide Semiconductor)内存储的信息(例如系统时间,启动设备顺序等)来对系统进行配置.同时进行自检(POST:Power-On Self Test).检测系统的硬件是否存在问题,自检通过之后,BIOS会加载第一启动设备的MBR(Master Boot Reco

开机启动及grub基础知识和光盘镜像制作

1.简述linux操作系统启动流程 POST-->BIOS-->bootloader(MBR)-->kernel(ramdisk)-->rootfs(switch root)-->/sbin/init 加电自检 启动bios 读取mbr引导 加载内核(ramdisk) 根切换 执行/sbin/init文件 执行/etc/rc.d/目录下所有S开头的服务 2.简述grub启动引导程序配置及命令行接口详解 stage1:安装在mbr stage1_5:存放在mbr之后的扇区 st

浅谈-LINUX 操作系统启动过程

LINUX 操作系统启动过程 通过一段时间的学习已经对linux有了一定的了解,接下来就开始研究一下linux 操作系统的启动过程吧.当然这是为了让大家比较容易发现linux启动过程中容易发生问题的地方以及解决办法. 目录 一.简述 二.详解 1.BIOS加电自检 2.读取MBR 三.加载内核 1.Grub引导分为三个阶段 2.Stage1.5阶段存在的原因 3.详解三阶段引导过程 四.调用init进程 1.init的功能作用 2.init初始化流程 3.init 执行 run-level 的各

Linux操作系统启动管理器GRUB

转载:http://58vpn.blog.sohu.com/309434214.html [GRUB是什么]GNU GRUB(简称"GRUB")是一个来自GNU项目的启动引导程序.GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统.GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数.GRUB是在计算机启动后运行的第一个程序,他是用来负责加载.传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任

linux操作系统启动流程一

linux系统的启动流程: POST --> BootSequence(BIOS) --> bootloader --> kernel [-->ramfs] --> rootfs[ro]--> /sbin/init --> 设定默认运行级别 --> 进行系统初始化 --> 并行执行ctrl+alt+del热键功能定义,系统服务的开启和关闭,电源的管理,dbus管理 -->登录提示符 在我们linux系统的启动过程中存在着这样的启动流程,下面我们一

Linux操作系统启动管理器-grub

一.GRUB简介 GRUB(GRand Unified Bootloader简称"GRUB")是一个来自GNU项目的多操作系统启动程序.GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统.GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数. =================================================================================

CentOS或RHEL使用安装光盘镜像制作本地yum源

平时自己在家学习的时候,有时候会用到一些虚拟机环境.最初安装的时候为了节省本地的磁盘空间,选择最小安装模式,后期使用的时候,如果用到什么其他的软件包,再去另外安装.但是使用网络上的yum源,可能会因为种种原因,不能访问,或者速度收到限制,影响效率,因此我们可以使用安装OS时使用的光盘镜像,来搭建一个本地yum源. 方法如下: 1. 在虚拟机设置中,挂载光盘镜像文件: 2. 使用下面的方法配置: # mount /dev/cdrom /mnt # cd /etc/yum.repos.d/ # ta

Linux基础--系统启动流程

基本上Linux的启动过程如图所示,不同版本之间可能有一些细微的差别,后面再做介绍,但总体上就是这样一个流程. 从机器上电开始,首先直接将ROM芯片中的BIOS程序加载到内存中运行.BIOS程序首先进行POST(Power On Self Test),即硬件自检,自检通过则按照BIOS中Boot Sequence中定义启动顺序去找相应设备上的0号扇区,尝试寻找其中的BootLoader程序. 如果找到了BootLoader程序则将其加载到内存中,将系统控制权交给BootLoader.而BootL