Linux-开机启动流程

目录

关机命令

重启命令

电脑的硬件有哪些

开机流程图示

开机自检

BIOS程序

硬盘

grub2

vmlinuz

systemd进程

/etc/rc.local和/etc/fstab

登录


关机命令:
init 0
poweroff
halt
shutdown -h now
shutdown      # 一分钟后关机
shutdown -c     # 取消关机
重启命令:
init 6
reboot
电脑的硬件有哪些:

主板,内存条,硬盘,cpu,电源,显卡,网卡,声卡,风扇等
机箱: 主板,内存条,硬盘,cpu,电源,显卡,网卡,声卡,风扇
外设: 机箱外部的设备: 键盘、鼠标、耳机、音箱、摄像头,麦克风、显示器等

开机涉及的硬件:
开机启动之后,控制权交给主板,主板中的一个程序BIOS会对硬件进行检测,再把控制权按启动顺序交给硬盘,读取软件加载到内存

开机流程图示:

开机自检:

1.肯定有个硬件或者硬件里的软件来完成工作?谁完成?
        硬件: 主板
        主板里有个BIOS程序来完成自检的工作
2.检查什么
        检查电脑里的硬件是否存在

主板(motherboard): 是所有的硬件的载体,插到主板上,所有的硬件之间的数据传输靠主板传送。
集成主板: 声卡,显卡,网卡都集成到主板里了

BIOS程序

BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。
BIOS是电脑启动时加载的第一个软件 -- 固件
固件是计算机启动时连接硬件和操作系统的底层代码。
它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

ROM(read only memory):是只读的存储器。
CMOS:是一个存储参数配置的芯片,可读可写,可以保存BIOS的数据。BIOS每次启动时可以去CMOS里加载数据。

虚拟机中可以在电源选项中选择“打开电源时进入固件”进入BIOS,或者在开机过程中按F2进入,按F10保存退出。
台式机按delete键,笔记本根据不同品牌按F1、F2、F8、F12或FN+F2等。

BIOS系统中的BOOT栏代表开机启动顺序
第1引导顺序:hard drive 硬盘
第2引导顺序:cdrom 光驱  --> 安装系统
第3引导顺序:removable device 可移动设备  --> u盘,移动硬盘  --> 安装系统
第4引导顺序:Network  --> 从网络启动  --> 网络中安装服务器启动  --> 安装
(按左右方向键选择菜单,上下方向键选择对象,+-调整顺序)

 如果虚拟机没有使用光驱即镜像文件,开机时会显示
operating system not found

如果已经安装好了系统,可以把hard drive调至第一位,从硬盘开始启动
(如果从U盘启动可以不用输入电脑密码进入电脑)

Security菜单可以设置BIOS密码。

硬盘

MBR :主引导记录 master  boot  record
    是硬盘里的非常重要的一个位置(磁盘最开始的位置),占一个扇区的空间,一个扇区是512个字节,在这512字节中存放了一个启动程序grub2。
    0柱面0磁道1扇区 --> 理解为磁盘里的第一个扇区-->是固定的。

grub2引导程序
grub是linux系统的启动程序,446个字节
grub2是grub的第2个版本

grub2

第一阶段:
BIOS在移交控制权时,将硬盘中MBR的grub2引导程序(446字节)加载到内存中运行。
第二阶段:
读取硬盘中/boot分区grub、grub2的程序(加载文件系统驱动)。

/boot/grub2/grub.cfg文件中提供了界面选择

vmlinuz

vmlinuz-3.10.0-1160.el7.x86_64  
linux的内核文件,是一个可执行的程序
initramfs-3.10.0-1160.83.1.el7.x86_64.img  
是一个压缩文件,给vmlinuz提供很多程序和驱动的文件,在内存里形成一个临时的根文件系统

将initramfs文件解压到内存,解压后有一个临时根,有简版的bin、etc、usr、proc等目录

systemd进程

initramfs文件解压之后,systemd进程也进入到内存中。

pstree 进程树命令,接-p看进程号
第一个进程systemd --> centos7/8/9
第一个进程init --> centos6

运行级别 run level: 是比较老的概念,在centos6里非常流行,到了centos7以后,这种说法不常见。
0  关机
1  单用户模式 
2  多用户模式,不能使用网络资源(NFS)
3  完全多用户模式(字符界面) multi-user
5  图形界面   graphical  
6  重启  reboot

# 查看运行级别
[root@localhost ~]# runlevel
N 3
# 之前运行级别:None  现在运行级别:3
# 开机直接进入运行级别3
[root@localhost ~]# init 5        # 进入运行级别5(如果没有安装图形界面就不会有变化)
[root@localhost ~]# runlevel
3 5
[root@localhost ~]# init 3
[root@localhost ~]# runlevel
5 3
[root@localhost ~]# 

运行级别信息存放在/etc/inittab中

# 查看默认运行级别
[root@scnode2 microcode]# systemctl get-default
multi-user.target
[root@scnode2 microcode]

安装图形化界面:
在安装设置虚拟机时点软件选择,选择带GUI的服务器或GNOME桌面或KDE

# 设置默认链接文件,开机时进入字符界面模式
[root@scnode2 microcode]# systemctl set-default multi-user.target

[root@scnode2 multi-user.target.wants]# pwd
/etc/systemd/system/multi-user.target.wants  
在multi-user模式需要启动的服务
service结尾的文件是用来启动某个具体的服务的,对应某个程序
如sshd.service 对应ssh服务

/etc/rc.local和/etc/fstab

开机启动加载完很多服务后,会运行这个脚本里的命令
/etc/rc.local是一个链接文件,指向/etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local  必须授权这个文件具有可执行权限,不然这个文件里的命令不会运行

/etc/fstab文件是告诉Linux系统,挂载磁盘里的其他分区,这样用户可以使用这个磁盘的所有分区的数据了,读取文件加载真正的根文件系统
根据/etc/fstab文件里的分区信息,进行挂载,这样我们就知道了整个系统里的磁盘有哪些分区可以使用

登录

登录时执行以下四个配置文件:
/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值