Linux开机启动那些你不知道的事
一、BIOS/UEFI引导 一切从开机自检(POST)开始,BIOS或UEFI作为硬件与操作系统之间的桥梁,负责加载引导程序。这一步骤看似简单,却为后续的启动过程奠定了坚实的基础。重点来了:BIOS/UEFI的设置直接影响Linux系统的启动方式,如UEFI Secure Boot可能影响某些Lin...
在Linux的世界里,开机启动过程是一个复杂而有序的系统初始化过程,其中隐藏着许多不为人知的细节。今天,我们就来揭开Linux开机启动的神秘面纱,带你一探究竟。
一、BIOS/UEFI引导
一切从开机自检(POST)开始,BIOS或UEFI作为硬件与操作系统之间的桥梁,负责加载引导程序。这一步骤看似简单,却为后续的启动过程奠定了坚实的基础。重点来了:BIOS/UEFI的设置直接影响Linux系统的启动方式,如UEFI Secure Boot可能影响某些Linux发行版的兼容性。
二、GRUB引导加载程序
接下来,GRUB(GRand Unified Bootloader)闪亮登场。作为Linux系统中最常见的引导加载程序,GRUB不仅负责加载Linux内核,还提供了多操作系统选择的界面。重点提示:GRUB的配置文件(如/etc/default/grub)可以定制启动参数,如设置默认启动项、启动超时时间等。
三、内核初始化
加载内核后,Linux系统开始初始化硬件驱动程序、挂载根文件系统,并启动init进程(在现代系统中可能是systemd)。这里要强调的是:内核参数(通过GRUB传递)对系统性能和安全至关重要,如启用或禁用某些内核模块。
四、用户空间初始化
最后,init进程(或systemd)负责启动系统服务、守护进程和桌面环境,最终呈现给用户一个完整的Linux操作系统。特别提醒:systemd作为现代Linux系统的主流初始化系统,提供了丰富的服务管理功能,如服务自启动设置、依赖管理等。
Linux开机启动过程虽然复杂,但每一步都经过精心设计,以确保系统的稳定性和安全性。了解这些过程,不仅有助于解决启动问题,还能让你更深入地理解Linux系统的运行机制。
Linux笔记 更多 >

