PXE学习及其简单应用
一、PXE 的定义
PXE 是一种基于网络的启动技术,最初由 Intel 开发,旨在提供一种在没有本地存储设备的情况下通过网络启动操作系统的标准。PXE 集成在计算机的 BIOS 或 UEFI 中,允许计算机从网络服务器下载并启动操作系统或其他软件。
二、PXE 的架构
PXE 的架构包括客户端和服务器两部分,依赖于多种网络协议和服务。以下是 PXE 架构的主要组成部分。
2.1 客户端
PXE 客户端是启用了 PXE 的计算机,通常集成在 BIOS 或 UEFI 中。当计算机启动时,如果启用了 PXE,网络接口卡(NIC)会尝试通过网络启动操作系统。
2.2 服务器
- PXE 服务器提供启动文件和相关服务,通常包括以下组件:
- DHCP 服务器:为 PXE 客户端分配 IP 地址,并提供启动文件的位置信息。
- TFTP 服务器:用于传输启动文件,如 PXE 引导程序和内核镜像。
- HTTP/FTP 服务器:在某些情况下,用于传输更大的文件或提供额外服务。
- NFS/SMB 服务器:用于提供网络文件系统,支持 PXE 客户端访问操作系统文件。
三、PXE 的工作原理
PXE 的工作原理涉及多个步骤和网络协议的协同工作。以下是 PXE 启动过程的详细步骤。
3.1 PXE 启动过程
- PXE 客户端启动:当计算机启动时,PXE 客户端通过 BIOS 或 UEFI 启动,并向网络发送 DHCP 请求,寻找 DHCP 服务器。
- DHCP 服务器响应:DHCP 服务器响应 DHCP 请求,为客户端分配 IP 地址,并提供 TFTP 服务器的位置和引导文件名。
- 下载引导文件:PXE 客户端通过 TFTP 下载引导文件,通常是一个小型的 PXE 引导程序(如 pxelinux.0)。
- 执行引导文件:PXE 客户端执行下载的引导文件,该引导文件进一步下载操作系统内核和初始化文件系统。
- 启动操作系统:PXE 客户端加载内核和初始化文件系统,最终启动操作系统。
3.2 网络协议
- PXE 启动过程中涉及多个网络协议:
- DHCP:用于分配 IP 地址和提供 TFTP 服务器信息。
- TFTP:用于传输引导文件。
- HTTP/FTP:用于传输更大的文件或提供额外服务(可选)。
- NFS/SMB:用于提供网络文件系统(可选)。
四、简单应用(自动化安装系统)
4.1.1 服务器准备环境
1.rhel7主机
2.开启主机图形 int 5
3.配置网络可用
4.关闭vmware dhcp功能
4.1.2 安装图像化生成kickstart自动化安装脚本
yum install system-config-kickstart -y
system-config-kickstart #启动图形制作工具
4.1.3 设定配置











检查配置
[root@xiaozhou ~]# ksvalidator ks.cfg
4.1.4 安装httpd将此文件共享出去(关闭火墙)
[root@xiaozhou ~]# yum install httpd -t[root@xiaozhou pxelinux.cfg]# systemctl stop firewalld.service
[root@xiaozhou pxelinux.cfg]# systemctl mask firewalld.service [root@xiaozhou ~]# ln -s /rhel7/ /var/www/html/
[root@xiaozhou ~]# cp /root/ks.cfg /var/www/html/
验证

4.1.5 安装dhcp服务器为其他设备提供ip分配
[root@xiaozhou ~]# yum install dhcp -y #安装dhcp服务器为其他服务器提供分配ip的功能[root@xiaozhou ~]# \cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf #生成配置文件,并修改


