1、简述linux操作系统启动流程
Linux系统启动大致流程:
加电自检BIOS–>BOOTLOADER–>内核–>初始化(init/systemd)–>tty
加电自检BIOS:
用户开机,接入电源,POST进行自检,读取主板上的BIOS,完成后扫描块设备,引导加载用于启动内核的程序bootloader
BOOTLOADER:
存储在块设备开始的位置,用于引导启动内核的程序(gurb),提供一个操作界面,选择内核启动
内核:
内核加载到内存后,开始扫描所有的硬件设备,并安装驱动;
硬盘的驱动一般会借助ramfs文件(随内核一起载入内存的文件,相当于一个小的根文件系统,临时挂载后安装硬盘的驱动)
驱动安装完成后挂载硬盘中的根文件系统,运行文件系统中的第一个程序
初始化:
内核启动后,会启动一个程序,CentOS 5是SysV init;CentOS 7是Systemd;该程序是所有程序的父进程,会对系统进行初始化,启动服务,挂载文件系统等
tty:
系统启动完成并完成初始化,会调用login显示登录界面,用户可以输入授权信息登录,即可操作系统
2、简述grub启动引导程序配置及命令行接口详解
系统开机自检后,BIOS会检测所有的存储设备,根据设定的开机顺序读取存储设备上的MBR,即主引导记录,而grub是MBR的一种,用于引导Linux内核启动的程序
主要功能是根据配置文件提供一个选择界面,选择要加载启动的内核,还可以配置内核启动的相关参数等;
grub1的配置文件/boot/grub/grub.conf
其中的参数含义:
default=# 设定默认启动的菜单项:菜单项 (title) 编号从0开始
timeout=# 指定菜单项等待选择的时长
splashimge=(hd#,#)/PATH/TO/XPM_PIC_FILE 指明菜单背景图
hiddenmenu
title TITLE 标题,可以出现多次,对应上面的 default 设置顺序
root (hd#,#) 查找到的 stage2 和kernel 所在的分区,指定成根分区
kernel /PATH/TO/KERNEL 要启动的内核文件
initrd /PATH/TO/RAMFS 内核需要的ramfs 文件系统,临时挂载的根文件系统
password [–md5] STRING 给启动的内核或者操作系统进行认证
在系统启动进入grub页面时,可以选择页面上的标题启动对应的选项,也就是配置文件里title定义的选项
还可以在选择界面,按e,直接编辑对应的选项,或者按c进入命令模式,可以手动输入操作命令
常用的命令:
help
查看帮助,可以在help后面跟上关键字,查看指定命令的帮助
find (hd#,#)/PATH/TO/SOMEFILE
查找文件,在没有指定分区时前面需要有硬盘分区编号
root (hd#.#)
指定分区
kernel /PATH/TO/KERNEL_FILE
设定本次启动用到的内核文件,另外还可以在后面使用支持的命令行参数,如:single、selinux=0、init=/path/to/init、quiet等
initrd /PATH/TO/INITRAMFS_FILE
为内核提供 临时根文件系统的ramdisk(ramfs)
boot
启动引导内核
3、实现kickstart文件制作与光盘镜像制作
安装 system-config-kickstart 程序包
使用 system-config-kickstart 命令 生成kickstart文件
复制镜像文件中的isolinux目录,修改isolinux.cfg 菜单配置文件,添加配置参数ks=”ftp://****”指定kickstart文件位置,将上面创建的kickstart文件复制过来,再使用mkisofs命令创建镜像文件
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/104542