参考这篇文章(http://www.cnblogs.com/linux-wangkun/p/5914103.html)
首先在win7的virtualbox做了实验,证明可行。然后在真实环境中安装了系统。
服务器也是centos7.
1、安装软件 yum install dhcp xinetd syslinux tftp-server httpd
dhcpd: 动态分配IP
xinetd: 对服务访问进行控制,这里主要是控制tftp
tftp: 从服务器端下载pxelinux.0、default文件
syslinux: 用于网络引导
httpd: 在网络上提供安装源,也就是镜像文件中的内容
2、修改/etc/dhcp/dhcpd.conf
# 1. 整体的环境设定
ddns-update-style none;
ignore client-updates;
default-lease-time 259200;
max-lease-time 518400;
option domain-name-servers 192.168.100.1;
# 2. 关于动态分配的 IP
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.101 192.168.100.200;
option routers 192.168.100.1;
option subnet-mask 255.255.255.0;
next-server 192.168.100.1;
# the configuration file for pxe boot
filename "pxelinux.0";
}
3、修改/etc/xinetd.d/tftp
#只修改一个参数,开启此服务
disable = no
4、启动服务
systemctl start dhcpd
systemctl start xinetd
systemctl start tftp
systemctl start httpd
5、挂载光盘
mkdir /etc/www/html/centos7
mount /dev/cdrom /etc/www/html/centos7
如果iso文件在磁盘上,可以 mount -o loop CentOS7.2.iso /var/www/html/centos7/
在浏览器中 192.168.100.1/centos7就可以看到光盘内容了。
6、mkdir /var/lib/tftpboot/centos7
cp /var/www/html/centos7/images/pxeboot/initrd.img /var/lib/tftpboot/centos7/
cp /var/www/html/centos7/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7/
7、cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
8、增加配置文件
mkdir /var/lib/tftpboot/pxelinux.cfg
vi /var/lib/tftpboot/pxelinux.cfg/default
内容如下
default menu.c32
prompt 0
timeout 300
ONTIMEOUT local
menu title ########## PXE Boot Menu ##########
label 1
menu label ^1) Install CentOS 7 x64 with HTTP
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://192.168.100.1/centos7 devfs=nomount
9、勾掉virtualbox全局设置中hostonly网络的dhcp功能。
10、新建一个虚拟机,F12进入启动方式选择界面,选择网络模式,就可以看到启动菜单了。
11、真实环境的安装
两台电脑都接在一个小网中,win7的ip地址设置为192.168.1.1
虚拟机只保留一个网卡,网卡模式为桥接网络。虚拟机启动后,将ip地址修改为静态ip 192.168.1.10
其它配置参数也都要修改为这个ip
启动新机器,F12进入启动方式选择界面,选择网络启动即可,可以看到启动菜单。