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.释放资源 前言 在…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...