linux如何用pxe装系统
linux如何用pxe装系统详细介绍
在 Linux 系统中借助 PXE(Preboot Execution Environment)来安装操作系统,主要涉及以下几个步骤:
1. 准备工作
- 服务器环境:你需要一台具备静态 IP 地址的 Linux 服务器,同时该服务器要拥有 TFTP(Trivial File Transfer Protocol)、DHCP(Dynamic Host Configuration Protocol)和 HTTP(或 FTP)服务。
- 客户端环境:客户端的网卡必须支持 PXE 功能,并且在 BIOS 中开启了 PXE 网络启动选项。
2. 安装必要的服务
安装 TFTP 服务
TFTP 服务的作用是为客户端提供启动文件。以 CentOS 系统为例,你可以使用以下命令进行安装:
bash
yum tftp-server xinetd
编辑 /etc/xinetd.d/tftp 文件,将 disable 的值从 yes 改为 no:
plaintext
service tftp{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no # 修改这里
per_source = 11
cps = 100 2
flags = IPv4
}
启动 TFTP 服务并设置为开机自启:
bash
systemctl start xinetdsystemctl xinetd
安装 DHCP 服务
DHCP 服务的功能是为客户端分配 IP 地址和 PXE 引导信息。安装命令如下:
bash
yum dhcp
编辑 /etc/dhcp/dhcpd.conf 文件,添加以下内容:
plaintext
subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8;
next-server 192.168.1.10; # TFTP服务器的IP地址
filename "pxelinux.0";
}
启动 DHCP 服务并设置为开机自启:
bash
systemctl start dhcpdsystemctl dhcpd
安装 HTTP 服务
HTTP 服务用于提供操作系统的安装文件。以 Apache 为例,安装命令如下:
bash
yum httpd
启动 HTTP 服务并设置为开机自启:
bash
systemctl start httpdsystemctl httpd
3. 准备 PXE 启动文件
复制启动文件到 TFTP 目录
bash
/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
创建 PXE 配置目录
bash
/var/lib/tftpboot/pxelinux.cfg
创建默认配置文件
bash
/var/lib/tftpboot/pxelinux.cfg/default
在文件中添加以下内容:
plaintext
default menu.c32prompt 0
timeout 300
ONTIMEOUT local
MENU TITLE PXE Boot Menu
LABEL centos7
MENU LABEL Install CentOS 7
LINUX /images/centos7/vmlinuz
APPEND initrd=/images/centos7/initrd.img inst.repo=http://192.168.1.10/centos7
4. 准备操作系统安装文件
将 CentOS 7 的 ISO 镜像挂载到 /mnt 目录:
bash
/dev/sr0 /mnt
复制 ISO 镜像内容到 HTTP 服务目录:
bash
/mnt /var/www/html/centos7
5. 客户端启动
在客户端的 BIOS 中设置网络启动为第一启动项,重启客户端后,客户端会通过 PXE 协议从服务器获取启动文件和安装信息,进而开始操作系统的安装过程。
注意事项
- 要保证服务器和客户端处于同一局域网中。
- 要对防火墙进行正确配置,开放 TFTP、DHCP 和 HTTP 服务所需的端口。