阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux开机启动那些你不知道的事

48次阅读
没有评论

共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。

导读 linux 启动时我们会看到许多启动信息,Linux 系统的启动过程并不是大家想象中的那么复杂,今天我们来一起了解学习一波 Linux 系统启动时那些你不知道的东西。
Introduction

开机启动过程分为以下 6 个步骤, 分别是 BIOS, MBR, GRUB, Kernel, Init, RunLevel, RunDefinition

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.conf

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS 6 (2.6.32-504.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/vg_ddz-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_ddz/lv_root crashkernel=128M LANG=zh_CN.UTF-8 rd_LVM_LV=vg_ddz/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-504.el6.x86_64.img
Kernel

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

initrd 表示 Initial RAM Disk

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

Init

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

vim /etc/intttab
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode (终端模式)
# 4 - unused
# 5 - X11(图形用户界面)# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

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

RunLevel

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

对应启动级别的目录如下

ll /etc/rc.d/

drwxr-xr-x. 2 root root 4096 11 月 29 09:49 rc0.d
drwxr-xr-x. 2 root root 4096 11 月 29 09:49 rc1.d
drwxr-xr-x. 2 root root 4096 3 月 10 17:18 rc2.d
drwxr-xr-x. 2 root root 4096 3 月 10 17:18 rc3.d
drwxr-xr-x. 2 root root 4096 3 月 10 17:18 rc4.d
drwxr-xr-x. 2 root root 4096 3 月 10 17:18 rc5.d
drwxr-xr-x. 2 root root 4096 11 月 29 09:49 rc6.d
RunDefinition

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

vim /etc/rc.d/rc.local

1 #!/bin/sh
2 #
3 # This script will be executed *after* all the other init scripts.
4 # You can put your own initialization stuff in here if you don't
5 # want to do the full Sys V style init stuff.
6
7 touch /var/lock/subsys/local
8 if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
9 echo never > /sys/kernel/mm/transparent_hugepage/enabled
10 fi
11 if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
12 echo never > /sys/kernel/mm/transparent_hugepage/defrag
13 fi
14
15 /bin/bash /usr/local/apps/kylin/bin/kylin.sh start

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

Final

进入登录界面

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计2275字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中