UTM 配置虚拟机串口输出与调试信息捕获方法

梦杰同学_6350

梦杰同学_6350

2026-08-08

408人浏览

原创

utm支持串口配置,用于启动日志捕获、内核调试等场景,需三步协同:图形界面添加serial port设备(如host pipe路径/tmp/utm-serial-vmname)、客户机设置kernel参数console=ttys0,115200n8、宿主机用screen或日志文件捕获输出。

utm 是 macos 上主流的虚拟化工具,基于 qemu 实现,支持串口(serial port)配置,但其界面与 vmware/virtualbox 不同,需通过配置文件或图形界面手动启用。串口在 utm 中主要用于早期启动日志捕获、内核调试、无网络环境下的系统恢复等场景。关键在于三步协同:utm 串口设备添加、客户机内核参数设置、宿主机端接收方式选择。

UTM 图形界面添加串口设备

UTM 当前版本(v4.4+)在虚拟机设置中已集成串口选项:

  • 确保虚拟机处于关机状态,右键 → Edit Configuration
  • 切换到 Devices 标签页 → 点击 + Add Device → 选择 Serial Port
  • 默认类型为 Host Pipe(推荐),路径填写:/tmp/utm-serial-vmname(如 /tmp/utm-serial-ubuntu)
  • 勾选 Connect to host pipe 和 Create pipe if missing
  • 保存后启动虚拟机,Linux 客户机会识别为 /dev/ttyS0

客户机内核启动参数必须启用 console=ttyS0

仅添加设备不够,Linux 内核需明确将输出重定向到串口。以 Ubuntu 为例:

Vibe Island
Vibe Island

一款AI开发辅助工具,主要用于灵动岛式AI编程管理工具,适合需要提升相关任务效率的用户。

下载
  • 编辑 /etc/default/grub,修改 GRUB_CMDLINE_LINUX_DEFAULT 行:
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty0 console=ttyS0,115200n8"
  • 执行 sudo update-grub && sudo reboot
  • 验证:启动后运行 dmesg | grep -i "console\|ttyS0",应看到 console [ttyS0] enabled

宿主机捕获串口输出的三种实用方式

macOS 无法直接用 PuTTY,但有原生高效替代方案:

  • 终端命令监听(推荐):打开 Terminal,运行 screen /tmp/utm-serial-ubuntu 115200,按 Ctrl+A, K 退出
  • 输出到日志文件:在 UTM 配置中将串口类型改为 Output to file,路径设为 /Users/yourname/Logs/utm-serial.log,启动后所有输出自动追加
  • 与 macOS 原生串口工具互通:若连接 USB 转串口设备(如 CP2102),可在 UTM 中选 Use physical serial port,路径填 /dev/cu.usbserial-XXXX(用 ls /dev/cu.* 查看)

注意:UTM 默认不启用串口中断(IRQ),若客户机启动卡在 GRUB 或 kernel panic 无响应,可尝试在 UTM 配置 JSON 中手动添加 "irq": 4 字段(高级操作,需导出配置编辑)。常规调试中,上述三步已覆盖 95% 场景。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

虚拟机

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
虚拟化软件介绍
虚拟化软件介绍

虚拟化软件有VMware、VirtualBox、Hyper-V、Parallels Desktop、Oracle VirtualBox等。想了解更多虚拟化的相关内容,可以阅读本专题下面的文章。

2023.12.20

7959

8

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

20

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

20

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

20

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

20

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

20

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

220

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

140

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

120

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程