servarica自定义重装系统,NETBOOT重装系统,适用于有VNC的VPS

前言

之前听了mjj的推广,遂上了servarica的年付48刀无限流量,2T大盘鸡。
说实话,这款大盘鸡性能着实弱鸡,还禁用任何种子行为,不过胜在便宜就是了。
上了车之后,想要自定义重装系统,发现无论是dd命令还是用萌咖的脚本都会失败,
有一说一,个人感觉这家后台的VNC有些难用,要是可以使用VNC Viewer就好了。
后来想到使用NETBOOT.XYZ进行网络重装系统。想记录一下好久了,没想又拖呀拖到现在。

准备

先在后台把系统换为CentOS 7,因为是用GRUB2引导的,用Debian等还要修改,太麻烦了,就不搞了;
网上有一键脚本可以完成CentOS系统下NETBOOT.XYZ的一些手动配置,但是自动配置的一些参数,包括某些相关教程配置的一些通用参数,在servarica上有些子水土不服,引导会找不到,具体看下文。

NETBOOT.XYZ 适用环境

  • KVM虚化的VPS或者独立服务器;
  • 网络支持DHCP;
  • 可以使用VNC控制你的机器;

正文

1.记一下网络参数

SSH连接服务器后需要先记一下网络参数,最后网络重装时可能会用得到,
比如IP地址、网关、子网掩码,

ifconfig

2.创建引导

wget https://boot.netboot.xyz/ipxe/netboot.xyz.lkrn -O /boot/generic-ipxe.lkrn

新建一个initrd

vi /boot/netboot.xyz-initrd

粘贴以下内容,这里的DNS如果是国内需要修改;

#!ipxe
#/boot/netboot.xyz-initrd
imgfree
dhcp
set dns 8.8.4.4
ifopen net0
chain --autofree https://boot.netboot.xyz

然后编辑40_custom

vi /etc/grub.d/40_custom

自定义一个grub2的开始菜单,重点来了
通用参数是这么搞的,粘贴的是以下代码,但是在servarica上会有问题,

menuentry 'netboot.xyz' {
set root='hd0,msdos1'
linux16 /boot/generic-ipxe.lkrn
initrd16 /boot/netboot.xyz-initrd
}

servarica上如上处理会找不到boot,摸索了一段时间终于解决,
就是需要更改具体的boot路径,根据磁盘uuid来,查看磁盘uuid

cat /etc/grub2.cfg

仿照里头的内容,将boot路径写完整咯,

menuentry 'netboot.xyz' {
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1'  69259f6d-413b-4bcb-80d3-cxxxxxxxxxxx
else
  search --no-floppy --fs-uuid --set=root 69259f6d-413b-4bcb-80d3-cxxxxxxxxxxx
fi
linux16 /generic-ipxe.lkrn root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rhgb quiet
initrd16 /netboot.xyz-initrd
}

然后调整一下GRUB2的开始菜单显示时间,这里我设置90秒,servarica网页VNC真的不太方便,

echo "GRUB_TIMEOUT=90" >> /etc/default/grub

使新的配置生效

grub2-mkconfig -o /etc/grub2.cfg

备注:
如果修改开始菜单显示时间不生效,我们可以调整GRUB2的内核启动顺序

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

把回显出来的netboot.xyz内核设置成默认启动的内核

grub2-set-default 1

现在重启机器然后使用VNC进行连接,可以看到netboot.xyz的启动项。

3.开始重装系统

开始进入netboot.xyz进行网络重装时,可能会提示输入IP地址、网关、子网掩码,按提示输入之前记录的相关参数即可,过程中有发现网络参数都填对了,netboot.xyz却仍然提示没网络,后来多重复几下就正常了,不知道为什么……自检网络没问题的话就可以选择各种系统进行安装了。

扯一下servarica的安装,进去VNC重装才发现这家的是给了一块硬盘,但是分了两个LVM分区,所以使用脚本重装时会提示无法格式化LVM分区,所以重装失败了,emmm……

文章参考来源

点赞

    发表评论

    电子邮件地址不会被公开。必填项已用 * 标注