Linux开机启动的流程是什么(linux,开发技术)

时间:2024-05-07 20:21:29 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

Linux开机分为以下6个步骤,分别是BIOS, MBR, GRUB, Kernel, Init, RunLevel, RunDefinition。

Linux开机启动的流程是什么

BIOS

按下电源开关那一刻,开始加载BIOS,并且执行MBR(Master Boot Record)

BIOS表示基本输入输入系统(Basic Input/Output System),完成一些系统的完整性检查、搜索、 加载并且执行引导程序(boot loader), 它在软盘,CD-ROM或者硬盘上寻找引导程序。你可以在 系统启动时按下键盘(通常是F12或者F2,但是因系统而异)来修改启动顺序

一旦引导程序被检测到并且加载到内存,BIOS会将控制权移交给它

MBR

MBR表示主引导记录(Master Boot Record)

用于加载并执行GRUB

GRUB

GRUB是多重引导管理器(GRand Unified Bootloader)

执行 /etc/grub.conf, 加载内核镜像

vim/etc/grub.confdefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitleCentOS6(2.6.32-504.el6.x86_64)root(hd0,0)kernel/vmlinuz-2.6.32-504.el6.x86_64roroot=/dev/mapper/vg_ddz-lv_rootrd_NO_LUKSrd_NO_MDrd_LVM_LV=vg_ddz/lv_rootcrashkernel=128M.UTF-8rd_LVM_LV=vg_ddz/lv_swapKEYBOARDTYPE=pcKEYTABLE=usrd_NO_DMrhgbquietinitrd/initramfs-2.6.32-504.el6.x86_64.img

Kernel

执行内核首个进程 /sbin/init, 进程号为1, 是接下来所有其它进程的父进程

initrd表示Initial RAM Disk

initrd被内核用作临时的根目录,直到内核启动完成并且真正的根目录挂载成功。 它也包括一些编译好的必要的驱动程序,这些程序有助于它访问硬盘和其他硬件

Init

执行 /etc/inittab, 来确定启动级别

vim/etc/intttab#Defaultrunlevel.Therunlevelsusedare:#0-halt(DoNOTsetinitdefaulttothis)#1-Singleusermode#2-Multiuser,withoutNFS(Thesameas3,ifyoudonothavenetworking)#3-Fullmultiusermode(终端模式)#4-unused#5-X11(图形用户界面)#6-reboot(DoNOTsetinitdefaulttothis)#id:5:initdefault:

执行 /etc/rc.d/rc.sysinit, 来启动系统进程,比如说NetWork

RunLevel

执行启动级别相对应的一系列系统服务

对应启动级别的目录如下

ll /etc/rc.d/

drwxr-xr-x.2rootroot409611月2909:49rc0.ddrwxr-xr-x.2rootroot409611月2909:49rc1.ddrwxr-xr-x.2rootroot40963月1017:18rc2.ddrwxr-xr-x.2rootroot40963月1017:18rc3.ddrwxr-xr-x.2rootroot40963月1017:18rc4.ddrwxr-xr-x.2rootroot40963月1017:18rc5.ddrwxr-xr-x.2rootroot409611月2909:49rc6.d

RunDefinition

最后执行 /etc/rc.d/rc.local, 来运行自定义的服务

vim /etc/rc.d/rc.local

1#!/bin/sh2#3#Thisscriptwillbeexecuted*after*alltheotherinitscripts.4#Youcanputyourowninitializationstuffinhereifyoudon't5#wanttodothefullSysVstyleinitstuff.67touch/var/lock/subsys/local8iftest-f/sys/kernel/mm/transparent_hugepage/enabled;then9echonever>/sys/kernel/mm/transparent_hugepage/enabled10fi11iftest-f/sys/kernel/mm/transparent_hugepage/defrag;then12echonever>/sys/kernel/mm/transparent_hugepage/defrag13fi1415/bin/bash/usr/local/apps/kylin/bin/kylin.shstart

其中第15行为自定义启动脚本

Final3

进入登录界面

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Linux开机启动的流程是什么的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Linux中lynx命令有什么用下一篇:

10 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18