У меня есть гость Hyper-V под управлением CentOS 7. Когда гость паникует и печатает сообщение Oops ядра, возможно ли перехватить текст, записанный на консоль? Обратите внимание, что сообщение не записывается в dmesg и, следовательно, не может быть получено при следующей перезагрузке.
1 ответ
Чтобы добавить последовательный порт в виртуальную машину, создайте один (или несколько) именованных каналов в PowerShell. Обратите внимание, что PowerShell должен быть "запущен от имени администратора", чтобы это работало. В этом примере используется виртуальная машина с именем 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
В виртуальной машине Linux добавьте параметр консоли через grubby для COM1
(он же ttyS0
):
[root@dv0 ~]# grubby --args="console=tty0 console=ttyS0=115200" --update-kernel `grubby --default-kernel`
PuTTY может захватить вывод из именованного канала. В параметрах сеанса используйте Serial для места назначения, \\.\pipe\dv0-com1
для последовательной линии и 115200 для скорости, соответствующей параметрам консоли Linux. Поскольку именованные каналы создаются как Администратор, PuTTY также должен быть "запущен от имени администратора".