微软Azure 的学生订阅可以免费开 Windows 和 Linux 虚拟机各一台,但是只有1G内存,在Windows Server里面跑不动程序。
下面记录了我将安装了Ubuntu和Windows Server的2台虚拟机都重装成ArchLinux的过程。
一、登录github学生账号,登入https://portal.azure.com/ 分别开通两台免费的虚拟机。
区域选East Asia,无需基础结构冗余,标准安全类型。映像分别为:
Ubuntu Server 22.04 LTS - x64 Gen2
[smalldisk] Windows Server 2016 Datacenter - x64 Gen2
选(有资格免费试用服务)的规格,磁盘选64GiB (P6),Linux配置SSH key,Windows设置用户名密码。
网络接口的公共IP要点“新建”,换成基本SKU,动态分配。
部署完成后去 https://www.microsoftazuresponsorships.com/Balance 查看有哪些扣费项。去除不需要的服务(如Bastion连接)。
二、将Ubuntu Linux虚拟机重装成ArchLinux。
照着WIKI做即可,想懒省事的直接用脚本vps2arch。
三、将Windows Server虚拟机重装成ArchLinux。
参考文章:https://www.bilibili.com/read/cv38960095
我原本想先安装Ubuntu,再换成ArchLinux来着。但是问题来了,串行控制台非常慢,在Ubuntu安装过程中直接就界面不动,失去响应。(微软的web应用都是这样又卡又慢)
我尝试了几遍都无法完成安装,只好把ArchLinux的ISO写入磁盘,但是它启动后怎么在串行控制台交互呢?安装过程中串行控制台再卡死怎么办?
经过一番搜索后我找到这篇文章:Custom Arch .iso with Serial Console 教我用Archiso定制安装ISO,boot后直接转到串行控制台。
既然能定制我还用什么串行控制台?直接ssh连上去安装不香吗?看这里:Prepare an ISO for an installation via SSH
ArchLinux installer会启动SSHD服务,我只用把本机的公钥写到 airootfs/root/.ssh/authorized_keys 即可,注意修改目录和文件权限。
将制作好的ISO传到服务器,rufus写入虚拟机的附加磁盘,设置启动项后重启。
四、本机Windows Terminal通过命令行: ssh -i 私钥文件路径 root@公共IP地址 连上Azure虚拟机,就可以继续安装ArchLinux了。
重启之前别忘了设root密码 # passwd,最好添加用户,安装sudo,配置好SSH并 systemctl enable sshd。确保本机ssh可以连上服务器。
最后grub-install后并不能引导到ArchLinux,还需要安装refind包,运行:
# refind-install
重启后就能引导进ArchLinux了,再进行后续的配置。别忘了把附加磁盘先分离,再删除,不然会持续计费。