Linux运维 第二阶段 (十)启动管理
Linux运维 第二阶段 (十)启动管理
一、1、启动流程:
》加载BIOS的硬件信息进行自我测试,并依据BIOS设置取得第一个可启动的设备;
》读取每一个启动设备的MBR,加载MBR中的BOOTLOADER(grub或spfdisk);
》依据BOOTLOADER的设置加载kernel,kernel会再进行系统检测,并采用kernel检测到的硬件信息,同时kernel会通过加载动态模块的形式加载硬件驱动;
》内核启动系统的第一个进程/sbin/init;
》进程/sbin/init调用/etc/init/rcS.conf,再通过这个配置文件调用/etc/rc.d/rc.sysinit,从而进行系统初始化及软件执行的操作环境;
》/etc/init/rcS.conf调用/etc/inittab,从而确定系统默认运行级别,接着/etc/inittab调用/etc/init.rc.conf继而调用并执行/etc/rc.d/rc脚本文件并传入运行级别参数;
》/etc/rc.d/rc确认传入的运行级别,运行相应的运行级别目录/etc/rc[0-6].d/中的脚本,从而依据设定好的优先级别依次启动和关闭;
》最后执行/etc/rc.d/rc.local中的程序,设定系统启动就运行的工作;
》若是字符界面就已启动完毕,若图形界面调用x-windows接口。
2、MBR位于硬盘的0磁道、0柱面、1扇区,主要记录BOOTLOADER启动引导程序和分区表,其中启动引导程序占446byte,分区表占64byte,另2byte作结束标记,所以分区表共64byte,每个分区要占16byte,仅能划分4个主分区。
BOOTLOADER的作用:最主要功能加载操作系统内核;提供菜单,来选择启动哪个操作系统;调用其它的BOOTLOADER,这是多系统启动的关键,注意windows的bootloader不能调用linux的bootloader。
3、常见的USB、SATA、SCSI等硬盘设备驱动,特殊文件系统LVM、RAID等的驱动,都以模块形式保存在/lib/modules/下;使用initramfs虚拟文件系统解决操作系统安装在SCSI硬盘上或采用LVM的文件系统的问题。
4、#runlevel (查看系统运行级别,0:关机;1:single单用户模式,用于系统修复;2:不完全的命令行模式,不含NFS服务;3:完全的命令行模式,标准字符界面;4:系统保留;5:图形模式;6:重启
#init 0|1|2|3|5|6 (切换系统运行级别
5、grub:支持更多的文件系统;grub的主程序可直接在文件系统中查找内核文件;系统启动时利用grub的交互界面编辑和修改启动选项;可动态修改grub的配置文件,重新启动即生效,而不用重新安装grub。
》grub的主程序分三个阶段来执行:
stage1:执行主程序(主程序位于bootloader中)用来启动stage1.5和stage2;
stage1.5:识别不同文件系统,它位于MBR之后的32K的空间中,这一段硬盘空间是空白无用的,而且是没有文件系统的,所以stage1能直接读取stage1.5,从而能识别不能的文件系统;
stage2:加载grub的配置文件(/boot/grub/grub.conf),然后根据配置文件中的定义,加载kernel和initramfs,继而kernel接管启动过程,继续自检加载硬件模块。
》系统中没grub,手工安装步骤:
#grub-install --root-directory=/tdisk /dev/sdb1
#vi /boot/grub/gurb.conf
title centos tdisk
root (hd1,0)
chainloader +1 (使用当前分区的启动扇区启动系统
#grub
grub>root(hd0,0) (设定grub的主目录,这里只能是(hd0,0),因为内核和文件系统安装在/dev/sda1中
grub>find /boot/grub/stage1
grub>find /grub/stage1
grub>find vmlinuz-2.6.32-279.3l6.i686
grub>set (hd1,0) (在tdisk分区的启动扇区安装grub
grub>quit
注:#grub-install 选项 设备文件名
--root-directory=DIR (DIR是实际目录,手工指定grub相关文件的安装目录
》MBR中的grub被覆盖,需重新安装grub
光盘修复模式:
sh-4.1#grub
grub>root (hd0,0)
grub>setup (hd0,0)
grub>quit
》grub加密
#grub-md5-crypt (输两次密码生成加密字串
#vi /boot/grub/grub.conf
timeout=5
password --md5 此处放加密字串 (必须要将加密字串放在timeout与splashimage之间,此项仅在开机启动编辑grub时生效,有此项可以正常启动进入系统
splashimage=……
title centos (2.6……)
lock (在title字段下一行加lock代表锁死,必须输入正确的密码才能正常启动
三、内核模块管理
内核模块保存位置:/lib/modules/$(uname -r)/kernel/
depmod命令会扫描系统中所有的内核模块,然后把结果放入modules.dep文件,后续的模块安装和删除都依赖这个文件中的内容,如模块所在位置的绝对路径,模块的依赖性。
#depmod -a|-A|-n
-a 扫描所有模块
-A 扫描新模块,才更新modules.dep
-n 仅输出到屏幕,不写入modules.dep
#lsmod (内核模块查看
#modprobe 选项 模块名
-l 列出所有模块
-f 强制加载模块
-r 删除模块
例:#depmod -a
#modprobe vfat
#lsmod |grep vfat
#modprobe -r vfat
四、系统修复模式:
1、单用户模式:遗忘root密码;修改系统默认运行级别。
2、光盘修复模式:多系统并存,grub被覆盖;重要系统文件丢失,导致系统无法启动。
#chroot /mnt/sysimage (光盘模式下默认根目录是光盘的模拟根目录,系统根目录被当作外来设备放在/mnt/sysimage
来自兄弟连培训
本文出自 “Linux运维重难点学习笔记” 博客,请务必保留此出处http://jowin.blog.51cto.com/10090021/1651809
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。