Linux系统启动流程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

RedHatEnterpriseLinuxAs4.3Linux下的系统启动流程LinuxServerSSHLinux系统启动流程这节课程是相当重要的。相对于系统排错。只有你看懂了系统的启动流程,才能够进行相对应的排错。一、Linux系统流程1、硬件读取引导扇区2、加载LILO或者Grub(一般我们使用的是GRUB,这个是重点)3、加载内核(以只读方式挂载)4、挂载根文件系统5、启动init,一切进程的“祖父”6、读取/etc/inittab文件7、读取rc.sysinit文件8、运行rcX.d下的文件(文件都是init.d下的符号链接)其中有一个xinetd的超级进程,调用/etc/xinetd.conf配置文件,从配置文件中知道读/etc/xinetd.d文件。9、读取/etc/rc.d/rc.local文件二、具体启动步骤BIOS初始化检查外围设备检查启动设备读区MBR启动引导工具引导并运行核心,分为两个独立的阶段:第一阶段:存放在启动扇区第二阶段;/boot目录下的文件第一阶段即BIOS从启动扇区中读入IPL(初始化程序引导工具)这一过程。因为MBR的空间太小,所以启动引导工具往往还需要从其他地方进一步读入数据,即所谓第二阶段。这通常是一个可以做选择的交互界面。在Linux中常用的启动引导工具:grub和lilo在某些时候,WINDOWS支持多系统就需要安装GRUBGRUB:GrandUnifiedBootloader1、被广泛地用于替代lilo2、支持在启动时使用命令行模式3、支持md5加密保护4、可以从ext2/ext3、ReiseFS、JFS、FAT、minix及FFS文件系统上启动其配置文件为/boot/grub/grub.conf,更改/etc/grub.conf即可立时生效GRUB配置目录内容我们分析一下这个文件[root@localhost~]#vi/etc/grub.conf##Notethatyoudonothavetorerungrubaftermakingchangestothisfile#NOTICE:Youhavea/bootpartition.Thismeansthat#allkernelandinitrdpathsarerelativeto/boot/,eg.#root(hd0,0)#kernel/vmlinuz-versionroroot=/dev/sda2#initrd/initrd-version.img#boot=/dev/sda#default=0表示默认启动第一个系统,如果系统有两个系统是用什么做为分隔符的呢?title就是系统的分隔符,第一个title后面就是第一个系统,用0表示。timeout=5#timout=5,就是默认在启动选择界面停留的时间,单位是秒。等待5秒自动进入默认操作系统splashimage=(hd0,0)/grub/splash.xpm.gz#splashimage是grub启动背景画面,如果是自己写grub.conf文件,这个可以不用写。hiddenmenu在此处可添加一个密码,目的是想要进入grub编辑模式所要一个口令password=admintitleRedHatEnterpriseLinuxServer(2.6.18-53.el5)#title后面就是系统在启动时候显示的名字在此处可以添加一个密码,目的是当要进入选择的系统所要一个口令Password=--md5xxxxxxxxxxxxxxroot(hd0,0)#root启动文件所在位置kernel/vmlinuz-2.6.18-53.el5roroot=LABEL=/rhgbquiet#kernel内核所在位置和名字initrd/initrd-2.6.18-53.el5.img#initrd内核镜象的名字grub.conf的范例:timeout=10#等待10秒自动进入默认操作系统splashimage=(hd0,0)/grub/splash.xpm.gz#grub启动背景画面default=0#默认进入第一个标题titleRedHatLinux(2.4.20-18)#RedHatLinux标题root(hd0,0)#根文件系统位置kernel/vmlinuz-2.4.20-18roroot=LABEL=/#核心位置与核心加载参数initrd/initrd-2.4.20-18.img#启动initrdram盘titlewindows#另一个操作系统的标题rootnoverify(hd0,1)#操作系统存放在hd0,1上,不要在grub里mountchainloader+1#从hd0,1的第一个扇面启动三、核心启动流程:检测硬件设备设备驱动初始化将根分区以只读方式挂载载入初始进程(一般是init)init从/etc/inittab中读取数据并初始化init运行级别:系统启动脚本执行运行级别对应目录下的脚本设置热键定义UPS设备脚本在虚拟控制台上循环开启getty进程定义runlevel5时的X显示管理器init定义了0~6这7个运行级别,运行级别可以被指定于:系统启动时作为核心加载参数被指定未被指定的情况下,系统启动时从/etc/inittab中读取在系统运行中,root用户键入init[0-6]来指定。用户可以用/sbin/runlevel来查看当前的运行级别系统的运行级别默认情况下为:•0:关机•1:single:单用户模式,通常用于维护系统•2:多用户模式但无网络•3:多用户模式(字符界面)•4:用户定义,未定义情况下与3相同•5:X11(包括网络)•6:系统重启/etc/rc.d/rc.sysinit是系统启动用的脚本,从/etc/sysctl.conf中读取核心参数:设置系统时钟载入keymap激活swap分区设置主机名检查根文件系统并挂载加载Raid设备激活磁盘限额检查并挂载其他文件系统清除失效锁及PID文件每一个运行级别都对应一个目录/etc/rc.d/rcX.d目录内存放的,即当前运行级别需要开启的服务脚本对应/etc/rc.d/init.d/目录下的链接,链接文件开头是S,表示启动;开头是K,则表示关闭。切换运行级别,即运行这个目录里所有的脚本,用户可以通过ntsysv调整当前运行级别的开关服务,或用chkconfig,调整某一运行级别下的开关服务。/etc/rc.d/rc.local在运行级别目录下被最后一个调用,一般系统用户将针对此台计算机的开机定制设置写入其中,而非/etc/rc.d/rc.sysinit。1、ntsysv2、chkconfig3、/etc/rc.d/rc.local

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功