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.pswp.cn/pingmian/80434.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80434.shtml
英文地址,請注明出處:http://en.pswp.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…