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. 第二篇:版本控制git之分支

    有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量, ...

  2. yii2中commands的简单应用

    class HelloController extends Controller { /** * This command echoes what you have entered as the me ...

  3. 使用Bind提供域名解析服务(反向解析)

    小知识: 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名 ...

  4. SSH隧道的使用

    合作部门提供的 redis 集群,kafka 集群,限制条件:无 vpn,仅能通过特定跳板机(无 root 权限)连接调试开发. 想要实现:本地开发连接其 redis 集群,kafka 集群进行开发调 ...

  5. [python]一些常用的python知识总结

    Pthon知识积累,遇到的各种python问题汇总 json.dumps()和json.loads()是json格式处理函数 json.dumps()函数是将一个Python数据类型列表进行json格 ...

  6. [考试反思]0901NOIP模拟测试34:游离

    又是放假回来的收心考.幸而熬了夜回来也不至于很困(虽说第二天早上困成狗...) 说分数吧: skyhAK300,后面有220,220,220,190,190,180 我170,排第8.凑合,其实不太满 ...

  7. PyCharm安装及使用教程

    1  PyCharm下载 PyCharm的下载安装非常简单,可以直接到Jetbrains公司官网下载,具体步骤如下: (1)打开Pycharm官网http://www.jetbrains.com,选择 ...

  8. Java 博客系统 Tale

    Tale Tale的英文含义为故事,我相信每个坚持写Blog的人都是有故事的:中文你叫它 塌了 也无所谓 . Tale 使用了轻量级mvc框架 Blade 开发,默认主题使用了漂亮的 pinghsu, ...

  9. 重写(OverRide)/重载(Overload)

    方法的重写规则 参数列表必须完全与被重写方法的相同: 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同): ...

  10. Spring简单的示例

    参考资料:https://how2j.cn/k/spring/spring-ioc-di/87.html.https://www.w3cschool.cn/wkspring/dgte1ica.html ...