PXE_Kickstart_无人值守自动化安装系统

文章目录

  • 1. PXE
  • 2. 配置服务参数
    • 2.1 tftp服务配置
    • 2.2 dhcp服务配置
    • 2.3 http服务配置
  • 3. 配置PXE环境
    • 3.1 网络引导文件pxelinux.0
    • 3.2 挂载镜像文件
    • 3.3 创建配置文件default
    • 3.4 复制镜像文件和驱动文件
    • 3.5 修改default文件
    • 3.6 配置ks.cfg文件
  • 4. PXE客户端
    • 4.1 创建虚拟机,不放镜像
  • 5. 踩坑记录
    • 1. PXE-E53:No boot filename received
    • 2. Failed to load ldlinux.c32
    • 3. warning :/dev/root does not exist
    • 4. http服务异常-Forbidden
    • 5. pxe客户机安装一半卡住了-软件源未设置
    • 6. pxe客户机安装系统到最后了,但是不自动重启系统
    • 7. 客户机已禁用cpu

1. PXE

PXE:Pre-boot Execution Environment,预启动执行环境。

  • PXE是Client/Server模式的。

在这里插入图片描述

在这里插入图片描述

2. 配置服务参数

  • 关闭vmnet8的dhcp服务
  • 下载相关软件:yum install syslinux tftp-server dhcp httpd
  • 把防火墙关闭
  • 配置好yum源

2.1 tftp服务配置

  • tftp的配置文件:/etc/xinetd.d/tftp
service tftp
{socket_type             = dgramprotocol                = udp	# 依赖于udp协议wait                    = no	# 非阻塞模式;tftp一次可连接多个用户user                    = root	# 服务进程以root用户运行server                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpboot	# 用户访问的目录disable                 = no	# 启用服务per_source              = 11	# 最大连接数cps                     = 100 2flags                   = IPv4
}
  • 启动该服务
    [root@oldboy99 ~]# systemctl start tftp.service 
    [root@oldboy99 ~]# systemctl status tftp.service 
    ● tftp.service - Tftp ServerLoaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)Active: active (running) since Wed 2025-04-30 09:12:55 CST; 6s agoDocs: man:in.tftpdMain PID: 30669 (in.tftpd)Tasks: 1Memory: 96.0KCGroup: /system.slice/tftp.service└─30669 /usr/sbin/in.tftpd -s /var/lib/tftpboot430 09:12:55 oldboy99 systemd[1]: Started Tftp Server.
    

2.2 dhcp服务配置

  • dhcp的配置文件:/etc/dhcp/dhcpd.conf
subnet 10.0.0.0 netmask 255.255.255.0{	# 子网配置参数option subnet-mask 255.255.255.0;	# 子网掩码option domain-name-servers 10.0.0.203;	# dns服务器地址range dynamic-bootp 10.0.0.100 10.0.0.200;	# 地址池范围default-lease-time 21600;max-lease-time 43200;next-server 10.0.0.203;	# tftp服务器地址#leagcy启动方式引导文件filename "pxelinux.0";	# 通过BIOS引导启动时的文件名
}
  • 启动该服务
    [root@oldboy99 ~]# systemctl start dhcpd.service 
    [root@oldboy99 ~]# systemctl status dhcpd.service 
    ● dhcpd.service - DHCPv4 Server DaemonLoaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2025-04-30 14:12:20 CST; 5s agoDocs: man:dhcpd(8)man:dhcpd.conf(5)
    

2.3 http服务配置

  • httpd的配置文件:/etc/httpd/conf/httpd.conf
  • 启动该服务
    [root@oldboy99 ~]# systemctl start httpd.service 
    [root@oldboy99 ~]# systemctl status httpd.service 
    ● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: active (running) since Wed 2025-04-30 14:13:36 CST; 9s agoDocs: man:httpd.service(8)
    

3. 配置PXE环境

3.1 网络引导文件pxelinux.0

  • 该文件不在本地,只能通过软件包下载