重启dhcp
[root@xiaozhou pxelinux.cfg]# systemctl enable --now dhcpd.service
4.1.6 下载syslinux、tftp(共享pxelinux.0数据文件的网络服务 )
[root@xiaozhou ~]# yum install syslinux.x86_64
[root@xiaozhou ~]# yum install tftp-server.x86_64 -y
[root@xiaozhou ~]# systemctl enable --now tftp
复制镜像给tftp的发布目录
[root@xiaozhou ~]# cp /rhel7/isolinux/* /var/lib/tftpboot/
[root@xiaozhou ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@xiaozhou ~]# cp /rhel7/isolinux/* /var/lib/tftpboot/[root@xiaozhou ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@xiaozhou ~]# cd /var/lib/tftpboot/
[root@xiaozhou tftpboot]# ls
boot.cat grub.conf isolinux.bin memtest pxelinux.cfg TRANS.TBL vesamenu.c32
boot.msg initrd.img isolinux.cfg pxelinux.0 splash.png upgrade.img vmlinuz
[root@xiaozhou tftpboot]# cp isolinux.cfg pxelinux.cfg/default
[root@xiaozhou tftpboot]# vim pxelinux.cfg/default

告诉设备获得IP后应从哪里去找资源
[root@xiaozhou tftpboot]# vim /etc/dhcp/dhcpd.conf

重启服务
[root@xiaozhou tftpboot]# systemctl restart tftp
[root@xiaozhou tftpboot]# systemctl restart dhcpd
4.2.1 其他设备准备
启动方式改为从英特尔网络启动


4.3.1 测试系统是否安装成功

