本文共 3857 字,大约阅读时间需要 12 分钟。
1,power on 开机
2,POST开机自检 由主板上的BIOS程序来完成 3,BIOS对硬件进行检测 BIOS:基本输入输出系统,是个人电脑启动时加载的第一个软件。可从CMOS中读写系统设置的具体信息。名词解释:
1,什么是BIOS? BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。 BIOS是个人电脑启动时加载的第一个软件。 它是一组固化到计算机内主板上一个ROM芯片上的程序,保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,可从CMOS中读写系统设置的具体信息。 BIOS这个大程序里面有3个小程序:基本输入输出的程序、开机后自检程序和系统自启动程序2,CMOS是什么? CMOS是一个存储参数配置的芯片,是主板上一块可读写的RAM芯片 CMOS芯片靠后备电池供电,即使系统关机掉电后系统也不会消失
4,boot启动顺序检查
hard drive 硬盘 cdrom 光驱 removeable device 可移动设备 Network 从网络中的服务器启动 一般从硬盘启动 5,硬盘 硬盘里有一个MBR分区 6,MBR 主引导记录,MBR是第一个可开机设备的第一个扇区的引导分区块,内包含引导加载程序,电脑开机的时候,计算机系统会主动去执行BIOS这个程序,然后BIOS会分析计算机上的存储设备,硬盘的话,BIOS会到该硬盘里面去读取第一个扇区的MBR位置,MBR里面放着引导加载程序,加载内核文件 7,groub2引导启动程序 里面的ext4驱动,可以识别/boot分区里的内容8,/boot
/boot分区里有vmlinuxz 和initramfs执行这两个文件,将其加载到内存 vmlinuz-4.18.0-147.el8.x86_64 真正的linux内核程序 initramfs-4.18.0-147.el8.x86_64.img --为内核配套的文件系统,存放了很多的驱动注:initramfs文件可以解压: cpio -idmv < ./initramfs.img
9.启动systemd进程
systemd进程 是linux里的第1个进程 10,启动对应的运行级别里的服务 一般是multi-user级别,运行/etc/rc.local和/etc/fstab /etc/rc.local -->开机启动的过程中将所有的服务启动后,会执行这个文件里的命令 ‘chmod +x /etc/rc.d/rc.local’ 这个文件必须要设置可执行权限,里面的命令才会执行/etc/fstab 会自动挂载文件系统
11,之后进入login登录页面(输入用户名和密码)
12,根据/etc/passwd和/etc/shadow 检测用户名和密码是否正确
13,如果登录成功就运行~/.bashrc ~/.bash_profile /etc/bashrc /etc/profile 这四个配置文件
~/.bashrc -->启动bash程序的时候会加载 -->只是影响某个用户的 ~/.bash_profile -->用户登录的时候会运行的脚本/etc/bashrc -->全局,会影响所有的用户的
/etc/profile -->全局,会影响所有的用户的首先会执行/etc/profile、和~/.bash_profile-->~/.bashrc -->/etc/bashrc
14,开机成功,最后会出现bash提示符
root用户:# 普通用户:$如何查看一个服务是否开机启动?
方法1: 到多用户模式对应的文件夹下查看是否有这个服务的名字[root@localhost ~]# cd /etc/systemd/system[root@sanchuang system]# cd multi-user.target.wants/[root@localhost system]# lsbasic.target.wants default.target network-online.target.wants sysinit.target.wants timers.target.wantsdbus-org.freedesktop.nm-dispatcher.service getty.target.wants nginx.service.d syslog.service vmtoolsd.service.requiresdbus-org.freedesktop.resolve1.service multi-user.target.wants sockets.target.wants sysstat.service.wants
如果不想某个服务开机启动可以:
如:禁用nginx开机启动root@sanchuang multi-user.target.wants]# systemctl disable nginx Removed /etc/systemd/system/multi-user.target.wants/nginx.service.[root@sanchuang multi-user.target.wants]# lsauditd.service dnf-makecache.timer NetworkManager.service sshd.service tuned.servicechronyd.service irqbalance.service remote-fs.target sssd.service vmtoolsd.servicecrond.service kdump.service rsyslog.service sysstat.service
解释:
/etc存放系统管理和配置文件 /etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。运行级别(centos6里概念)
在centos6里有哪些运行级别?runlevel 可以查看当前运行级别
0级:关机 1级:单用户(找回丢失密码) 2级:多用户无网络,不能使用NFS功能 3级:多用户有网络(multi-user),最常用的级别,CLI字符界面 (会定义哪些程序在字符界面下开机启动 -->开启的程序少–>消耗的资源少 -->最小化安装) 4级:保留,目前Linux暂无使用 5级:图像界面,GUI界面 (图形界面 -->会定义哪些程序在图形界面下开机启动 -->开启的程序多–>消耗资源多 -->带GUI服务器,linux里启动图形界面是启动GNOME 和KDE) 6级:重启 在centos7/8里该文件已经不再使用了[root@localhost system]# cat /etc/inittab inittab is no longer used when using systemd. Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.targetsystemd uses 'targets' instead of runlevels. By default, there are two main targets:multi-user.target: analogous to runlevel 3graphical.target: analogous to runlevel 5To view current default target, run:systemctl get-defaultTo set a default target, run:systemctl set-default TARGET.target
查看当前的默认运行级别
[root@sanchuang zhuxiaodan]# systemctl get-default multi-user.target
设置默认的运行级别
[root@sanchuang zhuxiaodan]# systemctl set-default graphical.target [root@sanchuang zhuxiaodan]# systemctl set-default multi-user.targetRemoved /etc/systemd/system/default.target.Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target.
init 0 关机
init 3 进入运行级别3 -->字符界面 init 6 重启 注:千万不能把initdefault 设为0或6,会导致你的系统一开机就关机,一开机就重启转载地址:http://imlzi.baihongyu.com/