- 深入探讨Linux内核的主函数执行流程
-
在Linux内核中,并不存在传统意义上的main函数。内核的启动和初始化过程是由多个组件协同完成的,而这一切的起点,通常是内核的入口函数,如start_kernel。 start_kernel函数可以视为内核的“主函数”,它负责初始化内核所需的各种资源和结构,包括内存管理、进程调度、设备驱动等。在这...
2024-05-11 11:54:28
![[快速了解Linux显示文件开头几行的方法]](https://img.doczz.cn/storage/20240414/d6ccffd7a38d119e1265307cd284e948.png)
- [快速了解Linux显示文件开头几行的方法]
-
使用head命令 head命令默认显示文件的前10行内容,但你可以通过-n选项来指定显示的行数。这是查看日志文件、配置文件或任何文本文件开头的有效方式。 基本用法: head filename 这将显示filename文件的前10行。 指定行数: head -n 5 filename 重点:...
2024-09-07 15:57:36

- Linux中验证tar包在传输后的完整性的过程详解
-
第一步:生成MD5校验和 在文件传输前,我们首先需要为原始tar包生成一个MD5校验和。这可以通过md5sum命令实现。在终端中输入以下命令: md5sum yourfile.tar > checksum.md5 上述命令会为yourfile.tar生成一个MD5校验和,并将结果保存到chec...
2024-06-07 14:06:29

- Linux服务器如何修改默认的远程连接端口
-
一、登录Linux服务器 首先,我们需要远程连接并登录到Linux服务器。这一步通常通过SSH工具完成,使用默认的22端口进行连接。 二、编辑SSH配置文件 接下来,我们需要编辑SSH服务的配置文件。这个文件通常位于/etc/ssh/sshd_config。可以使用vi或nano等文本编辑器进行编辑...
2024-11-04 09:36:43

- Linux下jps命令找不到的问题及解决
-
一、问题现象 当你在终端中输入jps命令时,系统可能会提示“command not found”或其他类似的错误信息,这表明jps命令在当前环境中无法被识别。 二、问题原因 JDK安装不完整:jps命令是JDK自带的一个工具,如果JDK安装不完整或某些组件缺失,就可能导致jps命令无法使用。 ...
2025-02-07 16:15:39
CentOs笔记 更多 >

- 怎么远程连接CentOS
-
首先,您需要确保CentOS服务器上已经安装了SSH(Secure Shell)服务。SSH是一种安全协议,它允许用户通过加密通道远程登录到服务器。大多数CentOS发行版默认已经安装了SSH服务。 接下来,您需要在本地计算机上安装一个SSH客户端。对于Windows用户,可以使用PuTTY等第三方...
2024-06-22 10:45:23

- CentOS提示权限不足怎么解决
-
一、使用sudo命令 在CentOS中,sudo命令允许普通用户以超级用户(root)的身份执行命令。当你遇到权限不足的错误时,可以在命令前加上sudo,例如:sudo yum install package_name,这样就可以以root权限安装软件包,而无需切换到root用户。 二、切换到roo...
2025-04-11 10:21:26
![[centos最小化安装后无法使用ifconfig命令]](https://img.doczz.cn/storage/20240420/db233be64c4920e22893a3d7861cf83b.png)
- [centos最小化安装后无法使用ifconfig命令]
-
重点来了:CentOS最小化安装默认不包含net-tools工具包,这是ifconfig命令所在的地方。因此,当你尝试运行ifconfig时,系统会提示“command not found”。 为了解决这个问题,你可以采取以下几种方法: 安装net-tools包: 最直接的方法是使用yum命令安...
2024-10-13 17:21:40

- CentOS无法使用yum命令进行更新
-
据反映,当用户在终端中输入yum命令尝试进行软件包的安装或更新时,系统会提示各种错误,如“无法连接到仓库”、“软件包无法获取”等。这些问题直接导致了用户无法正常获取和安装所需的软件,影响了系统的正常使用。 经过深入分析,我们发现这一问题可能由多种原因导致。首先,网络问题是一个常见的罪魁祸首。如果用户...
2024-05-10 09:48:24

- centos7系统怎么安装mysql
-
第一步:下载并安装MySQL的YUM源 首先,我们需要下载并安装MySQL的YUM源。这可以通过在终端中执行以下命令完成: wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo rpm -Uvh ...
2024-06-07 16:06:32
Ubuntu笔记 更多 >
![[ubuntu修改hosts文件配置虚拟域名的方法]](https://img.doczz.cn/storage/20240421/7e02960a9a27169acf0e1a89e5420ee5.png)
- [ubuntu修改hosts文件配置虚拟域名的方法]
-
一、修改hosts文件 首先,我们需要以root权限打开hosts文件。可以使用以下命令: sudo gedit /etc/hosts 或者,如果你更喜欢使用vim编辑器,可以使用: sudo vim /etc/hosts 在打开的hosts文件中,添加一行新的记录,将虚拟域名映射到对应的IP地址。...
2024-12-11 09:45:48

- Ubuntu 12.04 使用apt-get安装Sphinx
-
首先,打开终端,确保你的系统已经连接到互联网。然后,输入以下命令更新软件包列表: sudo apt-get update 这个命令会从Ubuntu的软件源中获取最新的软件包信息。 接下来,输入以下命令安装Sphinx: sudo apt-get install sphinxsearch 这个命令会告...
2024-06-21 10:39:28
![[ubuntu修改hosts文件配置虚拟域名的方法]](https://img.doczz.cn/storage/20240421/36f31156c72d689331c2e94994b61439.png)
- [ubuntu修改hosts文件配置虚拟域名的方法]
-
一、打开终端 首先,打开Ubuntu的终端。你可以通过点击Dash Home中的Terminal图标,或者使用快捷键Ctrl+Alt+T来快速打开。 二、编辑hosts文件 接下来,我们需要以root权限编辑/etc/hosts文件。在终端中输入以下命令: sudo nano /etc/hosts ...
2024-09-29 09:45:36

- Ubuntu如何使用Boot-Repair工具进行启动修复
-
步骤一:安装Boot-Repair 首先,我们需要打开终端并输入以下命令来安装Boot-Repair: sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boo...
2024-04-21 19:59:25

- Ubuntu下boost库的编译安装步骤及卸载方法详解
-
编译安装Boost库 1. 更新系统包列表** 首先,确保你的Ubuntu系统包列表是最新的。打开终端,输入以下命令并回车: sudo apt-get update 2. 安装必要的编译工具** Boost库的编译需要一些基本的编译工具,如g++、make等。可以通过以下命令安装: sudo apt...
2024-08-01 14:48:45