表示安装成功
相关文章:
PXE学习及其简单应用
一、PXE 的定义 PXE 是一种基于网络的启动技术,最初由 Intel 开发,旨在提供一种在没有本地存储设备的情况下通过网络启动操作系统的标准。PXE 集成在计算机的 BIOS 或 UEFI 中,允许计算机从网络服务器下载并启动操作系统或其他软件。 二、PX…...
【Python】把list转换成json文件(list中为字典,元素按行写入)
0.前言 数据需要处理成与大模型输入相同类型的数据,从csv文件读出后,想要转换成json文件,看了好多资料都是把整个list写入了json,并不是我想要的格式,这里记录一下最后的按行写入的格式。 1.list转json import json …...
《机器人SLAM导航核心技术与实战》第1季:第8章_激光SLAM系统
视频讲解 【第1季】8.第8章_激光SLAM系统-视频讲解【第1季】8.1.第8章_激光SLAM系统_Gmapping算法-视频讲解【第1季】8.2.第8章_激光SLAM系统_Cartographer算法-视频讲解【第1季】8.3.第8章_激光SLAM系统_LOAM算法-视频讲解 第1季:第8章_激光SLAM系统 先 导 课第…...
【安当产品应用案例100集】005-安当ASP实现Exchange双因素登录认证
Exchange双因素登录通过增加额外的安全验证层,可以有效提高企业邮箱系统的安全性,减少了数据泄露和账号被盗的风险,同时也符合了日益严格的安全合规要求。 其必要性主要体现在以下几个方面: 提高安全性:传统的用户名…...
【Bug】Pytorch RuntimeError: DataLoader worker (pid(s) 15904) exited unexpectedly
【Bug1】RuntimeError: DataLoader worker (pid(s) 15904) exited unexpectedly 知乎:https://zhuanlan.zhihu.com/p/712407893 环境 Windows 11 Python 3.10 torch 2.0.1 numpy 1.25.0问题详情 在使用 PyTorch 的 DataLoader 时出现的错误。详情 RuntimeError:A…...
谈谈冯诺依曼体系
我们都知道冯诺依曼体系这张图最为代表性,而接下来我们就来浅谈一下各部分之间的作用~ 输入设备:键盘,磁盘,网卡,话筒等等 输出设备:磁盘,网卡,声卡,显示屏等等 这些硬件…...
第十二章 元数据管理10分
12.1 引言 如果没有元数据,组织可能根本无法管理其数据。 ISO/IEC11179 元数据注册标准。 元数据管理原则:应归尽归,应收尽收。衡量标准:目录是否完整。(去第十二章 元数据管理)。 主数据管理:主…...
eco_tracker
特征 VGG是第一个提出使用块的想法,通过使用循环和子程序,可以很容易地在任何现代深度学习框架的代码中实现这些重复的架构。 原始VGG网络有5个卷积块,其中前两个块各有一个卷积层,后三个块各包含两个卷积层。 第一个模块有64个…...
electron 鼠标事件
版本:"electron": "^22.3.27",实现一个在windows下图片点击右键,使用electron打开的功能。 一、注册表操作 注册表工具类 const cp require("child_process"); const { app } require(electron/remote) e…...
网络安全第一次作业(ubuntuan安装nginx以及php部署 and sql注入(less01-08)))
ubuntuan安装nginx以及php部署 1.安装依赖包 rootadmin123-virtual-machine:~# apt-get install gcc libpcre3 libpcre3-dev zliblg zliblg-dev openssl libssl-dev2.安装nginx 到https://nginx.org/en/download.html下载nginx 之后将压缩包通过xtfp传输到ubuntu的/usr/loc…...
【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】017 - init_sequence_f 各函数源码分析(一)
【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】017 - init_sequence_f 各函数源码分析(一) 一、setup_mon_len():配置 gd->mon_len 监控长度二、fdtdec_setup() :设备树初始化,配置 gd->fdt_blob 指向uboot镜像末尾的 device tree三、【RK3568未跑】trace_early…...
Mojo AI编程语言(十七)跨平台开发:应用广泛适配
目录 1. Mojo语言简介 2. 跨平台开发的挑战 3. Mojo语言的跨平台特性 3.1 编译器支持 3.2 标准库支持 3.3 抽象层 4. 跨平台开发的最佳实践 4.1 避免平台特定代码 4.2 使用依赖管理工具 4.3 测试覆盖率 5. 高级跨平台开发技巧 5.1 使用容器 5.2 持续交付 5.3 性能…...
Python面试题:结合Python技术,如何使用Astropy进行天文数据处理
Astropy 是一个用于天文学研究的 Python 库,它提供了处理天文数据的多种工具和函数。以下是一些使用 Astropy 进行天文数据处理的示例: 安装 Astropy 首先,需要确保已安装 Astropy,可以使用以下命令进行安装: pip i…...
Jpa-多表关联-OneToOne
Jpa-多表关联-OneToOne 准备JoinColumnOneToOne属性targetEntitycascade*PERSISTMERGEREMOVEREFRESH orphanRemovalfetchoptionalMappedBy* OneToOne在 hibernate中用于对表与表之间进行维护关联 准备 import com.alibaba.fastjson.JSON; import jakarta.persistence.*; impor…...
zdpy+vue3+onlyoffice文档系统实战上课笔记 20240805
上次 上次计划 1、最近文档表格完善 2、实现登录功能 3、新建文件,复制文件,删除文件 4、其他 目前任务:最近文档表格完善 1、在名称前面,渲染这个文档的图标 2、大小的基本的单位是kb,超过1024kb则换成mb࿰…...
【Linux 从基础到进阶】Linux 内核参数调优
Linux 内核参数调优 引言 内核参数调优是提升 Linux 系统性能和稳定性的重要手段。通过合理配置和优化内核参数,可以显著改善系统资源利用率和响应速度。本文将介绍内核参数的调优方法,并提供适用于 CentOS 和 Ubuntu 系统的具体示例。 1. 内核参数简介 内核参数是控制 L…...
【Java数据结构】---泛型
乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 ,Java 欢迎大家访问~ 创作不易,大佬们点赞鼓励下吧~ 文章目录 包装类装箱和拆箱泛型泛型…...
Java Lambda表达式总结(快速上手图解)
Java Lambda表达式总结(快速上手详解)-CSDN博客https://blog.csdn.net/m0_66070037/article/details/140912566?spm1001.2014.3001.5501...
【算法模板】图论:Tarjan算法求割边割点
概念 割边(Bridge 或 Cut Edge) 定义: 在一个无向连通图中,如果删除某条边后,图不再连通(即任意两点之间不能相互到达),则称该边为割边。割边也被称为桥,因为它像桥梁…...
如何在IDEA上使用JDBC编程【保姆级教程】
目录 前言 什么是JDBC编程 本质 使用JDBC编程的优势 JDBC流程 如何在IEDA上使用JDBC JDBC编程 1.创建并初始化数据源 2.与数据库服务器建立连接 3.创建PreparedStatement对象编写sql语句 4.执行SQL语句并处理结果集 executeUpdate executeQuery 5.释放资源 前言 在…...
赋能音乐自由:Unlock Music技术解密与全场景应用指南
赋能音乐自由:Unlock Music技术解密与全场景应用指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https:…...
AI原生应用领域链式思考:构建高效应用架构
AI原生应用领域链式思考:构建高效应用架构 关键词:AI原生应用、链式思考、应用架构、大模型协同、上下文管理 摘要:本文从AI原生应用的核心特征出发,结合"链式思考"这一关键设计模式,系统讲解如何构建高效能…...
终极Cursor Pro解锁指南:免费体验AI编程助手的完整解决方案
终极Cursor Pro解锁指南:免费体验AI编程助手的完整解决方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached you…...
从取证到防御:实战解析BadUSB攻击与USB流量异常检测(Wireshark实战)
从取证到防御:实战解析BadUSB攻击与USB流量异常检测(Wireshark实战) 在企业内网安全防护中,USB设备带来的威胁往往被低估。去年某金融机构遭遇的供应链攻击事件中,攻击者通过伪装成键盘的BadUSB设备,在3分钟…...
告别混乱!用PyQt5模块化设计打造你的工业上位机(附完整源码与两种传值方式详解)
工业级PyQt5模块化开发实战:从架构设计到数据交互的完整指南 在工业自动化与测控领域,上位机软件往往需要集成数据采集、实时监控、设备控制等复杂功能。传统开发方式容易导致代码臃肿、维护困难——按钮事件与业务逻辑纠缠不清,数据流向如迷…...
VxLAN网络如何“破圈”?聊聊Type5路由在云网融合中的真实应用场景
VxLAN Type5路由:云网融合时代的智能连接引擎 在数字化转型浪潮中,企业网络架构正经历着从传统三层架构向云原生网络的跃迁。VxLAN作为新一代网络虚拟化技术的代表,其Type5路由功能正在成为打通云网边界的关键推手。想象一下这样的场景&#…...
ResNet50人脸重建作品集:cv_resnet50_face-reconstruction在艺术创作中的人脸风格迁移底图生成
ResNet50人脸重建作品集:cv_resnet50_face-reconstruction在艺术创作中的人脸风格迁移底图生成 1. 项目介绍与核心价值 cv_resnet50_face-reconstruction 是一个基于ResNet50架构的人脸重建项目,专门为艺术创作和设计工作提供高质量的人脸底图生成服务…...
ENet核心架构深度解析:从主机管理到对等通信
ENet核心架构深度解析:从主机管理到对等通信 【免费下载链接】enet ENet reliable UDP networking library 项目地址: https://gitcode.com/gh_mirrors/en/enet ENet是一款高性能的可靠UDP网络库,专为实时多人游戏和低延迟应用设计。它通过创新的…...
FreeRTOS数据通信避坑指南:为什么我的MessageBuffer总是接收失败?
FreeRTOS消息缓冲区实战:从接收失败到高效通信的深度解析 第一次在FreeRTOS项目中使用MessageBuffer时,我遇到了一个令人抓狂的问题——明明发送端显示消息已成功写入,接收端却总是返回0字节。调试器显示缓冲区非空,但xMessageBuf…...
Java泛型中的List
本文将详细回答java泛型中的listt extends base>使用问题。 在java中,泛型提供了强大的类型安全机制,但其一些特点也容易引起混淆,如listt extends base>开发者经常感到困难。假设sub是base的子类:public class base { }pub…...
