我有一个运行 CentOS 7 的 Hyper-V 客户机。当客户机出现紧急情况并打印内核 Oops 消息时,是否可以捕获写入控制台的文本?请注意,该消息不会写入 dmesg,因此在下次重新启动时无法检索。
要向 VM 添加串行端口,请在 PowerShell 中创建一个(或多个)命名管道。请注意,PowerShell 必须“以管理员身份运行”才能正常工作。此处的示例使用名为 的 VM dv0。
PS C:\WINDOWS\system32> Get-VMComPort -VMName dv0
VMName Name Path
------ ---- ----
dv0 COM 1
dv0 COM 2
PS C:\WINDOWS\system32> Set-VMComPort -VMName dv0 -Path \\.\pipe\dv0-com1 -Number 1
PS C:\WINDOWS\system32> Get-VMComPort -VMName dv0
VMName Name Path
------ ---- ----
dv0 COM 1 \\.\pipe\dv0-com1
dv0 COM 2
Run Code Online (Sandbox Code Playgroud)
在 Linux VM 中,通过 grubby 添加控制台设置COM1(又名ttyS0):
[root@dv0 ~]# grubby --args="console=tty0 console=ttyS0=115200" --update-kernel `grubby --default-kernel`
Run Code Online (Sandbox Code Playgroud)
PuTTY 可以捕获命名管道的输出。在会话选项中,使用 Serial 作为目标、\\.\pipe\dv0-com1串行线路,使用 115200 作为速度,以匹配 Linux 控制台设置。由于命名管道是以管理员身份创建的,因此 PuTTY 也必须“以管理员身份运行”。
| 归档时间: |
|
| 查看次数: |
4268 次 |
| 最近记录: |