PXE是一种电脑无盘(即没有硬盘)技术。 预启动执行环境(PXE)指的是那些使得IBM兼容计算机(经常是运行Windows系统)不需要硬盘或是启动软盘就能启动的方法。

通俗点讲就是配置好PXE以后可以同时多台机器安装系统;

1.先配置网卡

(1)ip add 查看网卡配置信息

vi /etc/sysconfig/network-scripts/网口

(2)改成BOOTPROTO=static

ONBOOT=yes

(3)添加上 ip 子网掩码 网关 DNS

在另外一个网口配置上 ip 掩码就行

2.安装ftp服务

yum install -y vsftpd

3.提供操作系统镜像文件

mount /dev/cdrom /var/ftp/pub/

4.启动ftp服务

systemctl start vsftpd

systemctl enable vfstpd

5.安装dnsmasq软件包

yum install dnsmasq

6.配置dnsmasq

vi /etc/dnsmasq.conf 主要去掉以下注释

bogus-priv

filterwin2k

interface=eth0

dhcp-range=192.168.0.50,192.168.0.100,12h(这里是你配置内网IP的网段)

dhcp-boot=pxelinux.0

enable-tftp

tftp-root=/var/tftp

dhcp-authoritative

  1. 创建tftp根目录

mkdir /var/tftp

  1. 启动dnsmasq

(1)systemctl start dnsmasq

systemctl start dnsmasq

(2)查看 dnsmasq是否启动

systemctl status dnsmasq

  1. 从iso中拷贝内核镜像和文件系统镜像

(1)拷贝文件系统镜像

cp /var/ftp/pub/images/pxeboot/initrd.img /var/tftp

(2)拷贝内核镜像文件

cp /var/ftp/pub/images/pxeboot/vmlinuz /var/tftp

  1. 生成PXE启动文件pxelinux.0

(1)安装pxelinux.0 所需要的包

yum install -y syslinux

(2)查询文件所在目录

rpm -ql syslinux | grep pxelinux.0

(3)拷贝pxelinux.0文件到tftp根目录

cp /usr/share/syslinux/pxelinux.0 /var/tftp/

  1. 准备默认的菜单配置文件

(1)创建pxelinux.cfg目录,固定目录名称

mkdir /var/tftp/pxelinux.cfg/

(2)default 文件,必须为这个名称

vi /var/tftp/pxelinux.cfg/default

(3)编辑如下

default linux

prompt 1

timeout 60

display boot.msg

label linux

kernel vmlinuz

append initrd=initrd.img text ks=ftp://192.168.(内网IP)/ks.cfg

  1. 拷贝 ks.cfg文件到FTP目录

cp /root/anaconda-ks.cfg /var/ftp/ks.cfg

  1. 把var里的ks.cfg文件提权

chmod +r /var/ftp/ks.cfg

  1. 在ks.cfg里修改部分信息

vi /var/ftp/ks.cfg

修改一下信息:#version=DEVEL

# System authorization information

auth --enableshadow --passalgo=sha512

# Use CDROM installation media

install

url --url=ftp://192.168.0.3/pub/ # 需要指定安装方式通���ftp来下载安装操作系统

# Use graphical install

graphical

# Run the Setup Agent on first boot

firstboot --enable

ignoredisk --only-use=sda

# Keyboard layouts

keyboard --vckeymap=us --xlayouts='us'

# System language

lang en_US.UTF-8

# Network information

network --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate

network --hostname=localhost.localdomain

# Root password

rootpw --iscrypted $6$LK7yftVlSa2zcGia$4loHYYWZUosdWvZA7Qzf.0lhmrcD5n26BK1xWm7QCNBdbBSjC7MK7yAYRvmIXGI8wu.t96jo6m8RRmNyjsKY60

# System services

services --disabled="chronyd"

reboot

# System timezone

timezone Asia/Shanghai --isUtc --nontp

# System bootloader configuration

bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda

autopart --type=lvm

# Partition clearing information

clearpart --all --initlabel --drives=sda

...............................

  1. 客户端验证pxe启动

备注(需要关闭防火墙命令:“systemctl stop firewalld.service”并且永久关闭防火墙:“systemctl disable firewalld.service”)

验证成果,完成。

