当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Ubuntu/Mint/Kali 启动到 BusyBox 中的 Initramfs 提示符

作者:精品下载站 日期:2024-12-14 20:13:40 浏览:16 分类:玩电脑

Ubuntu/Mint/Kali 启动到 BusyBox 中的 Initramfs 提示符


在本文中,我们将展示如何解决运行 Linux Ubuntu/Mint/Kali 的计算机在 initramfs 初始化期间无法启动或出现 busybox 提示时出现的问题。用户只能访问和使用 initramfs 命令提示符。

Initramfs是 RAM 中最初基于 tmpfs 的文件系统,不使用单独的块设备。与 initrd 一样,它包含在调用位于根文件系统中的 init 之前挂载文件系统的工具和脚本。

[玩转系统] Ubuntu/Mint/Kali 启动到 BusyBox 中的 Initramfs 提示符

在 LInux 中修复损坏的 Ext4 Superblock

如果 Ubuntu 在 initramfs 初始化期间崩溃到 busybox,则磁盘上可能存在损坏的超级块。

Linux 中保存了所有超级块副本。要在发生此问题时恢复系统,您需要从救援映像/磁盘/Live CD 启动并运行终端提示符。启动后,在终端中输入以下命令:

# sudo fdisk -l|grep Linux|grep -Ev 'swap'

该命令返回有关您的卷的信息:

/dev/vda2 4096 83884031 83879936 40G Linux filesystem

记住卷名称并在以下命令中指定它:

# sudo dumpe2fs /dev/vda2 | grep superblock

该命令将显示备份超级块的列表:

[玩转系统] Ubuntu/Mint/Kali 启动到 BusyBox 中的 Initramfs 提示符

我们将使用第二个备份超级块来替换损坏的超级块(您可以使用除主超级块之外的任何超级块)。使用备份超级块检查磁盘:

# sudo fsck -b 98304 /dev/vda2 -y

如果你得到这个输出:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda2 is mounted.
e2fsck: Cannot continue, aborting

卸载卷:

# umount /dev/vda2

成功替换超级块后,您将收到如下消息:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #231 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #352 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #358 (32254, counted=27774).
Fix? yes
..........
/dev/vda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/vda2: 85986/905464576 files (0.2% non-contiguous), 3904682/905464576 blocks

然后卸载启动介质并重新启动计算机。一切都应该正常工作。

Fsck 启动错误:意外的不一致

initramfs (BusyBox) 问题的第二个变体在终端窗口中包含以下消息:

/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
The root filesystem on /dev/sda1 requires a manual fsck.

[玩转系统] Ubuntu/Mint/Kali 启动到 BusyBox 中的 Initramfs 提示符

如果没有看到,请尝试输入

(initramfs) exit

在终端窗口中。执行此操作后可能会出现错误...

该消息将显示需要运行手动磁盘检查的卷。在 initramfs 提示符下运行以下命令:

# fsck /dev/sda1 -y

磁盘检查结束后,重新启动计算机并确保 Linux 正确启动。

警报! /dev/volume 不存在

Fstab问题

启动Linux主机时可以看到以下错误:

ALERT! /dev/sda1 does not exist. Dropping to a shell.

[玩转系统] Ubuntu/Mint/Kali 启动到 BusyBox 中的 Initramfs 提示符

您可能刚刚安装了 Linux,或者您的主机存在一些 fstab 问题。当系统是从 USB 驱动器安装时,最常出现此问题。系统可能会显示任何体积的错误。与第一种情况一样,我们必须从rescue/boor Linux 介质启动并执行一些操作。使用以下命令检查磁盘 UUID:

# sudo blkid

系统会返回类似这样的信息:

/dev/sda2: UUID="36cce3d5-cbdb-46f4-adbf-3f9aaa01d729" TYPE="ext4" PARTUUID="fea4dab1-4e12-4327-85c6-76ade18f64e1"

在这里我们看到系统必须从 sda2 启动,但实际上它尝试从 sda1 启动。

将卷挂载到任意目录,例如:

# sudo mount /dev/sda2 /mnt

当您在/mnt目录中看到/dev/sda2时,找到/etc/fstab文件并修改包含/dev/sda1的行,如下所示:

UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 errors=remount-rw 0 1

保存文件。从 /mnt 卸载卷并重新启动。如果问题与错误的卷名有关,服务器将启动。

另外,您可以通过在紧急模式下启动来解决此问题。将根目录重新挂载为读/写:

# sudo mount -o remount,rw /

然后更改 fstab 并重新启动服务器。

硬件问题

在某些主板上,SATA 端口可能会获得随机编号。它还可能导致上一节中描述的错误。要修复它,您必须编辑 grub 引导加载程序。

以紧急模式或从 Live CD 启动并编辑 /boot/grub/grub.cfg 文件。

在确定启动卷的行中,例如:

Linux /boot/vmlinuz-4.15.0-70-generic root=/dev/sda1 rw quiet elevator=noop fsck.repair=yes

将磁盘路径替换为其 UUID

Linux /boot/vmlinuz-4.15.0-70-generic root=UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro quiet elevator=noop fsck.repair=yes

[玩转系统] Ubuntu/Mint/Kali 启动到 BusyBox 中的 Initramfs 提示符

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