[centos7系统的启动流程]
一、硬件初始化 当计算机启动时,首先会加载Basic Input/Output System(BIOS)或Unified Extensible Firmware Interface(UEFI)。这两者作为计算机的固件,负责掌管计算机的启动流程。BIOS或UEFI会扫描计算机的硬件,包括硬盘、内存、C...
CentOS 7系统的启动流程是一个复杂但有序的过程,涉及硬件初始化、引导加载、内核启动以及系统服务的运行等多个环节。下面,我们就来详细解析一下这个过程。
一、硬件初始化
当计算机启动时,首先会加载Basic Input/Output System(BIOS)或Unified Extensible Firmware Interface(UEFI)。这两者作为计算机的固件,负责掌管计算机的启动流程。BIOS或UEFI会扫描计算机的硬件,包括硬盘、内存、CPU等,以确定这些部件能否正常读取或访问。这个过程有时候会包含进一步的硬件检测过程,如果检测没有通过,计算机可能会显示一些错误信息。
二、引导加载
BIOS或UEFI检测完硬件后,会在计算机的Master Boot Record(MBR)或EFI System Partition(ESP)中寻找Boot Loader。Boot Loader是计算机启动的第一个程序,CentOS 7默认使用的是Grub2。Grub2会读取并执行启动设备的MBR中的Boot Loader,加载/boot分区上的文件系统驱动,并读取相关的配置文件,如/etc/grub.d/、/etc/default/grub和/boot/grub2/grub.cfg。这些配置文件定义了引导菜单、内核参数等重要信息。
三、内核启动
Boot Loader成功加载后,会将控制权交给Linux Kernel。Linux Kernel会初始化硬件设备并加载所有必需的驱动程序,这个过程中还会进行与硬件相关的其他配置处理,确保所有硬件都能够被正确地管理和利用。内核初始化后,会使用systemd作为系统的初始化进程和服务管理器。
四、系统服务运行
systemd会按照预设的target配置,依次启动各种系统服务和单元。例如,它会先执行initrd.target来挂载/etc/fstab中定义的文件系统,然后从initramfs根文件系统切换到磁盘根目录。接着,systemd会执行默认target配置(通常是graphical.target或multi-user.target),根据配置启动相应的系统服务和程序。在multi-user.target下,systemd会启动本机与服务器所需的各种服务,并执行/etc/rc.d/rc.local中的自定义命令。此外,systemd还会启动getty.target来提供登录服务,允许用户通过终端或图形界面登录系统。
五、用户空间初始化
最后,systemd会启动Linux的用户空间,这时,用户就可以进行登录。用户空间是指所有的用户进程和用户态服务,用户可以在这个空间中执行命令,自由地操作系统。至此,CentOS 7从开机到进入系统的全过程就完成了。
通过了解CentOS 7的启动流程,我们可以更好地理解系统的运行原理,为系统的优化和维护提供有力的支持。
Linux笔记 更多 >

- Linux网络知识详解:iptables 规则介绍
-
iptables基本概念 iptables的工作基于内核的netfilter框架,它运行在用户空间,通过配置表(tables)和链(chains)中的规则来管理网络流量。iptables主要有四个表:filter(过滤)、nat(地址转换)、mangle(修改)和raw(原始数据包处理),其中fil...
2024-10-01 16:03:35

- 为什么Linux中的进程会处于休眠状态?
-
进程休眠的主要原因 等待I/O操作完成 磁盘I/O:当进程执行磁盘读写操作时,如果数据尚未准备好或磁盘忙碌,进程会被挂起,直到I/O操作完成。例如,进程在等待文件读写时,可能会进入D状态(不可中断的休眠)。 网络I/O:如果进程需要从网络中获取数据,如等待网络响应或数据包,当网络操作阻塞时,进...
2025-03-15 11:33:38

