ДЦ - OP1 - установка Windows Server на любой VPS
Пошаговая инструкция переустановки VPS (KVM) на Windows Server 2019 Desktop Experience (ENG) через скрипт bin456789/reinstall. Проверено на VPS с Ubuntu 22.04, Legacy BIOS, 1 диск 500 ГБ, 8 vCPU, 32 ГБ RAM.
Плейсхолдеры: <SERVER_IP> — адрес VPS; <SSH_USER> / <SSH_PASSWORD> — доступ к текущей Linux-системе; <WIN_USER> / <WIN_PASSWORD> — учётная запись Windows.
Предварительная проверка
Подключаемся к VPS и собираем информацию о железе:
ssh <SSH_USER>@<SERVER_IP> uname -r lsblk -o NAME,SIZE,TYPE free -h | head -2 lscpu | grep -E "Model name|^CPU\(s\)" [ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS/Legacy"
Шаг 1 — скачивание reinstall.sh
cd $HOME curl -fsSL -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
Шаг 2 — поиск правильного ISO
Скрипт умеет сам искать ISO, но иногда подбирает не ту редакцию (Essentials вместо Standard). Проверяем список доступных образов вручную:
curl -sL "https://ntriver.org/api/drive/generate-link?filename=en-us_windows_server_2019_x64_dvd_f9475476.iso"
Имя образа en-us_windows_server_2019_x64_dvd_f9475476.iso — полный ISO Windows Server 2019 (ENG, x64), содержит все редакции включая ServerStandard (Desktop Experience).
Шаг 3 — запуск установки
bash reinstall.sh windows \ --image-name "Windows Server 2019 ServerStandard" \ --iso "https://tempdelivery.example.com/db/en-us_windows_server_2019_x64_dvd_f9475476.iso" \ --lang en \ --username <WIN_USER> \ --password "<WIN_PASSWORD>" \ --rdp-port 3389 \ --allow-ping
Ключевые параметры:
--image-name "Windows Server 2019 ServerStandard"— Desktop Experience (GUI);...ServerStandardCore= Core (без GUI)--iso— прямая ссылка на ISO (если не указать, скрипт ищет сам)--lang en— язык установки--username/--password— учётная запись Windows--rdp-port 3389— порт RDP--allow-ping— разрешить ping
Шаг 4 — перезагрузка
Скрипт сам не перезагружает — делаем это вручную:
sync && reboot
После перезагрузки grub загрузит Alpine Live OS, который скачает ISO, распакует WIM на диск и настроит загрузчик.
Шаг 5 — отключение IPv6 (если сеть не работает)
Если установка зависает на скачивании файлов с ошибкой Host is unreachable — проблема в IPv6. Alpine Live OS может уходить по IPv6, который не работает. Лечится отключением:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
Затем перезапускаем установку:
sudo /trans.sh
Шаг 6 — проверка результата
Установка занимает 15–30 минут (скачивание ISO + распаковка WIM). Проверяем:
nc -z -G3 <SERVER_IP> 3389 # OPEN = Windows запустился ping <SERVER_IP>
Подключение по RDP:
- Адрес:
<SERVER_IP> - Порт:
3389 - Логин:
<WIN_USER> - Пароль:
<WIN_PASSWORD> - Если клиент просит
.\ <WIN_USER>— добавить префикс
Частые проблемы
- Скрипт выбрал Essentials вместо Standard — укажите
--isoвручную с прямой ссылкой на полный ISO (см. Шаг 2). Host is unreachableпри скачивании — отключите IPv6 (см. Шаг 5).- RDP-порт открыт, но не подключается — Windows ещё грузится (первый запуск 2–5 минут). Подождите.
- Нет пинга после установки — проверьте параметр
--allow-pingи настройки файрвола VPS-провайдера.