# 查找该文件存在于哪个软件包
[root@oldboy99-Kylin-pxeServer ~]# yum provides "*/pxelinux.0"
上次元数据过期检查:2:42:40 前,执行于 2025年05月10日 星期六 18时53分35秒。
syslinux-nonlinux-6.04-10.ky10.noarch : syslinux modules which aren't run from linux
仓库        :ks10-adv-os
匹配来源:
文件名    :/usr/share/syslinux/pxelinux.0syslinux-nonlinux-6.04-14.ky10.noarch : syslinux modules which aren't run from linux
仓库        :@System
匹配来源:
文件名    :/usr/share/syslinux/pxelinux.0
……
[root@oldboy99-Kylin-pxeServer ~]# yum install -y syslinux
上次元数据过期检查:2:44:16 前,执行于 2025年05月10日 星期六 18时53分35秒。
软件包 syslinux-6.04-14.ky10.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
  • 该文件存在于 /usr/share/syslinux/pxelinux.0目录下
  • 将该文件移动到tftp的文件目录下:/var/lib/tftpboot

在这里插入图片描述

3.2 挂载镜像文件

在这里插入图片描述

点击设置,挂载kylin系统的镜像文件

在这里插入图片描述

最后vm右下角的CD图标有绿点表示挂载成功!

  • 镜像文件一般在/dev/cdrom下,将其挂载到http协议的文件目录下
  • 可以先创建个系统名的文件夹
[root@oldboy99-Kylin-pxeServer /var/www/html/kylin]# mount /dev/cdrom ./
mount: /var/www/html/kylin: WARNING: source write-protected, mounted read-only.
[root@oldboy99-Kylin-pxeServer /var/www/html/kylin]# cd ..
[root@oldboy99-Kylin-pxeServer /var/www/html]# ll ./kylin/
总用量 544
dr-xr-xr-x 3 root root   2048  315  2023 EFI
dr-xr-xr-x 3 root root   2048  315  2023 images
dr-xr-xr-x 2 root root   2048  315  2023 isolinux
dr-xr-xr-x 5 root root   2048  324  2023 kylin-sm-package
-r--r--r-- 1 root root    441  331  2023 LICENSE
dr-xr-xr-x 2 root root   2048  315  2023 manual
dr-xr-xr-x 2 root root 538624  324  2023 Packages
dr-xr-xr-x 2 root root   4096  324  2023 repodata
-r--r--r-- 1 root root   2883  331  2023 TRANS.TBL
  • 通过网页查看一下

在这里插入图片描述

3.3 创建配置文件default

  • 需要在tftp的文件根目录(/var/lib/tftpboot)下创建目录:pxelinux.cfg
  • default文件就是网络引导文件需要的配置文件,只要是系统启动后选择的系统菜单,该文件在镜像中也有。
  • [root@oldboy99-Kylin-pxeServer /var/lib/tftpboot/pxelinux.cfg]# cp /var/www/html/kylin/isolinux/isolinux.cfg ./default
  • 注意路径

3.4 复制镜像文件和驱动文件

  • [root@oldboy99-Kylin-pxeServer /var/lib/tftpboot]# cp /var/www/html/kylin/isolinux/* ./
  • [root@oldboy99-Kylin-pxeServer /var/lib/tftpboot]# mkdir kylin
  • [root@oldboy99-Kylin-pxeServer /var/lib/tftpboot]# cp /var/www/html/kylin/images/pxeboot/{vmlinuz,initrd.img} ./kylin/
  • 最后效果:

在这里插入图片描述

在这里插入图片描述

3.5 修改default文件

  • 直接复制上面的 label linux模板,再修改
  • label的名字不能冲突
  • menu default只能有一个

在这里插入图片描述

3.6 配置ks.cfg文件

  • Kickstart的作用就是生成ks.cfg文件,使系统在安装时能自动选择选项或配置参数。
  • Kickstart只能在图形化界面中操作
  • 用户家目录下有个文件:anaconda-ks.cfg,同ks.cfg的原理相同,是记录了安装系统时选择的种种参数。
  • 直接修改该文件即可:
  • 注释行:#cdrom
  • 新增行:url --url=“http://10.0.0.203/kylin”
  • 在文件最后一行增加:reboot

在这里插入图片描述

4. PXE客户端

4.1 创建虚拟机,不放镜像

在这里插入图片描述

  • 内存设置大些,否则会报错。
  • 进入菜单选择界面时可以看自己设置的系统名称
  • 自动化安装系统,无需手动干预,一会再来看看就行。

5. 踩坑记录

1. PXE-E53:No boot filename received