- Linux Fuse简介及应用领域分析
-
FUSE的核心优势在于其模块化设计。这意味着开发者可以针对特定需求,定制符合自己应用场景的文件系统。例如,可以将FUSE用于连接远程文件系统、访问加密存储或实现版本控制等。 FUSE的应用领域非常广泛。在云计算领域,FUSE可以用于挂载远程存储服务,如S3或GCS,使得本地应用可以像访问本地文件一样...
2024-06-06 16:39:26
![[Linux下构建RAID5]](https://img.doczz.cn/storage/20240414/61e9433775768da7ba04a545c5fbb54e.png)
- [Linux下构建RAID5]
-
一、前期准备 硬件需求:首先,确保您有至少三块同样容量的硬盘。为了更好的数据冗余,推荐使用四块硬盘,其中三块用于构建RAID5,另一块作为热备盘。 软件安装:Linux下构建RAID5需要安装mdadm软件包。您可以使用rpm -qa | grep mdadm或apt-get install...
2024-08-26 16:25:31

- 加强Linux 容器安全的十大方面
-
1. 基础镜像安全****:选择官方或可信的镜像源,避免使用未经审核的第三方镜像,以减少潜在的安全漏洞。 2. 最小权限原则****:为容器分配最小必要的权限,避免容器内部拥有过多的系统权限,从而降低被攻击的风险。 3. 资源隔离****:利用Linux的命名空间(Namespace)和cgroup...
2025-04-03 10:09:30
CentOs笔记 更多 >

- centos7系统如何查看端口
-
使用netstat命令 netstat是Linux系统中查看网络连接、路由表、接口统计等信息的强大工具。但在CentOS 7及更高版本中,net-tools(包含netstat)默认可能不安装,取而代之的是ss命令。不过,如果你习惯使用netstat,可以通过安装net-tools包来获得它。 ...
2024-08-07 10:00:55

- CentOS如何查看内存
-
使用free命令:这是最简单直接的方法。打开终端,输入free -m,即可查看以MB为单位的内存使用情况,包括总内存、已用内存、空闲内存等信息。如果想要更详细的信息,可以使用free -h,它会以更易读的格式(如GB、MB)显示内存信息。 查看/proc/meminfo文件:系统内存信息也存储在/p...
2024-04-25 10:24:29

- centos怎么启动网卡设备
-
一、确定网络接口名称 首先,你需要确定要启动的网络接口的名称。在CentOS中,网络接口通常以“eth0”、“eth1”等形式命名。你可以使用以下命令列出所有可用的网络接口及其状态:ifconfig -a。该命令将显示所有网络接口的详细信息,包括名称和状态。 二、编辑网络配置文件 接下来,你需要编辑...
2024-11-20 14:24:19
![[centos如何删除文件]](https://img.doczz.cn/storage/20240420/fc4d3e6201c7d32fa62ffa18d45db18c.png)
- [centos如何删除文件]
-
一、使用rm命令删除文件 在CentOS中,最常用的删除文件命令是rm。这个命令非常简单直接,但使用时需要格外小心,因为一旦执行,被删除的文件将无法恢复。 重点内容: 使用rm 文件名的命令格式来删除指定文件。例如,要删除名为example.txt的文件,只需在终端中输入rm example.txt...
2025-02-28 14:33:28

- centos怎么配置dns域名解析
-
一、准备工作 在进行DNS配置之前,请确保您的CentOS系统已经正确连接到网络,并且具有管理员权限。 二、使用nmcli工具配置DNS 显示当前网络连接: 使用命令nmcli connection show来显示当前的网络连接。这将帮助您确认要修改的网络连接名称或UUID。 修改DNS服务...
2024-11-15 18:24:40
Ubuntu笔记 更多 >

- Ubuntu桌面登录不上的故障解决: Unable to Connect to X Server
-
首先,尝试重启你的Ubuntu系统。这是最简单也最直接的方法,有时候小故障可能只是暂时的,重启后就能恢复正常。 如果重启无效,尝试进入恢复模式。在启动时按住Shift键,进入GRUB菜单,选择“Advanced options for Ubuntu”,然后选择带有“(recovery mode)”的...
2024-09-13 09:33:35

- Ubuntu下安装、激活和完全卸载PhpStorm6
-
安装 PhpStorm6 第一步:下载 PhpStorm6 首先,你需要从 JetBrains 官网或其他可信源下载 PhpStorm6 的安装包。由于官网下载速度可能较慢,你可以尝试从其他渠道获取安装包,如百度网盘等。 第二步:解压安装包 使用 Terminal 打开命令行界面,切换到下载目录。然...
2024-08-01 17:24:50

- Ubuntu下从源码编译安装flare以及如何从Debian包安装
-
一、从源码编译安装flare 准备工作: 确保你的系统已经安装了必要的编译工具,如g++、make等。 更新系统包列表并安装依赖项:sudo apt-get update && sudo apt-get install -y build-essential cmake git ...
2025-04-02 14:57:33

- Ubuntu下boost库的编译安装步骤及卸载方法详解
-
一、编译安装步骤 下载Boost安装包 前往Boost官网(www.boost.org)下载所需版本的.gz文件。 解压下载的文件,进入解压后的目录。 运行bootstrap脚本 在解压后的目录中,运行./bootstrap.sh脚本。可以添加参数如--with-libraries=a...
2025-02-24 17:45:41
![[Ubuntu+Windows双系统在Windows中删除Ubuntu后重启出现grub rescue的修复方法]](https://img.doczz.cn/storage/20240421/5fb1681529a4113d6cba26732cf6398c.png)
- [Ubuntu+Windows双系统在Windows中删除Ubuntu后重启出现grub rescue的修复方法]
-
方法一:使用Boot Repair工具 重点步骤: 下载Boot Repair工具:访问Boot Repair官网,根据您的系统选择适合的32位或64位版本(bootrepairdisk64bit.iso)并下载。 制作启动USB:使用Rufus等工具将下载的ISO文件制作成可启动的USB设备。 ...
2024-08-12 17:01:00