无法正常关机,但能正常重启

新装 openSUSE tumbleweed,关机出现问题

已翻过有关帖子,但都无法解决。
尝试过:1.lvm 服务禁用(没有相关服务);2.删除 lvm 相关包(没有类似包);3.主板修改(无效);4.命令行 shutdown -hP now;5.关机前断网

使用组装台式机,主板是某杂牌,因在英文论坛中看到主板设置问题,故特意描述出。

Google 过,但似乎都不是我遇到的情况,看截图正常 unmounted,就是无法关机

会懂的大神给点灵感… :smiley: :pray:

可能是某个设备的驱动有问题。好比我的笔记本,qca9377 无线网卡有小概率爆炸,最严重的时候导致过你这情况和无法执行任何 root 相关命令。

如何能确定是哪些原因?即通过哪些方法?

journald 日志查看 日志.txt (36.3 KB)

盲猜 ACPI 相关驱动问题
是什么电脑?

似乎 systemd 的日志没毛病,这如果是驱动问题得看 dmesg。

组装的台式电脑

[ 1.415018] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PCI0.SAT0.SPT1._GTF.DSSP], AE_NOT_FOUND (20200925/psargs-330)
[ 1.415109] ACPI Error: Aborting method _SB.PCI0.SAT0.SPT1._GTF due to previous error (AE_NOT_FOUND) (20200925/psparse-529)
[ 1.415518] ata2.00: ATA-8: HGST HTS545050A7E680, GG2OAF10, max UDMA/133
[ 1.415522] ata2.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 32), AA
[ 1.416328] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PCI0.SAT0.SPT1._GTF.DSSP], AE_NOT_FOUND (20200925/psargs-330)
[ 1.416418] ACPI Error: Aborting method _SB.PCI0.SAT0.SPT1._GTF due to previous error (AE_NOT_FOUND) (20200925/psparse-529)
[ 1.416560] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PCI0.SAT0.SPT0._GTF.DSSP], AE_NOT_FOUND (20200925/psargs-330)
[ 1.416649] ACPI Error: Aborting method _SB.PCI0.SAT0.SPT0._GTF due to previous error (AE_NOT_FOUND) (20200925/psparse-529)
[ 1.416900] ata2.00: configured for UDMA/133
[ 1.423541] ata1.00: ATA-9: tigo SSD 120GB, S0330B0, max UDMA/133
[ 1.423545] ata1.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 32), AA
[ 1.431009] ACPI BIOS Error (bug): Could not resolve symbol [_SB.PCI0.SAT0.SPT0._GTF.DSSP], AE_NOT_FOUND (20200925/psargs-330)
[ 1.431098] ACPI Error: Aborting method _SB.PCI0.SAT0.SPT0._GTF due to previous error (AE_NOT_FOUND) (20200925/psparse-529)

这是什么问题?开机时也会闪过 acpi

这似乎不是 acpi 电源的问题,在这里有类似情况,回答说可忽略

acpi error



我想如果驱动炸了 dmesg 里大概会有这样一段,上面这个图是肥猫的 i915 驱动爆炸现场。

如何才能找到原因呢? :pray:请教论坛里遇到相同情况的

因为是杂牌主板,hwinfo 显示不出 :joy:

应该就是上面有人说的原因,是 ACPI 的问题。有兴趣可以看这里:

这是一个相似的问题:关机卡住,但重启正常。

不过先建议楼主配合我测试一下,禁止自动启动桌面环境。也就是说,只启动到字符界面。然后在字符界面下直接用 poweroff 命令关机,看是否正常?

如果不进入到图形界面,在字符界面下直接关机不会卡死,那么我可以基本断定是哪里出了问题。

试过了,poweroff 关机正常,请问要怎么解决问题・_・?

您进行到 /sys/class/hwmon/ 中,以下所有操作皆以该目录为 “当前工作目录”。

该目录下有好几个子目录,比如 hwmon0, hwmon1, hwmon2 等等。

那几个子目录下面都有相应的 “温度文件”,比如 temp1_input, temp2_input, temp3_input 等等。

这时在终端下运行相应的命令:

cat hwmon0/temp1_input

以上只是一个示意的命令,因为我的硬件跟你的硬件不一样,我不能断定你那里具体是哪个文件,你每个都试探一下。

也就是说, hwmon0/temp1_input, hwmon0/temp2_input, hwmon1/temp1_input, hwmon1/temp2_input 等等都 cat 一下。无需 root 超级用户权限,普通受限用户就可以执行该 cat 命令。

每个 “温度文件” 都用 cat 测试一下,正常情况下会立刻输出相应的结果。但某个或者某些文件会卡住,阻塞几秒钟过后才显示结果。

这样一来,你就将那几个会卡住的 “温度文件” 记下来,然后再反复多次用 cat 让它多卡住几次。接着再用 poweroff 命令关机,这时会发现关机的时候又卡住了!

你刚才用 cat 命令阻塞过的时间总数,在关机的时候又会以同样的时间重新再次阻塞一次。

您明白了吗?假如你多次运行 cat 命令,输出那些有问题的 “温度文件”。假如阻塞的时间总量是一分钟,那么你关机的时候大概也会阻塞一分钟左右。前后两个时间应该基本相等。

注意以上都是在控制台下测试,不要进入到 X11 或者 Wayland. 你测试过后,将结果公布一下。如果确实如我说的那样,那么接下来我再告诉你解决方法。