您的位置:首页 > 运维架构 > Linux

Linux系统启动流程

2015-06-18 23:05 651 查看
Linux系统启动流程本文主要以centos6说明系统启动流程一、启动的整体过程如下POST --> BIOS(引导次序)--> BootLoader(mbr) -->
kernel+ramdisk(临时根)--> 切换根-->/sbin/init二、针对以上过程做详细介绍1.POST阶段:加电自检2.BIOS阶段:加载BIOS的硬件信息并进行自我测试,并依据设定取得第一个可开机的装置3.bootloader阶段:选择要启动的内核(内核在当前磁盘的某或某些分区上)这里涉及到GRUB4.kernel阶段:自身初始化,主要做以下工作:探测所有能识别的硬件装载驱动程序装载根文件系统调用/sbin/init这里重点介绍下init执行过程1)设定系统默认运行级别包含(0-6)七个级别2)进一步初始化系统运行 /etc/rc.d/rc.sysinit脚本设定主机名打印文本欢迎信息激活SELinux和udev挂载/etc/fstab文件中定义的其它文件系统激活swap检测根文件系统,并以读写方式重新挂载设置系统时钟根据/etc/sysctl.conf设置内核参数激活LVm和RAID设备清理操作3)启动指定的默认运行级别的默认启动的服务,停止指定的默认运行级别下默认为关闭的服务/etc/rc.d/rc#.d下文件S##:启动的服务K##:停止的服务4)定义一些组合键的功能5)初始化字符终端三、GRUB详细介绍1.grub介绍:多操作系统启动程序,可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数2.grub程序组成:Stage1:MBR(0柱面、0磁道、1扇区)Stage1.5:MBR随后扇区Stage2:读取grup.conf配置文件,并实现引导功能的扩展3.grub功能:1.提供菜单,并提供交换接口e:进入编辑模式2.选择要启动的内核或系统允许传递引导参数给内核选择界面可隐藏3.为编辑功能提供保护机制密码保护4.grub命令行接口:root:指定哪个分区为接下来要启动的系统或内核文件所在的分区root (DEVICE):root (hd0,0)第一个硬盘,第一个主分区find (DEVICE)/path/tofile:查看内核文件位置kernel:指定要运行的内核文件initrd:为要运行的内核指定其可用的ramdisk文件boot:启动以上配置好的内核或系统以上命令都配置在/boot/grub/grup.conf文件中5.grub.conf文件详解:default=0:选择第几个title配置的内核或系统,各title从0开始编号timeout=5:菜单显示的超时时长,这里是5秒的意思splashimage=(hd0,0)/grub/splash.xpm.gz:指定菜单的背景图片hiddenmenu:隐藏菜单title
CentOS 6 (2.6.32-504.el6.x86_64):显示菜单中的标题rootkernelinitrd6.grub保护机制:1.生产密码#
grub-md5-crypt2.保护编辑功能,在配置文件中的title之外添加password
--md5 密码串3.保护使用的内核,在内核对应的title下添加password
--md5 密码串7.安装grub的方式:1.使用grub-install命令grub-install
[--root-directory=/path/to/somwhere]
DEVICE--root-directory=/path/to/somwhere/path/to/somwhere:内核及initrd文件所在的分区挂载点的父目录,且此挂载点必需叫boot
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息