Hetzner 安装 Windows [非DD]

独立主机和虚拟主机不一样,没有VNC控制台,不能挂载镜像,所以安装Windows很麻烦,官方的安装呢,是要收取授权费的,价格不菲。

Hetzner可以临时申请KVM控制台,但功能不是很全面,我没有找到挂载镜像的方法。不过还是推荐申请个,这样有步骤忘记做了,可以在KVM的可视化控制台里完成一下。

操作条件:

  • 一台独立服务器,并登录进了救援系统 Rescue System
  • 服务器内存大于8GB

准备工作:

进入 救援系统 Rescue System (Linux x64) ,并安装需要用到的软件包 qemu-kvm

apt update && apt install qemu-kvm

接着,上传镜像到救援系统内。可以通过挂载,直接上传,或者下载网络上的系统链接。

这里是HZ官方的下载链接:

Windows Server 2022 (ENG): https://mirror.hetzner.de/bootimages/windows/SW_DVD9_Win_Server_STD_CORE_2022_2108.15_64Bit_English_DC_STD_MLF_X23-31801.ISO

Windows Server 2019 (ENG): https://mirror.hetzner.de/bootimages/windows/SW_DVD9_Win_Server_STD_CORE_2019_1809.11_64Bit_English_DC_STD_MLF_X22-51041.ISO

Windows Server 2016 (ENG): https://mirror.hetzner.de/bootimages/windows/SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO

可以通过 wget 命令直接下载hz官方的下载链接:

wget <镜像的链接地址>

接着,为了镜像内的系统能识别到网盘,需要创建分区表:

确认硬盘名称,如果是 NVME硬盘 为:/dev/nvme0n1 ,否者使用:/dev/sda 。或者可以使用lsblk 命令来确定你的硬盘名称。

接着:

parted /dev/sda  # 请根据你的实际硬盘名称情况,替换 /dev/sda
mklabel msdos
mklabel gpt

如果一切顺利,输出的结果会与下面的例子类似:[需要交互的操作,在下面的例子里可以找到如何输入]

root@rescue ~ # parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) [mklabel msdos]
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be
lost. Do you want to continue?
Yes/No? [yes]
(parted) [quit]
Information: You may need to update /etc/fstab.

创建SSH通道,并开启VNC连接:

之后的步骤里通过 VNC 安装需要 SSH 通道。

在安装了 OpenSSH 的 Linux 和 Windows 系统上,只需在本地 [例如 cmd终端] 运行以下命令并登录服务器即可:

ssh -L 8888:127.0.0.1:5901 root@你服务器的IP地址

运行完成后请不要关闭终端。

开始安装:

救援系统 Rescue System 里输入一下指令,指令需要根据实际情况修改。

qemu-system-x86_64 -enable-kvm -smp 4 -m 4096 -boot d -cdrom en_windows_server_2019_updated_sept_2019_x64_dvd_199664ce.iso -drive file=/dev/sda,format=raw,media=disk -vnc 127.0.0.1:1

必须的修改的是把 en_windows_server_2019_updated_sept_2019_x64_dvd_199664ce.iso 替换为你下载或者上传的镜像的名称。

参数含义
-smpCPU核心数
-m内存限制
-cdrom镜像位置
-drive你要安装Windows的磁盘驱动器名称
-vncVNC 设置

运行后,你就可以在你的本地电脑里访问 VNC 进行可视化安装了,直接连接到 127.0.0.1:8888 即可。

安装完成Windows后,操作以下步骤。

自动设置网络:

创建一个脚本,输入一下内容:

foreach($Adapter in Get-NetAdapter)
{
    New-NetIPAddress –IPAddress [IPAdresse] -DefaultGateway [Gateway] -PrefixLength [CIDR] -InterfaceIndex $Adapter.InterfaceIndex
}

把 IPAdresse Gateway CIDR 根据你的实际情况替换填写。

然后把文件命名为 script.ps1 ,并保存到硬盘里。

在服务器后台,把鼠标停留在IP上,就能看到具体信息:

屏幕截图 2024-01-11 212054.png

然后创建一个定时任务:

设置启动时运行
task01.png
task02.png

额外参数填入: -ExecutionPolicy Bypass -File C:\script.ps1

task03.png

接着确认保存即可。

开启远程访问 RDP

  1. 打开服务器管理器(Server Manager)。
  2. 在服务器管理器中,点击“本地服务器(Local Server)”。
  3. 在“远程桌面(Remote Desktop)”一栏中,点击“已禁用(Disabled)”。
  4. 在系统属性窗口的“远程(Remote)”选项卡中,选择“允许远程连接到这台计算机(Allow remote connections to this computer)”。
  5. 在弹出的窗口中,确认防火墙规则已经创建,然后点击“确定(OK)”。
  6. 选择是否激活网络级别身份验证(NLA),然后点击“应用(Apply)”和“确定(OK)”以应用配置。
  7. 刷新服务器管理器,您会看到远程桌面的状态已更改为“已激活(Activated)”。

RDP.png

接着保存即可。

你还可以关闭防火墙等等,

调整Windows Server的远程访问客户端帐户锁定设置:

其实这一步不需要,但世界上坏人太多了,有些人会爆破你的密码,导致Windows账号被锁定。默认情况下十分钟这个限制就会解除,但他们会不停爆破,所以你会一直无法登录:

  • 右键点击 开始 > 运行,输入 regedit,然后按 Enter 打开注册表编辑器
  • 进入以下注册表位置 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Parameters\AccountLockout
  • MaxDenials 值为允许尝试的次数,可以设置为 0 ,这样就不限制了。
  • ResetTime (mins) 值为解除限制的重置时间。

在关闭后,别人的爆破就不能避免了,你可以修改默认的远程连接端口,或者火绒等安全软件,来尽量提高保护等级。

接着,在 救援系统 Rescue System 里输入 reboot ,重启服务器,重启完毕后,接着就可以通过 远程桌面连接 登录了。

结尾:

如果一切顺利,那么现在已经没有问题了,如果不顺利。也别担心,下面有常见问题的解决办法。

VNC 登录后没有Windows安装界面:可能是因为你的镜像不支持,使用上面的 HZ 官方链接下载,可以杜绝这个问题。

有步骤忘记操作导致 远程桌面连接 连接不上:Hetzner可以临时申请KVM控制台,请申请一个,在邮件里会有控制台地址,在里面操作遗忘的步骤即可。

P.S.
参考了以下内容:1

Edit with Markdown