通过netboot方式在线重装ubuntu

最近购买了一台VPS,在设置中发现该VPS可选的ubuntu系统最高为18.04 LTS,而20.04 LTS已经发布并且开始向18.04 LTS版本推送了。既然供应商不提供20.04,那就想办法自己装。

本文基于以下条件:1、VPS带有完整版ubuntu;2、带有VNC;3、镜像带有网卡、磁盘等驱动;4、可联网……

首先,在管理页面安装官方的ubuntu系统,16.04或者18.04皆可,如下图所示:

本例以16.04为例;

安装完后通过SSH连接至VPS,并依次执行下列命令(使用管理员身份):

mkdir /boot/netboot && cd /boot/netboot —该命令为新建文件夹放置引导文件;
wget https://mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/ubuntu-installer/amd64/linux https://mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/ubuntu-installer/amd64/initrd.gz —该命令为从清华大学开源镜像站下载引导文件,如需要不同的系统,例如想装18.04,那么替换linux和initrd.gz即可;
cat > /etc/default/grub << EOF
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=20
GRUB_DISTRIBUTOR=Ubuntu
GRUB_CMDLINE_LINUX_DEFAULT=””
GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0 console=ttyS0,115200 console=tty0 panic=5 crashkernel=auto”
GRUB_TERMINAL=”console serial”
GRUB_SERIAL_COMMAND=”serial –speed=115200 –unit=0 –word=8 –parity=no –stop=1″
EOF —在GRUB中添加内容;
update-grub —更新GRUB;
cat > /boot/grub/grub.cfg << EOF
menuentry ‘Ubuntu 20.04 Installer’ {
insmod part_msdos
insmod part_gpt
insmod ext2
linux /boot/netboot/linux
initrd /boot/netboot/initrd.gz
}
EOF —设置引导文件为新建目录下的文件;

执行reboot重启VPS并在VNC中选择Ubuntu 20.04 Installer进行重装的引导:

Ubuntu 20.04 Installer —该名称即为之前新建的引导,选择并进入;
之后的操作就和普通装系统的流程一样了。

若有不细致或者错误的地方还望指正。

发表评论