PXE

本文详细介绍如何通过网络引导方式安装CentOS 6桌面模式虚拟机的步骤,包括配置DHCP、FTP服务,安装必要的软件包,以及设置网络启动环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:我们需要自己装太桌面模式的虚拟机((1)远程装机(2)不能走点击界面)
2:要有DHCP服务、FTP服务。在这里插入图片描述
3:首先要进行光盘挂载
4:准备Centos6的安装源并创建目录(mkdir -p /var/ftp/centos6)
5:cd /var/ftp/centos6/
6: cp -rp /media/cdrom/* .
7:yum -y install tftp-server
8:打开配置文件(vim /etc/xinetd.d/tftp)
9:在这里插入图片描述
10:/etc/init.d/xinetd start 开启服务(并修改成开机启动( chkconfig tftp on))
11:准备Linux内核、初始化镜像文件
(1):cd /var/ftp/centos6/isolinux/
(2): cp vmlinuz initrd.img /var/lib/tftpboot/
(3):yum -y install syslinux
(4):cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
(5):cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/
(6): chmod 644 /var/lib/tftpboot/isolinux.cfg(加权限)
(7):修改vim /var/lib/tftpboot/isolinux.cfg
在这里插入图片描述
(8): 先cd /var/lib/tftpboot/并mkdir pxelinux.cfg(创建一个目录)
(9):mv isolinux.cfg pxelinux.cfg/default
(10):安装dhcp(yum -y install dhcp)并修改它的配置文件(先将它的模板复制过来(cp cp /usr/share/doc/dhcp*/dhcpd.conf.sample .
并改名字cat dhcpd.conf.sample > dhcpd.conf
))
11) yum -y install vsftpd

(12)/etc/init.d/vsftpd start

(13)关闭防火墙 service iptables stop

另起虚拟机

(1) yum -y install ftp

(2) ftp 主机的IP

(3) 在主机yum -y install system-config-kickstart

(4) Init 5

(5) yum groupinstall “Deskop”

(6) /etc/init.d/dhcpd restart (重启服务)

(7) /etc/init.d/xinetd restart(重启服务)

(8) /etc/init.d/vsftpd restart(重启服务)

(9) cp ks.cfg /var/ftp

chmod 777 /var/ftp/ks.cfg

(10) vim /var/lib/tftpboot/pxelinux.cfg/default

(11) 在9行后面写上ks.cfg

(12) Vim /var/ftp/ks.cnf 加上一句话(unsupported_hardware)就跳过卡顿了

06-08
<think>嗯……用户这次在询问PXE启动配置与故障排除的问题。从对话历史来看,用户对技术细节的需求很明确,而且引用了多篇关于PXE的技术文档,包括PXE的基本原理、PXELINUX实现、以及具体部署步骤等。用户应该是个系统管理员或网络工程师,正在搭建PXE环境时遇到了问题。用户引用的资料质量参差不齐:引用[1]是英特尔的官方技术说明,很权威;引用[2]提到PXELINUX的实现;引用[3]是具体的CentOS部署命令;引用[4]则总结了必要组件但表述有些混乱。需要帮用户整合这些信息,特别是要注意[4]里提到的“HTTP,DHCP,TFTP服务器”这个说法不够准确——实际上PXE只需要DHCP和TFTP,HTTP/NFS是后续安装才需要的。上次我给出过完整的PXE部署流程图,这次用户特别提到“配置与故障排除”,说明可能卡在了某个具体环节。需要突出排查逻辑:从DHCP握手开始,到TFTP文件传输,再到启动加载程序执行。每个环节都要给出可操作的检查点,比如用tcpdump抓包验证DHCPOffer报文,用tftp命令手动测试文件下载。注意到用户提到CentOS环境(引用[3]的yum命令),所以具体路径示例应该用/var/lib/tftpboot这种标准位置。但也要提醒路径可能因发行版不同而变化(比如Ubuntu用/srv/tftp)。故障树那里要特别标注“pxelinux.0未找到”的解决方案,因为这是新手最容易出错的地方——很多人会忘记syslinux安装后需要手动复制这个文件。</think> 以下是关于PXE启动的配置和故障排除的详细指南,整合了关键技术和实践要点: --- ### **一、PXE启动核心配置步骤** #### 1. **服务器端准备** - **DHCP服务器** 配置选项(以ISC DHCP为例): ```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; next-server 192.168.1.10; # TFTP服务器IP filename "pxelinux.0"; # 引导文件路径 } ``` - **TFTP服务器** 部署引导文件: ```bash yum install tftp-server -y cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ cp /path/to/kernel/vmlinuz /var/lib/tftpboot/ cp /path/to/initrd.img /var/lib/tftpboot/ mkdir /var/lib/tftpboot/pxelinux.cfg ``` 配置文件示例(`/var/lib/tftpboot/pxelinux.cfg/default`): ```plaintext DEFAULT menu.c32 PROMPT 0 LABEL Install CentOS KERNEL vmlinuz APPEND initrd=initrd.img inst.repo=http://192.168.1.10/os/ ``` - **文件服务器(HTTP/NFS)** 提供操作系统安装源: ```bash yum install httpd -y mkdir -p /var/www/html/os cp -r /mnt/iso/* /var/www/html/os/ # 挂载ISO并复制内容 ``` #### 2. **客户端配置** - 启用BIOS/UEFI中的`Network Boot`选项 - 将`PXE Boot`设为第一启动项 --- ### **二、故障排除清单** #### 1. **客户端无法获取IP地址** - ✅ **检查DHCP服务** ```bash systemctl status dhcpd # 确认服务运行 tail -f /var/log/messages # 查看DHCP日志 ``` - ✅ **验证网络连通性** 使用另一设备测试同网段DHCP请求 #### 2. **TFTP文件传输失败** - ✅ **防火墙规则** ```bash firewall-cmd --add-service=tftp --permanent firewall-cmd --reload ``` - ✅ **文件权限测试** ```bash tftp 192.168.1.10 # 手动测试下载 tftp> get pxelinux.0 # 检查文件可访问性 ``` #### 3. **引导加载后卡住** - ✅ **验证内核/initrd路径** 确保文件名与`pxelinux.cfg`配置一致 - ✅ **检查安装源URL** 在浏览器直接访问`http://192.168.1.10/os/`验证可用性 - ✅ **引导参数调试** 在`APPEND`行添加`debug shell`进入调试Shell #### 4. **PXELINUX报错** - `PXE-E11: ARP timeout` → 检查TFTP服务器ARP可达性 - `PXE-E32: TFTP open timeout` → 确认`/var/lib/tftpboot`目录包含`pxelinux.0`且权限为644 --- ### **三、关键逻辑拓扑** ```mermaid graph LR Client[客户端] -->|1.DHCP Discover| DHCP DHCP -->|2.Offer+TFTP IP| Client Client -->|3.TFTP Request| TFTP[TFTP Server] TFTP -->|4. pxelinux.0/kernel| Client Client -->|5. HTTP Boot| Web[HTTP Server] ``` --- ### **四、深入优化方案** 1. **安全增强** - DHCP使用Option 60标识PXE客户端 - TFTP目录设置`chroot`环境 2. **多系统引导** 使用`pxelinux.cfg`定义多菜单: ```plaintext LABEL Ubuntu KERNEL ubuntu/vmlinuz APPEND initrd=ubuntu/initrd.img url=http://192.168.1.10/ubuntu/ ``` **引用来源** 以上内容综合了PXE协议标准文档[^1]、SYSLINUX官方配置指南[^2]、Linux网络部署最佳实践[^3][^4]。 --- **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值