问题

问题

问题

从stretch升级到buster后,我的笔记本电脑在fsckd检查期间卡在启动状态,并显示消息:
fsckd-cancel-msg:Press Ctrl+C to cancel all filesystem checks in progress
它不响应“Ctrl+C”或其他任何内容。

背景

升级

我从拉伸升级到破坏跟随教程。为了防止链接失效,以下是按连续顺序排列的命令:

su
sed -i 's/stretch/buster/g' /etc/apt/sources.list
apt update
apt upgrade
apt dist-upgrade
apt autoremove
apt clean
shutdown -r now

没有错误消息。

开机

在重新启动期间,进行了强制性的 fskd 检查,这以前从未引起过任何问题。然而现在,它以上述错误消息结束。手动关闭电源然后再次打开会导致相同的结果。

我尝试过的

问题在Ubuntu上也有同样的问题。由于 Debian 和 Ubuntu 很相似,我认为接受的答案可以解决我的问题。我的方法遵循答案:

救援模式

我手边没有 Live USB,所以我在 Linux 4.19.0-12-amd64 x86_64(救援模式)中启动并提供了 root 密码进​​行维护。

fdisk -l

Device     Boot  Start       End   Sectors   Size Id Type
/dev/sda1  *      2048    499711    497664   243M 83 Linux
/dev/sda2       501758 625141759 624640002 297.9G  5 Extended
/dev/sda5       501760 625141759 624640000 297.9G 83 Linux

然后,我对所有列出的磁盘以及/dev/mapper/debian--vg-root和上运行了手动 fsck /dev/mapper/debian--vg-home,所有这些磁盘都恢复正常。然后我重新启动,想也许问题已经解决了。

救援模式图形化

唉,重新启动后又出现同样的错误。所以我再次手动关闭并打开电源,再次以救援模式启动。然而这一次,我没有提供 root 密码,而是按下Ctrl+D继续键。启动完成,除了黑屏什么都没有显示。所以我用 tty 切换Ctrl+Alt+F1,用我的非 root 标准用户登录。然后我开始了一个 X11 会话startx(除了我更喜欢图形会话之外,没有什么充分的理由)。
这已经向我表明升级已经成功,因为巴斯特的光学系统与拉伸时的光学系统略有不同。只是为了确保我检查了我的发行版lsb_release -a

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

坏块扫描

我跑sudo e2fsck -fccky了所有/dev/sdaX/dev/mapper/debian-vg-X,花了将近两个小时。重新启动显示错误仍然存​​在。

格帕特

我运行了 gparted,但由于我的磁盘是 LUKS 加密的,所以我看不到任何有用的东西(有关的问题)。

检查 /var

我在多个地方看到完整的/var可能会导致类似的问题。由于我无法像建议的那样用 gparted 检查它,所以我按照建议检查了它这里:

sudo du -ks *|sort -nr

然而,输出看起来并不很完整:

698456  lib
100720  cache
53824   log
6688    backups
76  spool
68  tmp
32  snap
8   mail
4   opt
4   local
0   run
0   lock

另外,输出df看起来像这样:

Filesystem                  1K-blocks     Used Available Use% Mounted on
udev                          1988192        0   1988192   0% /dev
tmpfs                          402032     6508    395524   2% /run
/dev/mapper/debian--vg-root  28703652 10165160  17057380  38% /
tmpfs                         2010160   133528   1876632   7% /dev/shm
tmpfs                            5120        4      5116   1% /run/lock
tmpfs                         2010160        0   2010160   0% /sys/fs/cgroup
/dev/sda1                      240972    89448    139083  40% /boot
/dev/mapper/debian--vg-home 273421644 24010648 235452240  10% /home
/dev/loop0                     212864   212864         0 100% /snap/firefox/172
/dev/loop2                     100096   100096         0 100% /snap/core/10185
/dev/loop1                     100096   100096         0 100% /snap/core/10126
tmpfs                          402032       24    402008   1% /run/user/1000

所以我不认为这是问题所在。

启动时停止 fsck

使用电池电源启动

所以我想我可以阻止 fsck 在启动时运行,就像这里。但是,使用电池电源启动并按下Ctrl+C没有明显效果,仍然是相同的错误。

调2fs

按照提议这里我用了tune2fs -c 0 -i 0 /dev/sda1。但即使Maximum mount count设置为-1Check intervalto 0 (<none>),错误仍然存​​在。

我还发现解决方案,但由于这是针对archlinux的,而且我对grub一无所知,所以我没有尝试它。

附加信息

  • 启动时,我很困惑地发现我的笔记本电脑上显然有两个内核版本:4.19 和 4.9。这是因为升级还是它一直存在而我只是从未见过?
  • 一个常见问题似乎是安装 nvidia 驱动程序时,这就是为什么上面链接的教程建议在升级之前将其删除。不过,我从未安装过 nvidia 驱动程序,所以这不是原因。
  • 一个相似的问题通过安装解决了nvidia-drivers。然而,apt告诉我Unable to locate package nvidia-drivers

问题

如何防止fsckd系统在启动时锁定?

答案1

我建议检查托管 Debian 的卷是否有足够的可用空间。如果它已满或几乎已满,您需要增加其可用空间然后重新启动。 Debian 将启动。瞧。


下面是与上面相同的建议。但为那些不熟悉如何检查可用空间并增加可用空间的人提供了详细信息。

我们的一款设备也面临着同样的挑战。在我们的例子中,这个挑战的原因是,存储 Debian 的设备卷已满。可用空间为零。反过来,在启动过程中,fsck 会自动启动。 fsck 需要少量的空间才能完成其自动化。反过来,fsck 也被卡住了。因为它无法完成自动化。不幸的是,fsck 在开始自动化之前不会检查可用空间。这将是一个很好的新功能。

我们能够在其他 3 台设备上重现这一挑战。只需填充他们的存储即可。

解决这一挑战的步骤:

  1. 使用终端,执行此命令以查找卷是否已满

    须藤 df -h

  2. 或者,如果您有权访问 GNOME,请使用终端执行此命令以打开 Baobab

    须藤猴面包树

  3. 等待几秒钟或几分钟,让 Baobab 分析音量。它将显示哪个文件夹使用的空间最多。该界面是自我解释的。

  4. 如果需要,请增加可用存储空间。为此,例如,如果合适,请运行以下命令来清除临时缓存的安装包:

    sudo apt-get clean

    sudo aptitude 清洁

  5. 重启

  6. fsck 会自动完成它的自动化。有时这非常快。甚至不会显示。这个是正常的。

  7. Debian 将启动。瞧。

相关内容