提示:我发现我这台 Windows 的服务器是有扣费的(扣那免费 100 刀里面的钱)。我也不知道是创建 Windows 的时候没有创建好还是重装导致的问题。我觉得也想这么做的人最好注意一下?
起因
事情是这样的,微软 Azure 提供的学生免费套餐中有免费的一台 Windows 虚拟机和一台 Linux 虚拟机,都是 1 核 1G 的。对于 Linux 来说,这差不多正好,但是对于 Windows,这怎么用啊QAQ
![这怎么用呀](/x_assets_x/x_62db67e8109_x.png)
所以,我要把它重装成 Linux。这样的话,名义上我是一台 Windows 一台 Linux,实际上是两台 Linux。嘻嘻嘻
然而,这个机器并没有 VNC,不过可以每分钟获取一次屏幕的界面。以及有一个串行控制台可以用
第一次的错误尝试
试了一下网络上的 dd 脚本
![image-20220106121228571](/x_assets_x/x_e1873181c14_x.png)
原来 Azure 的机器是 UEFI 启动的!诶 坏诶 那岂不是有安全启动QAQ
去看一眼,好耶!那没事了(
![image-20220106130710745](/x_assets_x/x_fdbd27c7f7b_x.png)
第二次失败的尝试
沐子跟我说,现在有人维护了一个支持 UEFI 的 Wubi(以前,大概一几年的时候在 Windows 里面直接安装 Ubuntu 的工具),于是我试了一下
![image-20220106130957897](/x_assets_x/x_643eb7edfec_x.png)
倒是成功安装了 Xubuntu,不过启动的时候……
![image-20220106131038166](/x_assets_x/x_6d5cd4cca9f_x.png)
Two thousand years later……
![image-20220106131101021](/x_assets_x/x_d0d2c258edf_x.png)
思路
一个思路是搞一个像 mfsLinux 差不多的东西,这个我之前介绍过,打开 SSH 然后直接装系统
还有就是使用像 Debian 一样直接在控制台里面安装的系统,将安装界面的输出重定向到串行控制台
最后我选择了第二种
启动 Debian 安装程序
首先是下载 Debian 官网上的网络安装镜像。由于 Azure 给我们提供了 4GB 的临时存储盘,我们可以直接把镜像用 Refus 写到那个盘里面。参数设置最好像下图那样,弹出的确认框里面选第一个就可以了
PS. 可能有页面文件在那个盘里面。我第一次写入的时候系统好像自己重启了,第二次再写入才成功。以及以下步骤如果有失败的也可以多试几次呢w
![img](/x_assets_x/x_d6ba10f0df2_x.png)
然后,由于我们需要让输出显示在串行控制台里面,我们需要修改一下 grub.cfg
有好多个 grub.cfg
,我们要修改 /boot/grub/grub.cfg
在开头的地方,有一段:
if loadfont $prefix/font.pf2 ; then
set gfxmode=800x600
set gfxpayload=keep
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod gfxterm
insmod png
terminal_output gfxterm
fi
需要修改成
serial --unit=0 --speed=115200
terminal_input serial; terminal_output serial
根据微软官方的文档,串行控制台的波特率是 115200
下面有一段关于启动 Linux 内核的部分,注意我们要使用的是 Install,也就是无图形界面安装的选项,所以我们要修改它。大概在 32 行附近:
menuentry --hotkey=i 'Install' {
set background_color=black
linux /install.amd/vmlinuz vga=788 --- quiet
initrd /install.amd/initrd.gz
}
修改 linux
那一行:
linux /install.amd/vmlinuz vga=788 console=ttyS0,115200n8
然后,我们需要使用 Diskgenius 自带的 UEFI 管理工具添加 /EFI/boot/grubx64.efi
这个文件为启动项,以及勾选下次从此项启动。
![Diskgenius](/x_assets_x/x_3f7d63f7519_x.png)
然后我们就可以重启机器,然后就能在串行控制台里看到 GRUB 的界面了。选择 Install 那一项,Debian 的安装界面就能启动了。
![Debian 安装界面](/x_assets_x/x_7fd0f9c331d_x.png)
安装时可能会遇到的问题
在「扫描和挂载安装介质」的那一步,由于我们的设备不是光盘,所以很可能会出问题。这时候我们需要在菜单里选择开启一个终端,并在终端中输入
mount /dev/sdb1 /cdrom
就可以解决这个问题了
以及 在「选择和安装软件」这一步,可能会闪一下进度条就回到主菜单,可能是源有问题吧,我也不知道怎么搞的能打开到切换软件源的界面,换个源就可以了。然后选择的时候取消勾选桌面环境并勾选下方的 SSH 服务。这样装完之后直接就可以 SSH 上了
小知识
关于 su
由于 Debian 装完是没有 sudo 的,需要先 su 到 root 账户来安装 sudo。然而 su
之后 $PATH
里面是没有 /usr/sbin
的(Debian 的 bin
和 sbin
不是软链接好像),没法运行管理需要的命令。于是我在网上查到有 su -
这个命令,它们的区别是 su 之后 $PATH
不一样!
![image-20220106140038508](/x_assets_x/x_d7a3eb4c8c0_x.png)
![image-20220106140051560](/x_assets_x/x_f53f03a723b_x.png)
![image-20220106140107824](/x_assets_x/x_17a8adc5a2c_x.png)