PXE无人值守安装(自动安装!)


前言

如今电脑变得越来越多,装机也变得麻烦了起来,今天这篇文章就解决了装机问题!可以自动安装多个机器。


一、配置

1.网络装机

网络装机的优势
• 规模化:同时装配多台主机
• 自动化:装系统、配置各种服务
• 远程实现:不需要光盘、U盘等物理安装介质

• 需要哪些服务组件?
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务,提供yum安装源

2.主机配置

1.设置ip 192.168.4.5
2.配置yum源挂载点为/dvd
3.关闭防火墙与selinux

二、部署DHCP服务器

1.原理

• Dynamic Host Configuration Protocol
– 动态主机配置协议,由 IETF(Internet 网络工程师任务小组)组织制定,用来简化主机地址分配管理:

• 主要分配以下入网参数
– IP地址/子网掩码/广播地址
– 默认网关地址、DNS服务器地址

原理:广播进行,先到先得(一个网络中只能有一个DHCP)
• DHCP地址分配的四次会话
– DISCOVERY --> OFFER --> REQUEST -->ACK

• 服务端基本概念
– 租期:允许客户机租用IP地址的时间期限,单位为秒
– 作用域:分配给客户机的IP地址所在的网段
– 地址池:用来动态分配的IP地址的范围

2.操作

1.装包dhcpd
2.修改配置文件/etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 {
  range 192.168.4.100 192.168.4.200;
  option domain-name-servers 192.168.4.5;
  option routers 192.168.4.254;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.4.5;#指定下一个服务器地址
  filename "pxelinux.0";#指定网卡引导文件名称
}
3.重启dhcpd

注:读取配置文件方便修改(无需手打)
在这里插入图片描述

二.部署pxe

1.原理

PXE网络
• PXE,Pre-boot eXecution Environment
– 预启动执行环境,在操作系统之前运行
– 可用于远程安装

• 工作模式
– PXE client 集成在网卡的启动芯片中
– 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行

• 客户机应具备的条件
– 网卡芯片必须支持PXE协议
– 主板支持从网卡启动

1.装包tftp-server
2.部署pxelinux.0
# yum -y install syslinux-4.05-13.el7.x86_64
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 
3.部署菜单文件
# mkdir /var/lib/tftpboot/pxelinux.cfg
# ls /var/lib/tftpboot/
# cp /dvd/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default
4.部署图形模块(vesamenu.c32)与背景图片(splash.png)
# cp /dvd/isolinux/vesamenu.c32 /dvd/isolinux/splash.png  /var/lib/tftpboot/
5.部署启动内核(vmlinuz)与驱动程序(initrd.img)
# cp /dvd/isolinux/vmlinuz /dvd/isolinux/initrd.img /var/lib/tftpboot/
6.全部文件
# ls /var/lib/tftpboot/
initrd.img  pxelinux.cfg  vesamenu.c32
pxelinux.0  splash.png    vmlinuz
7.修改菜单文件
# vim /var/lib/tftpboot/pxelinux.cfg/default
1 default vesamenu.c32    #默认加载图形模块
2 timeout 600             #默认读秒时间 1/10
10 menu background splash.png       #背景图片
11 menu title NSD1905 PXE Server !  #标题显示
61 label linux
62 menu label Install CentOS 7.5   #菜单显示的内容  
63 menu  default                  #读秒结束后默认选择
64 kernel vmlinuz                  #加载启动内核
65 append initrd=initrd.img        #加载驱动程序

重启dhcpd服务与tftp服务

[root@svr7 ~]# systemctl restart tftp
[root@svr7 ~]# systemctl status tftp

[root@svr7 ~]# systemctl restart dhcpd
[root@svr7 ~]# systemctl status dhcpd

三.部署http

1.原理

原理:提供yum安装源

1.装包 httpd
2.
[root@svr7 ~]# mkdir /var/www/html/centos
[root@svr7 ~]# mount /dev/cdrom  /var/www/html/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 ~]# systemctl restart httpd
[root@svr7 ~]# firefox 192.168.4.5/centos #验证是否成功

四、部署无人值守安装,生成应答文件

