当前位置: 首页 > news >正文

虚拟机如何使用pxe服务实现自动安装系统

一、前提

服务机为rhel7.9

因为我们需要虚拟机为服务器来给要安装系统的虚拟机分配IP

所以要先将VMWare的NAT模式的DHCP自动分配取消,如图:

yum install httpd -y

systemctl enable --now httpd

二、基于HTTP协议的PXE服务器

1、首先需要进入图形化界面:

如果安装的是图形化界面:

使用init 5或者startx,就可以进入图形化界面了

如果是最小化界面,就需先安装图形化界面:

# yum -y groupinstall "Server with GUI"

2、dhcp服务构建

vim /etc/dhcp/dhcpd.conf

# option definitions common to all supported networks...
option domain-name "timingzpy.org";
option domain-name-servers 114.114.114.114;

default-lease-time 600;
max-lease-time 7200;

log-facility local7;

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}

# This is a very basic subnet declaration.(配置文件)

subnet 172.25.254.0 netmask 255.255.255.0 { (整个网段)
  range 172.25.254.30 172.25.254.40;        (DHCP分配地址)
  option routers 172.25.254.2;        (网关)
  next-server 172.25.254.100;        (本机IP地址)
  filename "pxelinux.0";        (默认写法)
}

systemctl enable --now dhcpd

3、设置自动生成kickstart自动安装脚本工具

# yum install system-config-kickstart -y

通过 system-config-kickstart 命令可实现自定义配置。

image-20240804100741693

上图选项的意义:系统语言,键盘,时区,密码,是否在ks文件中显示加密,CPU架构,安装完成后是否重启,安装时是否开启图形

image-20240804101141727

image-20240804101207448

创建一个软连接ln -s /rhel7/ /var/www/html/

image-20240804101410066

image-20240804101515469

 

b5614e2874dc99d31b03d074c98553e

image-20240804101945901

image-20240804102033567

image-20240804102048024

image-20240804102346958

mkdir -p /rhel7echo mount /dev/cdrom /rhel7 >>/etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.localPost-Installation Script
cat > /etc/yum.repos.d/rhel7.repo <<EOF
[rhel7]
name=rhel7
baseurl=file:///rhel7
gpgcheck=0
EOFyum install gcc -y

最后点击File ,save

保存到桌面、root

ks.cfg

这样就配置完成了

image-20240804102531653

vim ks.cfg

@base:软件组

httpd:软件包

有问题的话:

可使用 ksvalidator ks.cfg 检查语法问题

image-20240804113936060

cp /root/ks.cfg /var/www/html

安装DHCP服务为其他服务器提供分配IP的功能
yum install dhcp -y
rpm -qc dhcp

生成配置文件

\cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

三、配置PXE引导程序

共享pxelinux.0数据文件的网络服务
yum install syslinux.x86_64 -y
systemctl enable --now tftp
cp /rhel7/isolinux/* /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp isolinux.cfg pxelinux.cfg/default

 vim /var/lib/tftpboot/pxelinux.cfg/default

 四、测试

创建一台虚拟机,并以“打开电源时进入固件”的方式进入

回车

后续就等虚拟机自动加载了,当重新回到这个页面时,就需要关闭虚拟机。

不然就会一直重复下载环境

 后再以“打开电源时进入固件”的方式进入

回车后,就可以看见配置好的环境了。

如果后车后,一直未加载出来,就是ks.crg文件有问题

看看这一条命令对不对bootloader --location=mbr(指明MBR路径,引导媒介)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【深度学习实战(52)】混淆矩阵计算
  • HCIE-Datacom题库__填空题
  • 基于Orangepi全志H616学习Python3
  • ValueListenableBuilder 和 addListener 在 ChangeNotifier的区别
  • 基于LoRA和AdaLoRA微调Qwen1.5-0.5B-Chat
  • 每日一练 | Day 4
  • 逆向API接口加解密技术解析归纳
  • sais复杂推理能力评估笔记(一):baseline简介
  • 《亿级流量系统架构设计与实战》第二章 通用的高并发架构设计
  • jmeter 重试机制
  • 抽象代数精解【5】
  • 基于配置实现RoaringBitMap的交、差、并集处理
  • JavaSE第11篇:设计模式
  • Servlet(2)
  • C语言 | Leetcode C语言题解之第321题拼接最大数
  • 《Java编程思想》读书笔记-对象导论
  • 2017前端实习生面试总结
  • Facebook AccountKit 接入的坑点
  • Java程序员幽默爆笑锦集
  • JS基础之数据类型、对象、原型、原型链、继承
  • KMP算法及优化
  • Laravel 实践之路: 数据库迁移与数据填充
  • MySQL主从复制读写分离及奇怪的问题
  • Spark学习笔记之相关记录
  • Webpack入门之遇到的那些坑,系列示例Demo
  • yii2中session跨域名的问题
  • 复杂数据处理
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 码农张的Bug人生 - 见面之礼
  • 每天一个设计模式之命令模式
  • 如何优雅地使用 Sublime Text
  • 手机端车牌号码键盘的vue组件
  • 手写双向链表LinkedList的几个常用功能
  • 小程序01:wepy框架整合iview webapp UI
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​ubuntu下安装kvm虚拟机
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (11)MATLAB PCA+SVM 人脸识别
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Forward) Music Player: From UI Proposal to Code
  • (javaweb)Http协议
  • (k8s中)docker netty OOM问题记录
  • (超详细)语音信号处理之特征提取
  • (初研) Sentence-embedding fine-tune notebook
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (删)Java线程同步实现一:synchronzied和wait()/notify()