• 肯定不支持 OpenVZ 的
  • 以 CentOS 7 安装 CentOS 8 为例,因此不适用于 < CentOS 6 的操作系统,具体原因注1
  • 理论适用于大多数基于 GRUB2 的操作系统
  • 机器内存不低于 2 GiB ,这种情况下可以考虑直接 DD ,以后再出教程

安装与配置

首先下载引导文件,以 CentOS 8 为例 ( root 用户 请)

 
[root@localhost ~]# wget -O /boot/initrd-8.img http://mirror.centos.org/centos/8/BaseOS/x86_64/os/images/pxeboot/initrd.img

[root@localhost ~]# wget -O /boot/vmlinuz-8 http://mirror.centos.org/centos/8/BaseOS/x86_64/os/images/pxeboot/vmlinuz

获取当前的网关、子网掩码、IP地址:

 
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
UUID=70bcd07b-0dc0-439d-b655-a7f5f74512a3
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
DEFROUTE=yes
IPV6INIT=yes
IPV4_FAILURE_FATAL=no
PEERDNS=yes
NAME=eth0

IPADDR=154...*
NETMASK=255.255.255.128
GATEWAY=154...129
DNS1=8.8.8.8
DNS2=114.114.114.114

由上得知 IP 是 154... 子网掩码是 255.255.255.128 IP 网关地址是 154..*.129,后面会用到
然后编辑 /etc/grub.d/40_custom 注2

 
[root@localhost ~]# vi /etc/grub.d/40_custom
##打开后应该如下
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
##往其中根据自己情况添加以下 ,如果需要添加密码之类的请看 注2 
menuentry "NetInstall" {
    set root='hd0,msdos1'
    linux  /vmlinuz-8 inst.vnc inst.repo=http://mirror.centos.org/centos/8/BaseOS/x86_64/os ip=IP地址::网关地址:子网掩码::eth0:none nameserver=8.8.8.8
    initrd /initrd-8.img
}

保存后 执行

 
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
#每次修改以后都要执行上面的命令
[root@localhost ~]# grub2-reboot NetInstall 
#下次重启至指定的,第二次重启后就会不再重启过去,这样就不用改默认引导了,也不会因为改错了而只能重装系统
## NetInstall 是你在 /etc/grub.d/40_custom 里定义的名字
[root@localhost ~]# reboot

正常应该就会自动进入网络安装界面了,然后等待一段时间后,使用 IP:1 来进行VNC 连接(根据网络等情况
photo_2020-02-27_07-17-30.jpg

注1: 在 CentOS 中 相对于6来说,7 更改或者删除了很多参数,详细可以翻阅 redhat 文档,点此
注2:逐行添加解释内容含义 方便自定义

 
menuentry "NetInstall" {
#定义了一个名为 NetInstall 的菜单项
    set root='hd0,msdos1'
#这里设置了 boot 分区
    linux  /vmlinuz-8 inst.vnc inst.repo=http://mirror.centos.org/centos/8/BaseOS/x86_64/os ip=IP地址::网关地址:子网掩码::eth0:none nameserver=8.8.8.8
# inst.vnc : 指定应在 VNC 会话中运行该安装程序的图形界面  如果需要设置密码请使用 inst.vncpassword=XXXX
# inst.repo= :用来指定安装源,自己替换源的时候请检查是否有.treeinfo 文件,某些镜像站无此文件(必须)
# netmask=, gateway=, hostname=, ip= 整合到了ip=里,可以自行翻阅官方文档
# 旧版的 dns= 在新版改成了 nameserver= 
    initrd /initrd-8.img
}

既然来了,那就试着讨论一下吧~,现在已有一条评论哒,不如试着加入讨论?

发表评论