使用centos7安装PXE教程的更多相关文章

  1. centos7命令行和图形界面的相互切换(附centos7安装配置教程)

    一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...

  2. centos7安装codeblocks教程

    author:lidabo 装了好多次系统,每次装的时候都有要在网上各种查,太麻烦了.所以决定记录一下,以后用到的时候会方便一些.当然,本文来源于网络,取百家之长,最重要的是本人已验证过,说明对本系统 ...

  3. centos7安装ambari教程

    ambari版本 :2.4.2 (不过各版本安装过程没啥差异) 目录: 为什么要用Ambari 概念概述 版本信息 原理简介 安装 创建集群 创建集群 手动修改配置 NameNode HA 安装Sma ...

  4. Centos7安装mysql8教程

    网上的教程很多,我也参考了很多,以下是我实践的步骤,真实有效. 1.配置Mysql 8.0安装源: sudo rpm -Uvh https://dev.mysql.com/get/mysql80-co ...

  5. CentOS7安装jdk教程

    引言Oracle JDK和OpenJDK的简单介绍Oracle JDK是基于Java标准版规范实现的,以二进制产品的形式发布.它支持多种操作系统,如Windows,Linux,Solaris,MacO ...

  6. CentOS7安装MinIO教程,并在C#客户端WPF中实现监控上传进度

    MinIO的详细介绍可以参考官网(https://min.io/product/overview). 简单来说它是一个实现了AWS S3标准的100%开源的,可商用的( Apache V2 licen ...

  7. Centos7安装Oracle12c教程

    12c数据库 创建oracle的系统用户和用户组 [root@localhost /]# groupadd oinstall [root@localhost /]# groupadd dba [roo ...

  8. Centos7 安装mysql教程

    参考原文:http://www.centoscn.com/mysql/2016/0315/6844.html 环境 CentOS 7.1 (64-bit system) MySQL 5.6.24 Ce ...

  9. centos7 安装步骤

    这里选择64位 32位没有找到网卡... 注:这里是网络类型分配,网络类型分配分为三种,Bridge,NAT和Host-Only,大概区别是 1 BRIDGE  桥接:相当于主机和虚拟机连接到同一个h ...

随机推荐

  1. Connection activation failed Device not managed by NetworkManager

    1)查看NetworkManager服务是否启动 ps aux |grep NetworkManager 使用service NetworkManager start 命令启动该网络管理程序 2) 一 ...

  2. redis is configured to save RDB snapshots

    Redis被配置为保存数据库快照,但它目前不能持久化到硬盘.用来修改集合数据的命令不能用 原因: 强制关闭Redis 快照导致不能持久化. 解决方法: 运行 config set stop-write ...

  3. abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理七(二十五)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  4. Flask:Flask-script插件

    Flask-Script插件扩展提供向Flask插入外部脚本的功能,包括一个开发用的服务器,一个定制的python shell,设置数据库的脚本,cronjobs,及其它运行在web应用之外的命令行任 ...

  5. SpringBoot集成JWT实现权限认证

    目录 一.JWT认证流程 二.SpringBoot整合JWT 三.测试 上一篇文章<一分钟带你了解JWT认证!>介绍了JWT的组成和认证原理,本文将介绍下SpringBoot整合JWT实现 ...

  6. NOIP模拟 28

    果然昨天和别人合照丢的脸今天都加进RP里了 T3是用了dp快速幂(???),T1,T2考试的时候把想法都写注释了. T1: #include<cstdio> using namespace ...

  7. 原生JS实现call,apply,bind函数

    1. 前言 使用原生JS实现call和apply函数,充分了解其内部原理.call和apply都是为了解决改变this的指向.作用都相同,只是传参的方式不同.除了第一个参数外,call可以接受一个参数 ...

  8. php PDO getlastsql写法

    php PDO getlastsql写法有些时候 运行失败需要查看 sql语句 原型有没有语法错误 这个时候就用 下面的函数就是把问号替换成 值 就可以看到原型了<pre>function ...

  9. php编辑器notepad++ 推荐一款非常好看主题和字体

    php编辑器notepad++ 推荐一款非常好看主题和字体1.主题名称:Obsidian 2.字体字号:Courier New 10 3.设置方法:设置---语言格式设置---选择主题,同时勾选“使用 ...

  10. Linux下mysql 多实例安装配置

    首先我们要清楚什么是多实例?所谓多实例就是用多个配置文件来启动多个不同端口的进程,以不同的端口的形式为外提供服务.明白了多实例 我们下面的操作和配置就一目了然了首先我们要安装一套基础的应用程序,也就是 ...