在这里插入图片描述

  • 找不到网络引导文件:pxelinux.0
  • 多半是dhcp的配置文件或tftp未启动造成的

在这里插入图片描述

  • 之前多次打开dhcp的配置文件,造成了小故障
  • 按照(2)所写的删除该文件即可

在这里插入图片描述

  • 果然是配置文件异常,将#号去掉

在这里插入图片描述

  • 修改文件后要重启服务

2. Failed to load ldlinux.c32

在这里插入图片描述

  • 系统找到网络引导文件后,还需要配置文件

在这里插入图片描述

  • 将镜像文件中isolinux/*所有文件复制到该目录即可

3. warning :/dev/root does not exist

在这里插入图片描述

  • 系统准备安装系统了,但是找不到镜像文件

在这里插入图片描述

  • 在default文件中配置镜像文件的地址

4. http服务异常-Forbidden

在这里插入图片描述

  • http的目录下文件权限较少

在这里插入图片描述

5. pxe客户机安装一半卡住了-软件源未设置

在这里插入图片描述

在这里插入图片描述

  • 在ks.cfg文件中指定镜像地址即可,镜像文件中有所需安装包

6. pxe客户机安装系统到最后了,但是不自动重启系统

在这里插入图片描述

  • 直接在ks.cfg文件最后添加reboot

7. 客户机已禁用cpu

在这里插入图片描述

在这里插入图片描述

  • pxe客户机内容至少4g

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/80434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙NEXT开发动画案例4

1.创建空白项目 2.Page文件夹下面新建Spin.ets文件,代码如下: /*** TODO SpinKit动画组件 - 双粒子旋转缩放动画* author: CSDN-鸿蒙布道师* since: 2025/05/08*/ ComponentV2 export struct SpinFour {// 参数定义Require Param spinSize: number 36…

基于STM32、HAL库的CP2102-GMR USB转UART收发器 驱动程序设计

一、简介: CP2102-GMR是Silicon Labs公司生产的一款USB转UART桥接芯片,主要特点包括: 集成USB 2.0全速功能控制器 内置USB收发器,无需外部电阻 工作电压:3.0V至3.6V 支持的数据格式:数据位8,停止位1,无校验 最高支持1Mbps的波特率 内置512字节接收缓冲区和512字节发送…

Ubuntu 22虚拟机【网络故障】快速解决指南

Ubuntu22虚拟机突然无法连接网络了,以下是故障排除步骤记录。 Ubuntu 22虚拟机网络故障快速解决指南 当在虚拟机中安装的 Ubuntu 22 系统出现 ping: connect: 网络不可达 和 ping: www.baidu.com: 域名解析出现暂时性错误的报错时,通常意味着虚拟机无法…

实战springcloud alibaba

实战springcloud alibaba 前言 如何搭建一套最新的springcloud alibaba,以适配项目升级需求? 1.版本的选择 2.各组件的适配 3.新技术的敏感性 4.前瞻性,几年内不会被淘汰 参考资料:Spring Cloud Alibaba 参考文档 https://spring…

泰迪杯特等奖案例学习资料:基于卷积神经网络与集成学习的网络问政平台留言文本挖掘与分析

(第八届“泰迪杯”数据挖掘挑战赛A题特等奖案例深度解析) 一、案例背景与核心挑战 1.1 应用场景与行业痛点 随着“互联网+政务”的推进,网络问政平台成为政府与民众沟通的重要渠道。某市问政平台日均接收留言超5000条,涉及民生、环保、交通等20余类诉求。然而,传统人工…

DVWA靶场保姆级通关教程--06不安全验证机制

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 原理详解 1. 前后端验证逻辑不一致 2. 验证码值保存在客户端 3. 验证码可预测或重复 4. 验证码验证与逻辑解耦 一、处理关卡报错 二、low级别源…

【LeetCode Hot100 | 每日刷题】排序数组

912. 排序数组 - 力扣(LeetCode) 题目: 给你一个整数数组 nums,请你将该数组升序排列。 你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O(nlog(n)),并且空间复杂度尽可能小。 示例 1&…

Windows系统下使用Kafka和Zookeeper,Python运行kafka(二)

1.配置 Zookeeper 进入解压后的 Zookeeper 目录(例如 F:\zookeeper\conf),复制 zoo_sample.cfg 文件并命名为 zoo.cfg(如果 zoo.cfg 已经存在,则直接编辑该文件)。 打开 zoo.cfg 文件,配置相关…

Web 自动化之 HTML JavaScript 详解

文章目录 一、HTML 常用标签二、javascript 脚本1、什么是 javascript(js)2、 js变量和函数3、js 弹窗处理4、js 流程控制语句和 switch 结构语句应用 一、HTML 常用标签 HTML:超文本标记语言 超文本:不仅只包含文字,还有超链接、视频…这些…

el-date-picker的type为daterange时仅对开始日期做限制

文章目录 前言绣球html代码一、正确代码二、错误代码 前言绣球 需求是这样的,开始日期需要限制只能选择今天的日期,结束日期只能选择今天之后的日期。结束日期很常见,但是单纯限制开始日期,还是蛮少见的,尤其是datera…

观测云:安全、可信赖的监控观测云服务

引言 近日,“TikTok 遭欧盟隐私监管机构调查并处以 5.3 亿欧元”一案,再次引发行业内对数据合规等话题的热议。据了解,仅 2023 年一年就产生了超过 20 亿美元的 GDPR 罚单。这凸显了在全球化背景下,企业在数据隐私保护方面所面临…

认识中间件-以及两个简单的示例

认识中间件-以及两个简单的示例 什么是中间件一个响应处理中间件老朋友 nest g如何使用为某个module引入全局引入编写逻辑一个日志中间件nest g mi 生成引入思考代码进度什么是中间件 官方文档 中间件是在路由处理程序之前调用的函数。中间件函数可以访问请求和响应对象,以及…

基于Flask、Bootstrap及深度学习的水库智能监测分析平台

基于Flask、Bootstrap及深度学习的水库智能监测分析平台 项目介绍 本项目是基于Flask框架构建的水库智能监测分析平台,集水库数据管理、实时监测预警、可视化分析和智能预测功能于一体。 预测水位的预警级别:蓝色预警没有超过正常水位且接近正常水位1米…

springboot生成二维码到海报模板上

springboot生成二维码到海报模板上 QRCodeController package com.ruoyi.web.controller.app;import com.google.zxing.WriterException; import com.ruoyi.app.domain.Opportunity; import com.ruoyi.app.tool.QRCodeGenerator; import com.ruoyi.common.core.page.TableDat…

如何使用极狐GitLab 软件包仓库功能托管 maven?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 软件包库中的 Maven 包 (BASIC ALL) 在项目的软件包库中发布 Maven 产物。然后,在需要将它们用作依赖项时安装它…

企业如何将钉钉付款单高效集成到金蝶云星空?

钉钉数据集成到金蝶云星空:修改下推的付款单③ 在企业信息化系统中,数据的高效流转和准确对接是实现业务流程自动化的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将钉钉中的付款单数据无缝集成到金蝶云星空系…

python 实现文件批量重命名

以下是使用Python实现文件批量重命名的示例代码。该代码可以将指定目录下的文件按照一定规则进行重命名,这里以将文件重命名为带有编号的文件名为例: import osdef batch_rename(directory):if not os.path.isdir(directory):print(

Pandas学习笔记(四)

DataFrame对象 文章目录 DataFrame对象导入本文需要的包DataFrame与Series的相似之处使用read_csv函数导入DataFrameSeries和DataFrame的共享与专有属性Series和DataFrame的共有方法 对DataFrame进行排序按照单列进行排序按照多列进行排序按照索引进行排序对列索引进行排序 设置…

DA14585墨水屏学习(2)

一、user_svc2_wr_ind_handler函数 void user_svc2_wr_ind_handler(ke_msg_id_t const msgid,struct custs1_val_write_ind const *param,ke_task_id_t const dest_id,ke_task_id_t const src_id) {// sprintf(buf2,"HEX %d :",param->length);arch_printf("…

树莓派5+Ubuntu24.04 LTS串口通信 保姆级教程

【背景】 各位,除了树莓派4B之外,我又搞了个树莓派5, 装的也是Ubuntu24.04 LTS服务器版。装系统的方法跟树莓派4B一样,没什么好说的。装完了系统之后,我就想装个wiringPi来试试串口,却发现这个树莓派5的串口和树莓派4…