首页/新闻资讯/正文详情

Swap 交换空间 + 系统启动 + 故障排错|曼巴精神打磨 Linux 运维救命基本功

发布时间:2026/9/24 14:15:52 来源:云帆数科 栏目:资讯中心
Swap 交换空间 + 系统启动 + 故障排错|曼巴精神打磨 Linux 运维救命基本功
文章目录一、Swap 交换空间内存不够硬盘来凑存储器金字塔原理Swap 到底是啥查看内存与交换空间Swap 大小参考Swap 实操全流程1. 创建 swap 分区2. 格式化交换空间3. 激活与查看4. 优先级设置5. 关闭与持久化二、CentOS7 启动全流程从加电到登录的九步运行级别与 target 对应三、忘记 root 密码两种方法直接重置方法 1rd.break推荐正统方案方法 2init/bin/bash四、/etc/fstab 引发的启动故障三种经典场景场景 1挂载点目录不存在场景 2设备名写错 / 不存在场景 3文件系统损坏五、GRUB2 配置与故障修复GRUB 配置别瞎改常用配置改菜单超时内核启动参数GRUB 菜单加密GRUB 故障修复故障 1引导程序损坏MBR 被清故障 2内核文件 vmlinuz 丢了六、拓展磁盘加密与灵魂拷问LUKS 磁盘加密灵魂拷问1. 为啥内核 vmlinuz 和 initramfs 要分开2. 为啥不直接挂载真正的根启动写在最后ManWhat can I say兄弟们运维最怕啥系统起不来、root 密码忘、内存跑满直接炸业务。今天把Swap 交换空间管理、CentOS7 启动全流程、root 密码重置、fstab 启动故障、GRUB2 排错五大块硬骨头啃透全是机房现场救命的本事打开 CentOS7 跟着练点赞收藏反复看关键时刻真能救场一、Swap 交换空间内存不够硬盘来凑存储器金字塔原理计算机存储就是一分钱一分货速度越快容量越小越贵速度越慢容量越大越便宜。从快到慢排成金字塔CPU 寄存器 → CPU 高速缓存 → 主存内存 → 辅助存储器硬盘、U 盘层层缓存取长补短用最低的成本凑出最好的性能。Swap 到底是啥Swap 就是交换空间说白了就是内存不够硬盘来凑和 Windows 的虚拟内存 pagefile.sys 一个德行。内存满了内核把暂时不用的内存页写到硬盘的 swap 区腾出内存给前台程序程序要用到换出去的数据再从 swap 读回内存纯纯救急方案swap 在硬盘上速度比内存慢几个量级真要性能还是得加内存条查看内存与交换空间free -m # 以MB为单位看着舒服输出字段记清楚Mem 行物理内存total 总容量、used 已用、free 空闲、buff/cache 缓存Swap 行交换空间total 总大小、used 已用、free 空闲Swap 大小参考生产别瞎设按内存大小来2G 以下内存swap 设内存的 2 倍2G~8G 内存swap 和内存一样大8G~64G 内存至少 4G swap64G 以上至少 4G够兜底就行要开休眠hibernate的话swap 得比内存还大要存下整个内存的数据。Swap 实操全流程1. 创建 swap 分区用 parted 划个分区类型设为 linux-swapparted /dev/sdb mklabel gpt parted /dev/sdb unit MiB mkpart swap01 linux-swap 1 20492. 格式化交换空间mkswap /dev/sdb13. 激活与查看swapon /dev/sdb1 # 激活swap swapon -s # 查看所有激活的swap设备4. 优先级设置多个 swap 的时候可以设优先级值越大优先级越高优先用高优先级的。swapon -p 4 /dev/sdb1不设优先级的话系统按顺序用第一个用完才用第二个。5. 关闭与持久化swapoff /dev/sdb1 # 临时关闭开机自动激活写进/etc/fstabUUIDxxx swap swap pri4 0 0swapon -a # 一键激活fstab里所有swap swapoff -a # 全部关闭曼巴忠告生产环境 swap 别关极端情况能防进程 OOM 被杀也别设太大大量用 swap 的时候系统会卡成狗该加内存就加内存。二、CentOS7 启动全流程从加电到登录的九步系统启动不是黑盒一步步清清楚楚排错才能精准定位。加电自检BIOS/UEFI 跑 POST 自检初始化硬件按启动顺序找启动磁盘引导接手读磁盘 MBR 主引导扇区把控制权交给 GRUB2 引导程序GRUB 菜单加载 grub.cfg 配置显示系统选择菜单选哪个内核启动加载内核加载内核 vmlinuz 和 initramfs 临时文件系统到内存内核初始化内核识别硬件initramfs 提供驱动第一个进程 PID 1 诞生systemd加载目标systemd 加载默认运行目标 target系统初始化读 /etc/fstab 挂载文件系统启动系统服务启动服务激活所有开机自启的服务终端登录启动 getty弹出登录提示符运行级别与 target 对应传统 SysVinit 的 0-6 运行级别CentOS7 用 target 对应核心记四个表格级别对应 target作用0-关机1rescue.target单用户模式root 直接登录修系统、改密码用3multi-user.target完全多用户文本模式服务器默认5graphical.target图形化多用户模式带桌面6-重启常用命令systemctl isolate multi-user.target # 切到文本模式 systemctl get-default # 看默认启动级别 systemctl set-default multi-user.target # 改默认启动级别三、忘记 root 密码两种方法直接重置密码忘了别慌不用重装系统GRUB 里改个参数就能重置。方法 1rd.break推荐正统方案启动时在 GRUB 菜单按e编辑启动项找到linux16开头的行末尾加rd.break按Ctrlx启动进入紧急 shell把根重新挂载为读写mount -o remount,rw /sysroot切换到真正的根系统chroot /sysroot改 root 密码echo 新密码 | passwd --stdin root关键一步SELinux 环境下必须打标记不然启动不了touch /.autorelabel两次 exit 退出系统自动重启新密码登录方法 2init/bin/bash同样编辑启动项linux16 行尾加init/bin/bashCtrlx 启动直接进 bash把根重挂载为读写mount -o remount,rw /删掉 root 密码进去再设passwd -d root执行 systemd 继续启动exec /usr/lib/systemd/systemd曼巴忠告只要是 SELinux 开着的系统改完密码一定要touch /.autorelabel不然重启完 SELinux 拦着你进不去系统经典中的经典坑四、/etc/fstab 引发的启动故障三种经典场景fstab 写错了系统直接启不来三种场景挨个排。场景 1挂载点目录不存在现象系统正常启动自动帮你创建挂载点目录一般不翻车。场景 2设备名写错 / 不存在现象启动找不到设备等 1 分 30 秒超时直接进 emergency 急救模式解决输入 root 密码进急救模式vim /etc/fstab把错的行注释掉或者改对exit继续启动就行。场景 3文件系统损坏现象启动尝试修复文件系统失败后进急救模式解决xfs_repair /dev/sdb1 # xfs文件系统修复修完 exit 继续启动。曼巴忠告生产环境 fstab 里优先用 UUID别用 /dev/sda1 这种设备名磁盘顺序变了、加了新盘设备名可能变直接启动失败。UUID 是唯一的永远不变。五、GRUB2 配置与故障修复GRUB 配置别瞎改记住铁律别直接改 /boot/grub2/grub.cfg这文件是系统自动生成的手改了下次更新内核直接给你覆盖白改。正确姿势改/etc/default/grub全局配置改/etc/grub.d/里的脚本然后执行grub2-mkconfig -o /boot/grub2/grub.cfg生成新配置常用配置改菜单超时vim /etc/default/grub GRUB_TIMEOUT5 # 改成5秒 grub2-mkconfig -o /boot/grub2/grub.cfg内核启动参数GRUB_CMDLINE_LINUX里加参数rhgb开图形化启动界面quiet减少启动日志只显示重要信息debug开详细启动日志排错的时候用net.ifnames0 biosdevname0网卡名改成传统 eth0不是 ens33 那种GRUB 菜单加密不想别人随便改启动项、进单用户模式给 GRUB 加个密码。grub2-mkpasswd-pbkdf2 # 生成密码哈希把哈希写到/boot/grub2/user.cfg生成配置生效。以后编辑启动项就得输用户名密码。GRUB 故障修复故障 1引导程序损坏MBR 被清现象开机找不到引导直接黑屏提示没有启动设备解决拿系统光盘启动选Troubleshooting→Rescue a CentOS system进入救援模式chroot 到硬盘上的系统chroot /mnt/sysimage重装 GRUB 引导grub2-install /dev/sda两次 exit 重启搞定。故障 2内核文件 vmlinuz 丢了现象启动提示找不到内核文件卡 GRUB 里解决光盘进救援模式重装内核 rpm 包或者从别的同版本系统拷一个过来。六、拓展磁盘加密与灵魂拷问LUKS 磁盘加密怕别人拔了硬盘直接读数据用 LUKS 加密整个分区。yum install cryptsetup -y cryptsetup luksFormat /dev/sdb1 # 初始化加密会清数据 cryptsetup open /dev/sdb1 crypt_disk # 打开映射输密码 mkfs.xfs /dev/mapper/crypt_disk # 格式化映射设备 mount /dev/mapper/crypt_disk /mnt # 挂载使用开机要输密码才能读盘物理拿了硬盘也读不了数据安全拉满。灵魂拷问1. 为啥内核 vmlinuz 和 initramfs 要分开内核是系统骨架只管核心功能initramfs 是临时工具箱装驱动、工具。分开灵活内核升级不用改驱动驱动更新不用换内核启动更快内核体积小加载解压快适配性强不同硬件换个 initramfs 就行内核通用2. 为啥不直接挂载真正的根启动真根在硬盘上啊内核刚起来的时候硬盘驱动、LVM、加密这些都没加载根本认不出根分区在哪。initramfs 就是先搭个临时系统把驱动加载了、LVM 激活了、加密解密了把根设备准备好再挂载真正的根顺理成章。写在最后ManWhat can I say交换空间调内存、启动流程懂原理、密码忘了解锁、启动故障排错这些都是运维的基本功也是现场救火的真本事。系统起不来的时候别慌从 GRUB 到 fstab从单用户到救援模式一步步排查总有办法。一定要虚拟机亲手复现调 swap、切运行级别、重置 root 密码、故意写错 fstab 看启动故障、重装 GRUB 引导每个坑都踩一遍比背十页笔记都管用。万丈高楼平地起底层原理搞懂了排错运维直接快人一步。后续持续更新 Linux 实战干货欢迎点赞收藏关注一起持续打怪升级Mamba out

