本简短指南介绍了如何修复 Ubuntu Linux 上的 Busybox Initramfs 错误。我使用 Ubuntu 24.04 LTS 作为我的 Dell Inspiron 笔记本电脑上的日常驱动程序。今天我将其打开,启动过程将我带到 BusyBox shell,最后出现 initramfs 提示符。
据我所知,我没有做错任何事。我没有强行关闭系统电源。昨天还运行得很好!然而,今天当我开机时,在启动过程中遇到了意想不到的问题。我发现自己没有正常加载,而是重定向到 BusyBox shell,并最终到达 initramfs 提示符。
1 2 3 4 |
BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash) Enter 'help' for a list of built-in commands. (initramfs) |
我无法跳过这个屏幕。而且它也没有显示问题到底是什么。我所看到的只是一个空白的 Busybox shell。
我此时不知道该怎么办。所以我只是通过 exit 命令来看看会发生什么。
然后我看到了实际的错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
(initramfs) exit /dev/sda1 contains a file system with errors, check forced. Inode 4326476 extent tree (at level 1) could be narrower, IGNORED. /dev/sda1: Inode 4326843 extent tree (at level 1) could be narrower, IGNORED. /dev/sda1: Inode 4327012 extent tree (at level 1) could be narrower, IGNORED. /dev/sda1: Inode 4329004 extent tree (at level 1) could be narrower, IGNORED. /dev/sda1: Inodes that were part of a corrupted orphan linked list found. /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options) fsck exited with status code 4. The root filesystem on /dev/sda1 requires a manual fsck. BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash) Enter 'help' for a list of built-in commands. (initramfs) |
正如您在上面的输出中看到的,/dev/sda1 分区已损坏。该分区中的文件系统有一些错误。
如果您遇到过此类问题,则需要使用 fsck 命令检查并修复有问题的 Linux 文件系统。
请注意,有时输入 exit 命令后您不会看到任何错误。在这种情况下,请尝试在所有文件系统上运行 fsck。
什么是 Busybox 和 Initramfs?
对于那些想知道的人来说,BusyBox 是一个软件套件,它在一个小型可执行文件中提供了许多常见的 UNIX 实用程序。它提供了您通常在 GNU fileutils、shellutils 等中找到的大多数实用程序的替代品。
Initramfs是一个基于 tmpfs 的初始ram文件系统。它包含在调用实际根文件系统上的 init 二进制文件之前挂载文件系统所需的工具和脚本。
修复 Ubuntu Linux 上的 Busybox Initramfs 错误
1. 要解决 Ubuntu Linux 上的 initramfs 错误,您需要使用 fsck 修复损坏分区中的文件系统 命令如下:
1 |
(initramfs) fsck /dev/sda1 -y |
将 /dev/sda1 替换为您的分区名称。在您的系统中,它可能是 /dev/sdb1、/dev/sdc1 等。您可以使用 cat /proc/partitions 或 blkid 或 lsblk 命令来获取 Busybox 中的 Linux 分区详细信息。请参阅本指南列出 Linux 中的磁盘分区。不要忘记传递 -y 标志。否则,您应该手动键入 -y 并每次按 ENTER 键来修复错误。
2. 现在,fsck 命令将开始自动修复文件系统中的所有坏块。
几分钟后,您将看到如下输出:
1 2 |
/dev/sda1: ***** FILE SYSTEM WAS MODIFIED ***** /dev/sda1: 497733/30531584 files (1.5% non-contiguous), ........ |
3. 接下来,输入 reboot 并按 ENTER 重新启动系统!
1 |
(initramfs) reboot |
如果 reboot 命令不起作用,请输入 exit 并按 ENTER。
交叉手指并等待系统重新启动!如果一切顺利,您的系统将正常启动,没有任何问题。
这些步骤帮助我和其他许多人解决了 Ubuntu Linux 操作系统上的 Busybox Initramfs 错误。如果您陷入 initramfs 提示符,本指南肯定会帮助您修复 Ubuntu 中的 initramfs 错误。
注意:如果您经常收到此错误,则可能是您的硬盘变得越来越弱。遇到这种情况,建议尽快备份数据并更换硬盘。
这不仅仅适用于 Ubuntu 操作系统。 initramfs 错误可能发生在 Debian 和其他 Ubuntu 衍生产品(例如 Pop OS、Linux mint 等)上。为了修复基于 Debian 的系统中的 initramfs 错误,只需按照上述步骤操作即可。