У меня есть гость 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 также должен быть "запущен от имени администратора".
