禁用 fprintd.service 会阻止启动;如何恢复启动?

禁用 fprintd.service 会阻止启动;如何恢复启动?

我发现禁用 fprintd.service 会导致 Ubuntu Desktop 22.04 无法启动。

具体来说,许多 [DEPEND] 依赖性失败在 tty1 的屏幕上快速滚动,速度太快以至于无法读取,但似乎是由于缺少依赖性而导致挂载单元失败,并且启动过程停止并显示

[  OK  ] Reached Target Printer Support

这是在多重引导设置中,因此我引导到另一个 Ubuntu 分区并至少删除了掩盖服务的符号链接,但仍然存在相同的引导挂起。

我还尝试在启动时 chroot 到该分区以启用该服务,但由于处于 chroot 环境中,命令失败。

问题是,如何让这台机器启动?

编辑:错误报告是这里

答案1

坦率地说,我认为系统无法启动的原因不是禁用甚至屏蔽fprintd.service,它没有那种影响......很可能是你做的其他事情。

无论如何,要重新启用它或任何systemd相关服务,请参见下文。

单程

systemd.mask=ServiceName.service并且systemd.wants=ServiceName.service是两个内核命令行参数分别用于systemd在启动(运行时)期间禁用和启用服务。这些可以添加为内核启动参数在启动过程中进入 GRUB。

对于您来说,最好设法删除屏蔽服务文件的符号链接,这样现在您就可以通过systemd.wants=fprintd.service从 GRUB 菜单添加内核启动参数在下次启动时暂时启用该服务。

其他方式

  1. 启动到恢复模式

  2. 降到 root shell。

  3. 将您的根文件系统挂载为读写,如下所示:

    mount -o remount,rw /
    
  4. 像这样揭露服务:

    systemctl unmask fprintd.service
    
  5. 像这样启用服务:

    systemctl enable fprintd.service
    
  6. 重新启动系统。

答案2

我发现了另一种方法,它可能只适用于这个包和服务。

只需删除文件系统上名称包含字符串“fprintd”的所有文件即可启动系统。

当在另一个分区上启动 Ubuntu 时(启动到棒上时也可以这样做),我只需在 Nautilus 中以管理员身份打开问题分区的根目录,搜索所有包含“fprintd”的文件,突出显示/选择它们,然后删除它们。我立即启动了重新启动,成功了。

这显然不够优雅和简单,暂时留下了许多未解答的问题,但它解决了机器启动的眼前问题。

相关内容