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. SpringBoot 逻辑异常统一处理

    构建项目 我们将逻辑异常核心处理部分提取出来作为单独的jar供其他模块引用,创建项目在parent项目pom.xml添加公共使用的依赖,配置内容如下所示: <dependencies> & ...

  2. Pandas | 17 缺失数据处理

    数据丢失(缺失)在现实生活中总是一个问题. 机器学习和数据挖掘等领域由于数据缺失导致的数据质量差,在模型预测的准确性上面临着严重的问题. 在这些领域,缺失值处理是使模型更加准确和有效的重点. 使用重构 ...

  3. nodejs sql --- 添加事务

    添加事务 let transaction; try { transaction = await this.ctx.model.transaction(); await this.ctx.model.C ...

  4. 前端技术之:如何运行使用了ES(import)的node程序

    方式一: 在package.json文件的scripts域中,配置以下的命令:   "start": "cross-env NODE_ENV=dev node -r es ...

  5. python中PIL模块

    Image模块 Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内.如open.save.conver.show-等功能. open类 Image ...

  6. [2018-06-27] virtualenv

    在开发Python应用程序的时候,系统安装的Python只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这些 ...

  7. [2018-03-08] virtualenv

    virtualenv 的有点 1.使不同应用开发环境独立 2.环境升级不影响其他应用,也不会影响全局的python环境 3.它可以防止系统中出现包管理混乱和版本的冲突 新建    virtualenv ...

  8. NOIP模拟 20

    来自liu_runda的善意 T1 周 究级难题,不可做,咕了. T2  任 他为什么总强调没环啊? 他为什么总强调没环啊? 他为什么总强调没环啊? ...... QAQ 因为他总是棵树,所以点的数量 ...

  9. 【并发编程】ThreadLocal其实很简单

    什么是ThreadLocal ThreadLocal有点类似于Map类型的数据变量.ThreadLocal类型的变量每个线程都有自己的一个副本,某个线程对这个变量的修改不会影响其他线程副本的值.需要注 ...

  10. 获取Centos的Docker CE

    Docker文档 Docker提供了一种在容器中运行安全隔离的应用程序的方法,它与所有依赖项和库打包在一起. 获取Centos的Docker CE 一.OS要求 要安装Docker Engine-Co ...