当你的 Linux 系统进入紧急模式时:initramfs 与 fsck
发布: (2025年12月10日 GMT+8 12:07)
2 min read
原文: Dev.to
Source: Dev.to
什么是 initramfs?
当你第一次看到这个词时,它听起来很陌生,对吧?
initramfs 代表 initial RAM filesystem(初始 RAM 文件系统)。它是一个小型的临时文件系统,由引导加载程序在主操作系统文件系统挂载之前加载到 RAM 中。可以把它看作是一个工具箱,里面包含挂载主文件系统所需的东西。
什么是 fsck?
fsck 代表 file system integrity check(文件系统完整性检查)。当你的文件系统出现问题时,你会使用它。运行 fsck 的常见原因包括:
- 不当的关机
- 电源中断
- 磁盘错误
- 文件系统损坏
当 fsck 检测到问题时,它会尝试自动修复,或提示你确认。
initramfs 与 fsck 的示例
initramfs shell 看起来是这样的:
(initramfs) _
在这个 shell 中,你可以运行诸如:
fsck /dev/sda1 # 检查并修复根分区
mount /dev/sda1 /root # 尝试手动挂载
一个简单的 6 步示例,展示 initramfs 与 fsck 如何交互:
- 系统启动,内核加载。
- 内核将 initramfs 加载到 RAM 中。
- initramfs 尝试挂载
/,失败。 - 你被带入 initramfs shell。
- 运行
fsck修复文件系统。 - 重启。如果成功,系统将正常启动。
小结
现在你对 initramfs 和 fsck 是什么以及它们在启动过程中的配合方式有了基本的了解。