问题

Debian开机不进入GUI界面而是进入BusyBox命令行页面,页面如下:

Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
  - Check rootdelay= (did the system wait long enough?)
- Missing moudles (cat/proc/moudles; ls /dev)
ALERT! UUID=********-****-****-****-************ does not exist. Dropping to a shell!

BusyBox v1.35.0 (Debian 1:1.35.0-4+b3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) _

这个问题通常是系统找不到root文件系统设备,有可能是fstab或者grub.cfg的UUID表不一致。从网上找了很多资料,但是有一个有点危险的方法奏效了,而且也很简单。

警告: 在执行接下来的操作之前请确保备份了你重要的资料,因为接下来的操作将会对文件系统做出改变,有丢失数据的风险!

开始

确认root所在的盘符

运行命令 blkid, 应该显示类似下面的结果

我们可以看出nvme01n1p1是EFI分区,p2是NTFS也就是我的Windows分区,p3是ext4分区,以及p4是swap分区。root则是在ext4分区内,也就是nvme0n1p3是我们需要修复的分区。我们需要记住它的地址,也就是/dev/nvme0n1p3

注意: 你的ext4分区盘符可能跟我的不一样,请以你的盘符为主!

使用fsck命令修复文件系统

fsck, 也就是 File System Consistency Check,即 文件系统一致性检查。顾名思义,就是用来检查文件系统问题的工具。使用以下指令来修复出问题的包含root的分区。

fsck -C -y /dev/nvme0n1p3

-C 代表显示进度条 -y 则是在检测出问题是自动回答“是”来修复问题,不加这个的话你就可以手动确认时候修复某个问题

输出大概如下(图片来源于ostechnix.com):

我自己的文件系统找出了1000+个问题...

重新启动电脑

修复完成后使用 reboot 指令重启电脑、或 poweroff 指令关机。

完成

现在应该问题会被解决,且大概率没有丢失任何文件~

后言

Liunx嘛... 唉.... 毕竟是Linux嘛....