Linux管理 Linux系统启动和引导

本文发布时间: 2019-Mar-22
原文:blog.csdn.net/clark_xu 徐长亮的专栏1 linux系统启动和引导linux的启动过程为:计算机执行BIOS代码,确认加载并启动内核,内核检测系统的硬件,产生系统的init进程,这个进程总是PID 1;系统必须检查并安装文件系统,而且系统的守护进程必须启动,这些步骤由init进程按照顺序运行一系列rc(run commond)文件脚本综上,linux典型的引导过程由6个不同的阶段组成。l 加载并初始化内核l 检测好配置设备l 创建内核线程l 操作员干预l 执行系统启动脚本l 多用户模式运行初始化内核:路径名通常为/boot/vmlinux,在第一个阶段,系统rom加载一个小的引导程序到内存中,然后这个程序在安排载入内核。内核执行检测多少RAM可用,内核占用一部分静态空间(用户进程不可用),然后内核打印信息,物理内存总量和用户进程可用内存量。配置硬件:BIOS告诉内核有哪些硬件设备,内核需要找到硬件设备并且初始化每个设备。没有检测到设备的驱动会被禁用;内核线程:内核在用户空间创建init进程。操作员干预:在单用户环境下,文件系统的根目录以只读方式安装的。/tmp是根目录的一部分,需要使用tmp文件的命令如(vi)不能执行。可以这样mount –o rw,remount / 来将根目录以读写的方式重新安装。执行启动脚本:由init根据一定的算法来选择运行rc脚本多用户运行: init直接生产getty进程,来监控终端和控制台接受用户登录。init拥有单用户和多用户的运行级,决定启动哪些资源。BOIS加载:BIOS选择引导设备(IDE硬盘,CD-ROM等),选定设备读取MBR(硬盘头512字节信息:master boot record主引导记录)。MBR程序告诉CPU从第几个硬盘分区加载引导加载程序(boot loader)。之后boot loader加载内核。1.1 boot loader引导加载程序lilo是传统的linux引导加载程序(debian使用),grub(grand unified boot loader)成为redhat, suse和fedora的默认引导加载程序。grub设备命名(hd0,0)等同于linux /dev/hda1用户将grub安装到引导驱动器/dev/hda1上。grub-install ‘(hd0,0)’ #用引号避免shell解析括号默认情况下,grub从/boot/grub/grub.conf读取它默认的引导配置。如果grup在10s内(timeout=10)没有接受到来着键盘的输入,那么就自动引导(default=0),默认配置default=0timeout-10titile redhat linuxroot(hd0,0)kernel /boot/vmlinux ro root=/dev/hda1root:制定根设备(一个分区)boot: 以特定的内核影像文件启动系统1.1.1 lilo: 传统linux引导加载程序lilo命令通过/etc/lilo.conf的内容安装配置信息。重新运行liloboot=/dev/hda 将boot loader on MBRroot=/dev/hda1delay=20 2秒image=/vmlinz 内核lable=linuxread-onlyimage=/vmlinuz-backup 备份内核lable=backupread-only1.1.2 grub的多重引导配置先装好操作系统然后对/boot/grub/grub.conf进行相应的修改。引导windows的grub.conf配置title windows xprootnoverify (hd0,0)chainloader +1chainloader这个选项从一个指定的位置加载引导加载程序(从第一个IDE分区引导)rootnoverify选项确保grub不会尝试指定的分区。如引导三个分区:hiddenmenutitle windows xprootnoverify (hd0,0)chainloader +1title red hatroot (hd0,1)kernel /boot/vmlinuztitle fedoraroot (hd0,2)kenrel /boot/vmlinuz1.2 启动脚本传统的init定义7个运行级run level, 0级是完全关闭系统的级别;1级代表单用户模式;2-5表示多用户级别;6级是重新引导(reboot)级别/etc/initab规定了系统进入到每一个级别时要运行(或者保持运行)的命令initab调用/etc/init.d/rc里面命令,来改变运行级。initab主脚本查找rc0.d、rc1.d、rc2.d …等目录来运行级别的脚本。当从低向高级别的脚本的时候,按照S开头递增顺序执行,带start参数ln –s /etc/init.d/cups /etc/rc2.d/s80cups当从高向低级别过渡的时候,按照K开头数字递减,带stop脚本ln –s /etc/init.d/cups /etc/rc0.d/k880cups1.2.1 启动服务配置在服务启动过程中,redhat引导过程的大多数配置通过操作/etc/sysconfig中的配置文件来完成。/etc/sysconfig的子目录l clock:指定时钟类型l https:决定apache的处理模式l hwconfg:硬件的信息l i18n: 操作系统的本地配置:日期格式,语言等。l init:配置启动脚本的消息显示方式l network: 全局网络参数:主机名,网关,转发机制1.3 重新引导和关机15分钟之后关机shutdown –h +15 “going down for emergency disk repar”上午9点半关机shutdown –h 09:30 “going down for expected downtime is 1 hour”改变init的运行级别telinit 1


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2019-May-25 12:56pm
栏目列表