И в продолжение утренней темы про переезд серверной.
С виндовым терминальным сервером пришлось повозиться. В общем случае переезд с Hyper-V на Proxmox у меня выглядел просто:
1️⃣ Импортировал VHDX образ диска из Veeam Backup & Replication в файл.
2️⃣ Подмонтировал в Proxmox шару с файлом и забрал на гипервизор.
# mount -t cifs //192.168.0.7/backup /mnt/fileserver -o user=backup,password=pass123
3️⃣ Создал новую машину в PVE без дисков.
4️⃣ Сконвертирал и сразу подключил диск к новой машине:
# qm importdisk 107 /mnt/fileserver/terminal.vhdx local
Формат команды следующий:
# qm importdisk <vmid> <source> <storage>
Система была без EFI, так что никаких лишних заморочек. Но дальше начались свои приключения, с которыми пришлось разбираться, так как у меня почти нет практики восстановления Windows. Если в Linux мне всё понятно - загрузчик grub, стартовый образ initramfs и дальше основная система, то винда - тёмный лес. Хорошо, что для таких случаев есть ИИ, который хоть и не давал точных ответов без ошибок, но направление было понятно.
В системе не было драйверов virtio, соответственно, система не загрузилась, потому что загрузчик не нашёл диск, с которого надо грузиться. Дальше в целом понятно, что надо делать, но когда ты делаешь это в первый раз, возникает очень много нюансов, а основное неудобство в том, что работать приходится с консолью виртуальной машины, в которой не работает копирование и вставка. Всё приходилось набирать руками. И до кучи в здании не было интернета, потому что туда провели оптику, вроде как всё проверили, но когда я заехал по факту был обрыв волокна. Приехал по заявке монтажник почему-то без оборудования для варки, потому что подумал, что повреждён оптический патчкорд. В общем, всё как обычно 😱
Рассказываю суть, как чинить загрузку Windows систем при переезде в Proxmox, если про какой-то причине вы заранее не установили туда драйвера.
1️⃣ Загружаемся в режиме восстановления и запускаем cmd.
2️⃣ Запускаем diskpart, вводим команду list volume, чтобы узнать букву диска, где стоит система, и букву диска с драйверами virtio. Диск с Windows VirtIO Drivers надо скачать и подключить к машине.
3️⃣ С помощью dism можно интегрировать в неработающую систему нужные драйвера (viostor для ide и vioscsi для scsi). Для меня это было новым знанием:
> dism /image:C:\ /add-driver /driver:D:\viostor\w10\amd64\viostor.inf
4️⃣ Далее оказалось, что интеграции драйверов недостаточно, их нужно то ли активировать, то ли добавить в загрузку. К сожалению, команд не сохранил, потому что смотрел их со смартфона. В общем, надо добавить ключ в реестр, чтобы драйвер загружался. Это тоже всё делается в cmd.
5️⃣ Опять с загрузкой провал. Система не грузится и ругается на неподписанный драйвер. Это ограничение можно обойти либо опять же командой в аварийной консоли, либо выбрав режим загрузки Windows, который есть в списке вместе с различными вариантами безопасной загрузки, который позволяет использовать неподписанные драйвера.
6️⃣ После всех описанных действий система загрузилась.
Всё это заняло много времени и может показаться, что путь нерациональный с точки зрения того, что ничего не было подготовлено заранее. У меня на самом деле был подменный сервер с Hyper-V, куда бы я мог всё восстановить, но раз уж случилось, решил сразу переехать на Proxmox, чтобы потом опять не заниматься этой задачей. По ходу дела уже думал развернуть бэкап на Hyper-V, установить драйвера и вернуть на PVE, но не захотелось по сети гонять огромный образ диска. Решил вопрос на месте.
#proxmox #hyperv