lala.im:CentOS7配置GRUB2+iPXE进行网络重装

運維技術·lala.im · 2018-12-07 · 118 人浏览

原文地址:https://lala.im/4524.html,請支持原作者!該處僅作轉載。

这个网络重装的方法需要用到一个国外的服务:NETBOOT.XYZ,有了这个东西之后一切都会变简单很多,但你预重装的机器需要满足以下条件才行:
1.KVM虚拟化的VPS或者独立服务器\n2.网络支持DHCP\n3.可以使用VNC控制你的机器
一般的VPS都是支持以上这些的,废话不多说,首先我们要安装一个CentOS7的系统,然后在这个系统内下载iPXE的Linux内核:

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

接着新建一个initrd:

vi /boot/netboot.xyz-initrd

写入:

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

然后编辑40_custom:

vi /etc/grub.d/40_custom

自定义一个grub2的开始菜单:

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

最后调整GRUB2的开始菜单显示时间:

echo "GRUB_TIMEOUT=60" >> /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的功能界面,假设这里我要安装一个全新的Linux系统就选择Linux Installs:

範例
然后选择派系,这里我选择Debian:

範例
选择版本:

範例
因为使用了VNC,所以我们这里选择图形化安装:

範例
如果一切正常,你可以看到NETBOOT现在开始从Debian的官方下载安装包了:

範例
熟悉的Debian安装界面出现在你的眼前:

範例
按照自己的需求来配置即可安装即可,这里省略一些步骤,在最后需要注意的是,Debian9选择安装软件这块,按如图所示勾选:

範例
安装程序跑完并重启之后,重新登录到你的VPS内,一个全新的Debian9可供你使用:

範例

運維技術 lala.im
Theme Jasmine by Kent Liao