Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Иногда вам может потребоваться воспользоваться отладчиком на стадии загрузки ОС. Чаще всего это требуется для диагностики ошибок загрузки, написания драйверов и служб, запускающихся в высоких приоритетах. Для физического сервера или персонального компьютера, обычно, при помощи параллельного или последовательного кабеля соединяют два компьютера и отладчиком считывают информацию по ходу загрузки. Как сделать это для виртуальной машины, которая не имеет физического COM или LPT порта? Конечно же, нам помогут именованные каналы Named Pipes!
В первую очередь, вам потребуется установить Debugging Tools for Windows. Проще всего сделать это на хосте виртуализации, что не потребует настройки брэндмауэра и прав удалённого доступа к именованным каналам сервера.
Установив Debugging Tools на хост, вам следует в свойствах выключенной виртуальной машины настроить виртуальный COM порт на использование некого именованного канала. Например, я укажу имя так: \\.\pipe\VM1_pipe
Чтобы соединиться с эти именованным каналом для отладки, включите виртуальную машину, затем в режиме администратора (Elevated) запустите на хосте виртуализации Command Prompt или утилиту kd.exe с указанными ключами:
kd -k com:port=\\.\pipe\VM1_pipe,pipe,resets=0,reconnect
Если вы соединяетесь с другого удалённого компьютера, используйте следующие ключи:
kd -k com:port=\\<HyperV_host_machine>\pipe\VM1_pipe,pipe,resets=0,reconnect , где <HyperV_host_machine> - имя хоста виртуализации.
Для отладки виртуальных машин Hyper-V, Virtual PC или Virtual Server 2005 требуется использование параметра resets=0.
Подсказка: для отладки виртуальных машин на платформах виртуализации других вендоров обычно требуется значение параметра resets=2.