商城首页欢迎来到中国正版软件门户

您的位置:首页 >麒麟V10系统怎么开启启动项详细排错模式 银河麒麟调试

麒麟V10系统怎么开启启动项详细排错模式 银河麒麟调试

  发布于2026-05-06 阅读(0)

扫一扫,手机访问

麒麟V10系统启动异常?五种方法开启详细排错日志

麒麟V10系统怎么开启启动项详细排错模式 银河麒麟调试

系统启动时遇到卡屏、黑屏,或者日志一闪而过抓不住关键信息?常规的日志查看往往束手无策。这时候,就需要启用启动项的详细排错模式,强制系统在引导阶段“打开话匣子”,将内核和服务初始化的全过程信息完整地吐露出来。下面这五种操作路径,能帮你从不同层面捕获问题线索。

一、通过GRUB编辑临时启用详细启动日志

这个方法最灵活,无需永久改动系统配置,适合单次故障诊断。它的核心思路很简单:去掉让系统“保持安静”的参数,并调高日志输出的“音量”,让你能实时看到从固件交接到用户空间启动的每一行输出。

操作步骤:

1. 开机,在银河麒麟Logo出现之前,反复按 Shift 键,调出GRUB启动菜单。

2. 使用方向键选中当前默认的内核条目,然后按 e 键进入编辑模式。

3. 找到以 linux 开头的那一行(这一行通常包含“ro quiet splash”等参数)。

4. 把这行末尾的 quiet splash 参数彻底删除。

5. 在同一行末尾,添加以下参数:systemd.log_level=7 systemd.log_target=console log_buf_len=1M

6. 最后,按 Ctrl+XF10 键,用编辑好的参数启动系统。

二、永久启用启动排错模式(修改GRUB默认参数)

如果你需要长期监控系统的启动流程,比如在运维或开发调试场景下,临时修改就显得麻烦了。这时,将详细日志输出固化为系统的默认行为,才是更高效的选择。其本质是持久化修改内核的命令行参数,确保日志始终输出到可见的控制台。

操作步骤:

1. 以root权限打开GRUB的主配置文件:sudo nano /etc/default/grub

2. 找到 GRUB_CMDLINE_LINUX 这一行,在它双引号内的参数末尾追加:systemd.log_level=7 systemd.log_target=console log_buf_len=1M

3. 同时,确认这一行里原有的 quietsplash 字样已经被移除(如果存在的话)。

4. 执行更新命令,使配置生效:对于Debian/Ubuntu系(如麒麟),使用 sudo update-grub;对于RHEL/CentOS系,则使用 sudo grub2-mkconfig -o /boot/grub2/grub.cfg

5. 重启系统后,所有启动阶段的日志都会以最高详细度,持续输出到主显示终端上。

三、启用内核级早期打印(earlyprintk)

如果问题发生在initramfs加载之前,比如系统卡在“Loading initial ramdisk”之后、内核解压完成的瞬间,那么标准的systemd日志就无能为力了。此时,需要激活硬件级的调试输出,直接捕获内核解压及早期初始化阶段的底层信息。

操作步骤:

1. 按照方法一的第1-2步,进入GRUB编辑界面。

2. 在 linux 行末尾,根据你的硬件环境添加参数:对于UEFI系统,添加 earlyprintk=efi,keep;对于Xen虚拟环境,添加 earlyprintk=xen,keep;对于传统BIOS/VGA模式,添加 earlyprintk=vga,keep

3. 特别需要注意的是,如果使用的是国产飞腾平台(如D2000),应替换为适配其UART地址的参数:earlyprintk=pl011,0x1c090000,115200

4. 按 Ctrl+X 启动,观察屏幕左上角是否出现连续滚动的十六进制地址与符号输出。

四、结合串口重定向进行远程排错

对于没有图形输出,或者干脆没有显示器的服务器、国防版等环境,物理串口就成了救命稻草。这个方法可以绕过显卡驱动和帧缓冲的限制,将全部启动日志,从第一条BIOS POST信息到最后的systemd unit启动失败提示,完整地导出到外部终端设备上。

操作步骤:

1. 首先在硬件层面确认:进入主板的UEFI/BIOS设置,开启 Serial Port Console Redirection 功能,将其设为 Enabled,并将波特率设置为 115200

2. 然后在系统层面配置:修改GRUB配置文件(/etc/default/grub),在 GRUB_CMDLINE_LINUX 行追加参数:console=tty0 console=ttyS0,115200n8

3. 执行 sudo update-grub 或对应的grub2更新命令,使配置生效。

4. 最后,使用USB转RS232线缆将麒麟V10主机连接到另一台作为终端的Linux电脑上,在终端电脑上运行命令:screen /dev/ttyUSB0 115200。重启被测的麒麟V10设备,即可在终端上捕获完整的串口日志流。

五、启用initramfs内部调试日志

当问题明确锁定在initramfs阶段时——例如报错“dracut: FATAL: No root device found”,或者卡在“Starting Dracut Emergency Shell”——就需要深入initramfs镜像内部了。通过解包并注入调试开关,可以迫使这个内存盘在解压后,主动输出挂载、模块加载、设备扫描等所有细节。

操作步骤:

1. 安全起见,先备份原始的initramfs镜像:sudo cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

2. 解包initramfs到临时目录:mkdir /tmp/initramfs && cd /tmp/initramfs && zcat /boot/initramfs-$(uname -r).img | cpio -id

3. 编辑调试配置文件:/tmp/initramfs/etc/cmdline.d/99-debug.conf,写入内容:rd.debug rd.shell rd.break=cmdline

4. 重新打包生成调试用的镜像:find . | cpio -H newc --create | gzip > /boot/initramfs-$(uname -r)-debug.img

5. 更新GRUB配置,将这个新生成的调试镜像设为默认启动项,或者在下次启动时,在GRUB菜单中手动选择该条目进行启动。

本文转载于:https://www.php.cn/faq/2422540.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注