manjaro 滚挂之后排查问题的线索?

2023-12-29 12:48:28 +08:00
 shuiguomayi

如果不小心已经把 manjaro 滚挂了, 经过调研,排查蛛丝马迹有

  1. 进入 grub 界面后修改内核参数, 去掉 quiet, 并且加上 verbose 和 single 参数, 让系统进入单用户模式, 并且展示详细的启动信息. 一般情况下, 这个方法能够获得很好的调试信息. 不过很不幸, 我这次滚挂了, 输出信息一直卡在"::running early hook [plymouth]", 就没有然后了. 此时轻按电源键, 显示"hibernate 你 consist memory map detected", "PM: hibernation: Image mismatch: architecture specific data", 然后几秒钟后关机.
  2. 使用 USB live 进入系统后, 用 manjaro-chroot 将损坏的系统 mount 进来, 去查看/var/log/boot.log, 这个可能是最好的线索了. 不过我这里很不幸, 里面全是 ok 的信息, 没有一条 warning 或者 error 的信息.
  3. 查看 dmesg,这个我觉得应该没有价值, 因为运行 dmsg 命令展示的是当前用 USB live 启动系统的信息.
  4. 使用 journalct -b 查看启动信息, 这个我也觉得应该没有价值, 查看的也是当前用 USB live 启动系统的信息.

群友们, 还有其他调试线索可以看么?

1623 次点击
所在节点    Linux
9 条回复
hefish
2023-12-29 12:59:58 +08:00
重装。
nlfiasel
2023-12-29 13:13:01 +08:00
一般来说,先不用管 log ,不用 manjaro 所以不太清楚具体的操作。
对于 arch 的话,把原系统挂在到 mnt 上,然后参照安装指南( https://wiki.archlinuxcn.org/wiki/%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97)走一部分(就是重新安装基础部分)
一般就,执行一下 pacstrap -K /mnt base linux linux-firmware 就行
另外 chroot 后 journalctl 看的是原系统的信息吧
jasonyang9
2023-12-29 13:24:13 +08:00
换 nixos 没烦恼😀
wxyrrcj
2023-12-29 16:09:26 +08:00
一般不会挂吧 用了快两年还没遇到过
dbskcnc
2023-12-29 16:30:36 +08:00
我以前挂过一次,usb-live 进入 manjaro-chroot 重新 pacman -Syu 一次就 OK ,我那次是显卡驱动问题.

前几天有个同事的 arch 是 zsh 不见了,而它的默认 shell 正好是 zsh,导致进入不了桌面,刚好有另外一个用户默认是 bash,进去后把 zsh 安装上就好了
showgood163
2023-12-29 21:21:39 +08:00
manjaro 不太清楚

arch 底下,用 usb-live 启动,mount 分区之后,看/var/log/pacman.log 里面最后一次更新了哪些包
然后去找 arch mirror archive ( tuna 就有)把相应包退回之前的版本就行
keepwalk2020
2023-12-29 22:28:22 +08:00
如果只是正常滚挂,还可以进命令行的话,99%是因为显卡驱动,对应方法
1 ,ctrl + shif + F3 进命令行,并登录, 如果开机就是命令行,忽略此步
2 ,停 GDM 服务 sudo systemctl stop lightdm (要停的服务也可能是 gdm 或别的,取决于你装的是哪种桌面)
3 ,用 wget 去官网下最新的 nvidia linux 驱动 :NVxxxxxx.run (也可以在别的电脑上下好驱动 copy 过来)
4 ,sudo chmod +x Nvxxxxxx.run
5, 安装驱动 sudo ./Nvxxxxxxxx.run
重启

如果是自己删了不应该删的库,那得找个高人才能恢复,费时费力,自己能做的就是用 manjaro'启动盘引导系统,插外接硬盘,把 home 下需要的文件备份到外接硬盘上,重装系统
yanqiyu
2023-12-30 03:55:37 +08:00
这个 hibernate 很可疑,我感觉是在试图从坏掉的 swap 来 resume ,要不你把 resume 相关的内核参数干掉看看,不行的话:


加参数 splash=off plymouth.enable=0 disablehooks=plymouth 顺带去掉 quiet 之类的参数看看完整的日志

要是在出现一堆绿色 OK 前就卡住了说明是 initrd 就炸了,否则是 rootfs 炸了,我不熟悉 Arch 的 initrd 但是这种情况下大概率只能设置 init 进去看发生了什么(手动触发 hook ,看到谁卡了,这时候我就会怀念 systemd ,可以 break 进去)

要是 rootfs 炸了其实 journalctl 有用,可以告诉 journalctl 读取另外的目录的 journal 而不是 liveusb 的

不我我同意上面说的,先试试切换 tty 看看是不是只是 gui 卡了
yanqiyu
2023-12-30 03:57:15 +08:00
disablehooks=resume 大概就能干掉 resume 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1004381

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX