使用netboot.xyz重装系统

作为一个服务器使用者,经常需要和各种系统打交道,尤其是有些时候想尝鲜各种服务器提供商还没提供的新系统,或者是想要去除服务器提供商系统模板自带的一些系统进程,如果每次都下载系统的ISO镜像手动安装未免太麻烦,最近发现了个比较好的安装各个系统的软件,花了点时间摸索试用,这里记录下我的试用过程及体验。

写在最前

使用netboot.xyz虽然可以很方便的重装系统,但是需要配合VNC使用才能完成安装过程,一般来说国内的腾讯云、阿里云以及国外的Vultr、DigitalOcean、Linode、Virmach、Hostdare等服务器供应商都提供VNC访问,这些商家能很方便地使用netboot.xyz进行操作系统重新安装。

netboot.xyz简介

netboot.xyz是一个基于PXE的开源系统安装器,支持引导各种系统以最小化的成本启动安装程序,像Linux、Windows、BSD及DOS等都能支持,对于我们经常接触服务器的人来说,更直接的说法就是可以通过这个程序直接启动Debian、Ubuntu及CentOS等系统的安装程序,无需U盘无需下载ISO直接开始安装步骤。

netboot.xyz软件官网:https://netboot.xyz/

netboot.xyz下载页面:https://boot.netboot.xyz/

使用netboot.xyz重装系统

如果是想要格式化某个分区重新安装系统,则可能需要下载netboot.xyz的引导文件然后编辑GRUB等引导程序的配置文件,但如果是想要全盘格式化重新安装系统,可以直接下载netboot.xyz的IMG镜像写入硬盘然后重启直接启动这个IMG镜像,我一般选择后者,就我接触的服务器环境来说,一般都是云服务器居多,如果涉及重装,一般都是全盘格式化重装,保存好数据,然后全盘格式化安装就行。

需要再次提示一下,我这里涉及的方法是采用全盘格式化然后往硬盘写入IMG镜像的方法启动安装程序的,如果是硬盘上有重要数据,建议备份数据先,如果想部分分区系统重装系统,建议考虑修改GRUB等引导程序使用netboot.xyz进行重装。

下载netboot.xyz引导程序

进入netboot.xyz的下载页面,复制页面上的IMG文件的下载地址,然后到需要重装的服务器上下载:

wget https://boot.netboot.xyz/ipxe/netboot.xyz.img

然后使用如下命令获取目前服务器的硬盘信息:

root@cloudbool.com:~# fdisk -l
Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x8a4e8ab0

Device     Boot    Start      End  Sectors   Size Id Type
/dev/vda1  *           2 19136729 19136728   9.1G 83 Linux
/dev/vda2       19136730 20971199  1834470 895.7M  5 Extended
/dev/vda5       19136732 20971199  1834468 895.7M 82 Linux swap / Solaris

命令及输出如上图所示,其中,上述的/dev/vda可能会根据实际情况有所不同,我们只需要上述输出的/dev/vda部分即可,不需要后面带数字的部分。这里提示一下,如果挂载了数据盘,注意不要看成了数据盘的盘符。

将下载的netboot.xyz的IMG镜像写入硬盘,注意,写入之前一定要备份好数据

dd if=netboot.xyz.img of=/dev/vda

写入完成之后,可以打开服务器的VNC管理页面,可以在VNC管理页面或者命令行将服务器进行重启,重启之后会自动进入netboot.xyz的程序界面,如图:

netboot.xyz installer

一般来说netboot.xyz能自动配置好网络信息,进入这个页面之后使用键盘上的方向键及回车键即可完成选择及确定的操作。

使用netboot.xyz体验

就我自己的实际使用体验来说,有以下几条值得记录一下:

  • 小内存的VPS使用netboot.xyz安装的话,可能会比较麻烦,可能会遇到内存不足的情况,尤其是安装CentOS及CentOS衍生版、Windows等类型的系统
  • 其实netboot.xyz只是代替了我们下载系统最小化安装所需要的文件以及配置对应的启动项的步骤,安装过程中还是需要联网下载部分文件以完成系统的安装过程
  • 国内腾讯云、阿里云等服务器情况,因为涉及到带宽问题,如果使用netboot.xyz进行系统重装,建议安装过程最好不要采用图形化安装器,并且系统安装过程建议不要安装暂时不用的软件包,比如桌面环境,服务器环境组件等,可以在系统安装完成之后修改成内网源再进行安装以节省时间。
  • 不知道是不是我下载的版本不对还是netboot.xyz只支持64位的系统,目前我发现只能引导64位的系统,如果特殊情况需要安装32位的系统,可能暂时行不通。
  • 一般来说,常见的服务器提供商提供的环境都支持DHCP,如果不支持DHCP,需要手动设置网络,会稍微麻烦一些。
  • 对于部分比较旧系统版本,比如Debian8,直接写入可能会出现卡在启动界面上,如果遇到这种情况,可以先升级到比较新的版本比如Debian9、Debian10等版本再进行写入。

参考文档:https://netboot.xyz/docs/