2024年4月24日发(作者:)
PXE--预启动执行环境,指示客户端计算机直接从网络接口启动、运行或安装操作系统。
1. 需要的安装软件有dhcp服务器,用于提供DHCP服务;用于网络启动引导的syslinux包;
tftp-server;
nfs-server或vsftpd-server,这个扮演镜像安装仓库的角色,安装器将从这里提取所需的包。
2. 安装dhcp服务器:
apt-get install isc-dhcp-server
然后编辑:
/etc/default/isc-dhcp-server文件,修改里面的INTERFACESv4和INTERFACESv6为自己的
网卡名称。
然后编辑/etc/dhcp/文件,加入如下dhcp所提供的ip地址范围:
1
2
3
4
5
6
subnet 10.0.0.0 netmask 255.255.255.0
{ range 10.0.0.10 10.0.0.253;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
next-server 10.0.0.1;
filename "pxelinux.0"; }
这里注意: next-server是自己主机的ip地址,filename 是pxe需要加载的文件,是放在tftp
服务器目录下的文件,如本例中使用/root/tftpboot为tftp服务器目录,则这个文件就放在这
里,这个根据自己的存放的位置来修改。
启动DHCP服务:
/etc/init.d/isc-dhcp-server start
查看是否启动成功:
/etc/init.d/isc-dhcp-server status
如果状态为ACTIVATING,则成功。
3.安装TFTP:
apt-get install tftpd-hpa
然后修改/etc/default/tftpd-hpa文件,为
1
2
3
4
5
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/root/tftpboot"
TFTP_ADDRESS="[:0.0.0.0:]:69"
TFTP_OPTIONS="--secure"
RUN_DAEMON="yes"
然后建立tftpboot目录:
mkdir -p /root/tftpboot
chmod -R 755 /root/tftpboot/
启动tftp服务器
/etc/init.d/tftpd-hpa start
4.安装nfs服务器
apt-get install nfs-kerner-server
配置nfs:
编辑/etc/exports,修改为:
1
/root/tftpboot/nfsboot *(rw,sync,no_subtree_check)
这里设定了nfsboot的根目录为/root/tftpboot/nfsboot。
启动nfs:
/etc/init.d/nfs-kernel-server start.
5.安装syslinux.
apt-get install syslinux
或者到kernel的官网下载syslinux.(例如~/syslinux-6.03/bios/com32)这个目录下,比较多的
文件拷贝).
然后从/usr/lib/syslinux/目录下复制syslinux提供的引导安装程序文件到/root/tftpboot下,操作
步骤如下:
第一步: mkdir /root/tftpboot/
第二步: mkdir /root/tftpboot/nfsboot
第三步: cp /usr/lib/syslinux/efi64/vesamenu.c32 pxelinux.0 /root/tftpboot
6.设置PXE启动配置文件default.或者从iso/isoimage/来修改。
编辑/root/tftpboot//default
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
default vesamenu.c32
prompt 0
timeout 100
menu color border 37;40 #00000000 #00000000 none
menu color title 1;37;40 #00000000 #00000000 none
menu color tabmsg 40;37 #88888888 #00000000 none
menu color sel 1;37;42 #ffffffff #ff808080 none
menu color unsel 1;40;32 #ff00ff00 #00000000 none
# Samba / Windows share
include /
#include /
# NFS
include /
#include /
# TFTP
#include /
#include /
# FTP
#include /
#include /
# HTTP
#include /
#include /
这里面可以自己配置支持的启动方式,然后对进行编辑,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
label linux
menu label Install CentOS 7
kernel vmlinuz
append initrd= method=nfs:10.0.0.1:/root/tftpboot/nfsboot ip=dhcp noipv6
menu separator # insert an empty line
label vesa
menu indent count 5
menu label Install CentOS 7 in basic graphics mode
text help
Try this option out if you're having trouble installing
CentOS 7.
endtext
kernel vmlinuz
append initrd= method=nfs:10.0.0.1:/root/tftpboot/nfsboot ip=dhcp noipv6
xdriver=vesa nomodeset quiet
menu separator # insert an empty li
menu end
7. 拷贝vmlinz和
先挂载iso文件
mount -o loop /mnt
然后拷贝
cp /mnt/images/isoimages/* /root/tftpboot
cp -Pr /mnt/* /root/tftpboot/nfsboot/
这样就可以启动了。


发布评论