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. Linux Cannot allocate memory问题

    查找了一下相关文档,发现这个错误的含义其实就是像它自己说的,没法分配内存了. The problem is inherent with the way Java allocates memory wh ...

  2. access 2013下载 access 2010下载 access 2007下载 Access 2003下载 安装交流的论坛

    在网上搜索了一个access 2013下载 access 2010下载 access 2007下载 Access 2003下载 安装交流的论坛 office安装的常见问题: http://www.of ...

  3. git log 附加命令归纳

    git查看历史记录的时候查看每次提交的内容差异: git log -p git限制显示的条数 : git log -p -2 [-2] git简单显示每次提交做了哪些改动: git log --sta ...

  4. python中str.isdigit()用法

    str.isdigit()中只包含数字返回true,包含其它则返回false

  5. Django学习day5——创建app

    app应用与project项目的区别 一个app实现某个功能,比如博客.公共档案数据库或者简单的投票系统 一个project是配置文件和多个app的集合,这些app组合成整个站点 一个project可 ...

  6. [考试反思]NOIP模拟测试19:洗礼

    []260 []230[]210 []200[8]170[9]160 这套题一般,数据很弱,T1T2暴力都能A,而且都是一些思维题,想不到就爆0. 原因不明,很多一直很强的人在这一次滑铁卢了,于是我个 ...

  7. 『题解』BZOJ3172 [TJOI2013]单词

    原文地址 Problem Portal Portal1:BZOJ Portal2:Luogu Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想 ...

  8. python经典面试算法题4.1:如何找出数组中唯一的重复元素

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. [百度面试题] 难度系数:⭐⭐⭐ 考察频率:⭐⭐⭐⭐ 题目描述 ...

  9. python基础-匿名函数和内置函数

    匿名函数和内置函数 匿名函数:没有名字,使用一次即被收回,加括号就可以运行的函数. 语法:lambda 参数:返回值 使用方式: 将匿名函数赋值给变量,给匿名函数一个名字,使用这个变量来调用(还不如用 ...

  10. python模块——socket

    实例一. server: #socket套接字(IP + 端口号)(qq,wechat 发送接收消息依靠socket模块),cs架构import socketserver = socket.socke ...