Оригинальные идеи взяты отсюда: У оригинального автора и в руководстве Ubuntu использовался загрузчик GRUB. Однако я не смог найти однозначных ответов для эквивалента UEFI.
Требования к оборудованию:
1. Proxmox хост: последовательный порт DTE (см. Wikipedia-DataTerminalEquipment).
2. Кабель USB-Null Modem последовательного адаптера (подключается к устройству DTE, т.е. к вашему Proxmox хосту). У меня сработал Tripp Lite U209-18N-NULL.
3. Другой компьютер или ноутбук.
На стороне Proxmox хоста:
1. # Для системы с USB-последовательным адаптером: systemctl enable serial-getty@ttyUSB#.service
# Для встроенного последовательного порта /dev/ttyS0: systemctl enable serial-getty@ttyS#.service
tty0 — это ваша стандартная виртуальная консоль, т.е. вывод видеокарты.
ttyS# — это ваш COM-порт. Если у вашей материнской платы встроенный COM-порт, скорее всего, это COM1 (ttyS0). Как и у меня, при добавлении PCIE-последовательной карты используйте lspci -v, чтобы найти аппаратный ID PCIE-карты.
Для USB-последовательного порта: ttyUSB#. Например: 44:00.0 Serial controller: MosChip Semiconductor Technology Ltd. MCS9900 Multi-I/O Controller
Затем dmesg | grep tty, чтобы найти ttyS#.
Он соответствует PCIE 44:00.
Код: [ 0.000000] printk: console [tty0] enabled
[ 0.######] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 0.######] 0000:44:00.0: ttyS4 at I/O 0x4000 (irq = 66, base_baud = 115200) is a ST16650V2
[ 1.######] tty ttyS6: hash matches
Чтобы избежать проблем (например, вывести хост из строя), я сначала попробовал отредактировать временную kernel/cmdline, нажав e при выборе версии загрузчика GRUB. Для постоянной настройки отредактируйте (для UEFI загрузки) /etc/kernel/cmdline вместо (для legacy загрузки) /etc/default/grub и добавьте в конце console=tty0 console=ttyS#,115200n8.
3. pve-efiboot-tool refresh и перезагрузка
На другом компьютере:
1. Установите Putty.
2. Подключите USB-последовательный null-кабель к обоим Proxmox хосту и этому компьютеру.
3. В диспетчере устройств найдите номер COM-порта и установите скорость передачи данных 115200, оставьте остальные параметры по умолчанию (по умолчанию: четность=отсутствует, количество бит данных=8, количество стоповых бит=1, контроль потока=отсутствует).
4. В Putty введите номер COM-порта и скорость передачи данных и подключитесь.
5. Если вы подключаетесь до загрузки, Putty напечатает сообщения ядра. Если вы подключаетесь после загрузки или повторно подключаете Putty, он может отображать пустоту. Просто нажмите Enter, тогда должна появиться логин.
Требования к оборудованию:
1. Proxmox хост: последовательный порт DTE (см. Wikipedia-DataTerminalEquipment).
2. Кабель USB-Null Modem последовательного адаптера (подключается к устройству DTE, т.е. к вашему Proxmox хосту). У меня сработал Tripp Lite U209-18N-NULL.
3. Другой компьютер или ноутбук.
На стороне Proxmox хоста:
1. # Для системы с USB-последовательным адаптером: systemctl enable serial-getty@ttyUSB#.service
# Для встроенного последовательного порта /dev/ttyS0: systemctl enable serial-getty@ttyS#.service
tty0 — это ваша стандартная виртуальная консоль, т.е. вывод видеокарты.
ttyS# — это ваш COM-порт. Если у вашей материнской платы встроенный COM-порт, скорее всего, это COM1 (ttyS0). Как и у меня, при добавлении PCIE-последовательной карты используйте lspci -v, чтобы найти аппаратный ID PCIE-карты.
Для USB-последовательного порта: ttyUSB#. Например: 44:00.0 Serial controller: MosChip Semiconductor Technology Ltd. MCS9900 Multi-I/O Controller
Затем dmesg | grep tty, чтобы найти ttyS#.
Он соответствует PCIE 44:00.
Код: [ 0.000000] printk: console [tty0] enabled
[ 0.######] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 0.######] 0000:44:00.0: ttyS4 at I/O 0x4000 (irq = 66, base_baud = 115200) is a ST16650V2
[ 1.######] tty ttyS6: hash matches
Чтобы избежать проблем (например, вывести хост из строя), я сначала попробовал отредактировать временную kernel/cmdline, нажав e при выборе версии загрузчика GRUB. Для постоянной настройки отредактируйте (для UEFI загрузки) /etc/kernel/cmdline вместо (для legacy загрузки) /etc/default/grub и добавьте в конце console=tty0 console=ttyS#,115200n8.
3. pve-efiboot-tool refresh и перезагрузка
На другом компьютере:
1. Установите Putty.
2. Подключите USB-последовательный null-кабель к обоим Proxmox хосту и этому компьютеру.
3. В диспетчере устройств найдите номер COM-порта и установите скорость передачи данных 115200, оставьте остальные параметры по умолчанию (по умолчанию: четность=отсутствует, количество бит данных=8, количество стоповых бит=1, контроль потока=отсутствует).
4. В Putty введите номер COM-порта и скорость передачи данных и подключитесь.
5. Если вы подключаетесь до загрузки, Putty напечатает сообщения ядра. Если вы подключаетесь после загрузки или повторно подключаете Putty, он может отображать пустоту. Просто нажмите Enter, тогда должна появиться логин.

Я изменил /etc/default/grub следующим образом:
Вот мой dmesg | grep tty:
И вывод моей команды dmesg | grep tty выглядит следующим образом:
И статус ttyS0 такой:
Но когда я открываю Putty к COM3 со скоростью 115200 бод, я вижу только пустой черный экран:
Я пробовал несколько раз нажимать Enter, и так далее, но ничего не происходит. Не знаю, что делаю не так.