我发现禁用 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 菜单添加内核启动参数在下次启动时暂时启用该服务。
其他方式
启动到恢复模式。
降到 root shell。
将您的根文件系统挂载为读写,如下所示:
mount -o remount,rw /
像这样揭露服务:
systemctl unmask fprintd.service
像这样启用服务:
systemctl enable fprintd.service
重新启动系统。
答案2
我发现了另一种方法,它可能只适用于这个包和服务。
只需删除文件系统上名称包含字符串“fprintd”的所有文件即可启动系统。
当在另一个分区上启动 Ubuntu 时(启动到棒上时也可以这样做),我只需在 Nautilus 中以管理员身份打开问题分区的根目录,搜索所有包含“fprintd”的文件,突出显示/选择它们,然后删除它们。我立即启动了重新启动,成功了。
这显然不够优雅和简单,暂时留下了许多未解答的问题,但它解决了机器启动的眼前问题。