相关推荐

OOMWOO I/O 板原理图深度解析:传感器与电机子电路引脚分配全编译
OOMWOO I/O 板原理图深度解析:传感器与电机子电路引脚分配全编译

智能硬件机器人嵌入式物联网 【免费下载链接】oomwoo Open-source vacuum robot cleaner 项目地址: https://gitcode.com/gh_mirrors/oo/oomwoo 点击查看 免费下载 本文基于 OOMWOO 开源扫地机器人项目自有的 KiCad 参考原理图(makerspet/oomwoo-io-boa… · 2026/9/24 14:15:46

QFIL高通刷机保姆级教程:9008模式救砖与分区读写全攻略
QFIL高通刷机保姆级教程:9008模式救砖与分区读写全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:15:46

palera1n 越狱:一条命令重进越狱态
palera1n 越狱:一条命令重进越狱态

palera1n 越狱:一条命令重进越狱态 【免费下载链接】palera1n Jailbreak for A8 through A11, T2 devices, on iOS/iPadOS/tvOS 15.0, bridgeOS 5.0 and higher. 项目地址: https://gitcode.com/GitHub_Trending/pa/palera1n 你口袋里的 iPhone 7 还停在 iOS… · 2026/9/24 14:15:46

C语言动态内存管理详解:从malloc到柔性数组
C语言动态内存管理详解:从malloc到柔性数组