1.装包
system-config-kickstart 
2.配置yum源
[root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo 
[development]
name=CentOS7.5
baseurl=ftp://192.168.4.5/centos
enabled=1
gpgcheck=0
3.开启
system-config-kickstart #点击 "软件包选择(Package Selection)" 查看是否可以进行选择
4.图形界面操作 (如下图)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

保存文件到root下
在这里插入图片描述

[root@svr7 ~]# cp /root/ks.cfg /var/www/html/
[root@svr7 ~]# ls /var/www/html/
centos  ks.cfg
修改菜单文件指定应答文件的位置:
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
label linux
menu label  Install CentOS 7.5
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.4.7/ks.cfg

五、总结

1.新建机器验证

在这里插入图片描述

2.全部步骤

1.dhcp—>IP地址 next-server filename
2.tftp—>pxelinux.0
3.pxelinux.0—>菜单文件default
4.default—>图形模块 背景图片 内核 驱动程序 ks.cfg
5.ks.cfg—> …分区 软件包选择
–url=“http://192.168.4.5/centos”


总结

本篇文章主要介绍了pxe无人值守安装,希望对大家有所帮助!

<think>好的,用户想了解PXE无人值守安装Ubuntu,我需要先回忆相关知识,确保信息准确。PXE是通过网络启动安装操作系统,不需要物理介质,适合批量部署。首先得明确PXE的工作原理,需要DHCP、TFTP和HTTP/FTP/NFS服务器。然后步骤大概包括配置这些服务,准备Ubuntu的安装文件,设置自动应答文件preseed.cfg。 用户可能不太熟悉这些组件的作用,需要逐一解释。DHCP负责分配IP并告知客户端TFTP服务器地址,TFTP提供引导文件,HTTP等用于存放安装源。然后需要安装和配置这些服务,比如在Ubuntu上安装isc-dhcp-server、tftpd-hpa,配置dhcpd.conf,指定next-server和filename。 接下来是准备Ubuntu的镜像,可能需要挂载ISO,复制内核和initrd到TFTP目录,还要配置网络安装源,比如使用Nginx或Apache托管镜像文件。然后自动应答文件preseed.cfg是关键,确保无人值守,需要正确配置语言、分区、用户设置等。可能需要指导用户如何生成或修改这个文件,或者提供示例。 还要考虑不同版本的Ubuntu可能有些配置差异,比如引导文件的路径或preseed的选项。可能得提醒用户根据实际情况调整。另外,防火墙设置和权限问题也是常见的坑,需要确保端口开放,文件权限正确。 用户可能是系统管理员,想要自动化安装多台机器,所以步骤的详细和准确性很重要。可能还需要测试环境,比如用虚拟机验证配置是否正确。最后,总结整个流程,帮助用户理清步骤,确保他们能逐步实施。</think>PXE(Preboot eXecution Environment)无人值守安装Ubuntu是一种通过网络自动部署操作系统的技术,适用于批量安装场景。以下是关键步骤和原理说明: --- ### 一、PXE工作原理 1. **网络启动**:客户端从网卡PXE ROM启动,通过DHCP获取IP地址和TFTP服务器地址。 2. **下载引导文件**:客户端从TFTP服务器获取引导文件(如`pxelinux.0`)。 3. **加载内核**:通过TFTP下载Linux内核(`vmlinuz`)和初始化内存盘(`initrd`)。 4. **自动化安装**:使用预设文件(`preseed.cfg`)自动完成安装配置。 --- ### 二、服务端配置(Ubuntu Server为例) #### 1. 安装必要组件 ```bash sudo apt update sudo apt install -y isc-dhcp-server tftpd-hpa nginx syslinux-common ``` #### 2. 配置DHCP服务器 编辑`/etc/dhcp/dhcpd.conf`: ```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; option domain-name-servers 8.8.8.8; filename "pxelinux.0"; next-server 192.168.1.10; # TFTP服务器IP } ``` 重启服务: ```bash sudo systemctl restart isc-dhcp-server ``` #### 3. 配置TFTP服务器 复制引导文件: ```bash sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg sudo cp /usr/lib/syslinux/modules/bios/{ldlinux.c32,libutil.c32,vesamenu.c32} /var/lib/tftpboot/ sudo cp /usr/lib/syslinux/modules/bios/pxelinux.0 /var/lib/tftpboot/ ``` 创建引导菜单`/var/lib/tftpboot/pxelinux.cfg/default`: ```plaintext DEFAULT vesamenu.c32 PROMPT 0 TIMEOUT 50 LABEL Ubuntu Auto Install KERNEL ubuntu-installer/amd64/linux APPEND initrd=ubuntu-installer/amd64/initrd.gz auto=true url=http://192.168.1.10/preseed.cfg quiet ``` #### 4. 准备安装文件 挂载Ubuntu ISO并复制内核: ```bash sudo mount -o loop ubuntu-22.04.4-live-server-amd64.iso /mnt sudo cp -r /mnt/casper/{vmlinuz,initrd} /var/lib/tftpboot/ubuntu-installer/amd64/ sudo umount /mnt ``` #### 5. 配置HTTP服务器(Nginx) 托管ISO和preseed文件: ```bash sudo mkdir -p /var/www/html/ubuntu sudo cp ubuntu-22.04.4-live-server-amd64.iso /var/www/html/ubuntu/ ``` 创建`preseed.cfg`(示例片段): ```plaintext d-i debian-installer/locale string en_US d-i keyboard-configuration/xkb-keymap select us d-i netcfg/choose_interface select auto d-i mirror/http/hostname string archive.ubuntu.com d-i mirror/http/directory string /ubuntu d-i clock-setup/utc-auto boolean true d-i partman-auto/disk string /dev/sda d-i partman-auto/method string lvm d-i partman-lvm/confirm boolean true d-i partman-auto-lvm/guided_size string max ``` --- ### 三、客户端操作 1. 进入BIOS设置网络启动为首选项 2. 启动后自动加载PXE菜单并开始安装 --- ### 四、注意事项 1. **网络隔离**:建议在独立网络环境操作,避免DHCP冲突 2. **版本匹配**:确保preseed配置与Ubuntu版本兼容 3. **日志排查**:通过`tail -f /var/log/syslog`监控安装过程 --- 通过上述配置,可实现完全自动化的Ubuntu网络安装,适用于数据中心或实验室批量部署场景。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值