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/

这样就可以启动了。