1. 引言在C语言的学习过程中,内存管理始终是一个绕不开的核心话题。很多初学者在编写程序时,往往只关注逻辑是否正确,却忽略了内存的分配与释放。实际上,动态内存管理是C语言中极为重要的一环,它直接关系到程序的稳定性… · 2026/9/24 14:48:01

低空空域智能管控怎么做?物理AI+数字孪生完整技术架构解析
低空空域智能管控怎么做?物理AI+数字孪生完整技术架构解析

低空空域智能管控的最优物理AI方案,不应只是“无人机监控大屏”,而应该是一套能够完成空域数字化、实时感知、航线规划、仿真推演、风险预测、智能调度和应急处置的闭环系统。按照城市级数字孪生能力、空域数据融合、飞行器实时感知、仿真预测、多机协同… · 2026/9/24 14:47:47

G6 径向布局(Radial Layout)实战指南:同心圆分层、节点防重叠与聚类排序
G6 径向布局(Radial Layout)实战指南:同心圆分层、节点防重叠与聚类排序

G6 径向布局(Radial Layout)实战指南:同心圆分层、节点防重叠与聚类排序 【免费下载链接】G6 ♾ A Graph Visualization Framework in JavaScript. 项目地址: https://gitcode.com/gh_mirrors/g6/G6 径向布局(Radial Layou… · 2026/9/24 14:47:47

webnovel-writer 冲突设计实战:从一句核心冲突到整卷危机链的完整工作流
webnovel-writer 冲突设计实战:从一句核心冲突到整卷危机链的完整工作流

webnovel-writer 冲突设计实战:从一句核心冲突到整卷危机链的完整工作流 【免费下载链接】webnovel-writer 基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200 万字量级 连载创作。 项目地址: htt… · 2026/9/24 14:47:47

工业 AI 项目Sim‑to‑Real鸿沟,公共产业载体可以补齐哪些中间环节
工业 AI 项目Sim‑to‑Real鸿沟,公共产业载体可以补齐哪些中间环节

Sim‑to‑Real(仿真到现实鸿沟)是工业 AI、具身智能赛道老生常谈的技术难题。模型在仿真环境指标表现优秀,部署到真实工厂、真实硬件之后,受光照、摩擦、噪声、设备公差影响,效果出现明显跳水。对于中小 AI 团队、硬件… · 2026/9/24 14:47:47

LanceDB 清理操作统计:RemovalStats 接口深度解析(Node.js SDK)
LanceDB 清理操作统计:RemovalStats 接口深度解析(Node.js SDK)

向量数据库数据库人工智能后端 【免费下载链接】lancedb Developer-friendly OSS embedded retrieval library for multimodal AI. Search More; Manage Less. 项目地址: https://gitcode.com/gh_mirrors/la/lancedb 点击查看 免费下载 LanceDB 的 Node.js&#xf… · 2026/9/24 14:47:41

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码