独立主机和虚拟主机不一样,没有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
替换为你下载或者上传的镜像的名称。
参数 | 含义 |
---|---|
-smp | CPU核心数 |
-m | 内存限制 |
-cdrom | 镜像位置 |
-drive | 你要安装Windows的磁盘驱动器名称 |
-vnc | VNC 设置 |
运行后,你就可以在你的本地电脑里访问 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上,就能看到具体信息:
然后创建一个定时任务:
设置启动时运行
额外参数填入: -ExecutionPolicy Bypass -File C:\script.ps1
接着确认保存即可。
开启远程访问 RDP:
- 打开服务器管理器(Server Manager)。
- 在服务器管理器中,点击“本地服务器(Local Server)”。
- 在“远程桌面(Remote Desktop)”一栏中,点击“已禁用(Disabled)”。
- 在系统属性窗口的“远程(Remote)”选项卡中,选择“允许远程连接到这台计算机(Allow remote connections to this computer)”。
- 在弹出的窗口中,确认防火墙规则已经创建,然后点击“确定(OK)”。
- 选择是否激活网络级别身份验证(NLA),然后点击“应用(Apply)”和“确定(OK)”以应用配置。
- 刷新服务器管理器,您会看到远程桌面的状态已更改为“已激活(Activated)”。
接着保存即可。
你还可以关闭防火墙等等,
调整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
版权属于:hofaeair
本文链接:http://blog.hofaeair.net/Poems-and-distant-places/hz_install_windows_without_KVM.html
© 允许规范转载 转载请保留本文转载地址,著作权归作者所有