原理:

PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网络引导。

DHCP服务器:用来动态分配IP地址(同时分配子网掩码、网关、TFTP服务器地址、启动文件名、DNS服务器、时间服务器等等)。

TFTP服务器:用来提供启动文件的下载

安装环境:虚拟机CentOS7.0中搭建PXE服务器

使用模式:仅主机模式

1.安装与配置tftp服务器

#yum install tftp-server   -y
#vim  /etc/xinetd.d/tftp

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot     ###设置主目录   -c为指定为可以创建文件
disable = yes      ###将disable的值改为no
per_source = 11
cps = 100 2
flags = IPv4
}

默认的根目录:/var/lib/tftpboot
启动tftp服务:systemctl restart tftp.service

验证一下TFTP是否起来了:

# netstat -nlp | grep 69

出现下面的信息代表已经启动了

udp        0      0 0.0.0.0:69                  0.0.0.0:*

2.tftp的根目录需要放置网络

1、引导文件pxelinux.0

#yum install syslinux -y
#rpm -qa |grep syslinux       找到程序的安装包
#rpm -ql syslinux-4.05-12.el7.x86_64     通过安装包查询pexlinux.0文件目录为/usr/share/syslinux#cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/      将pexlinux.0文件复制到tftp根目录

2、配置文件(必须要在同级目录下创建pxelinux.cfg/default)

#mkdir /var/lib/tftpboot/pxelinux.cfg
#vim /var/lib/tftpboot/pxelinux.cfg/default     该文件可以使用光盘中的isolinux.cfg文件来当模板,这个启动菜单很重要#cat isolinux.cfg >/var/lib/tftpboot/pxelinux.cfg/default

修改位置  vim  /var/lib/tftpboot/pxelinux.cfg/default

label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img inst.ks=192.168.100.34/ks.cfg quiet

3、将光盘下的引导文件复制到TFTP根目录

#cp /media/cdrom/isolinux/*  /var/lib/tftpboot/

[root@localhost tftpboot]# ll -ht
总用量 85M
drwxr-xr-x. 3 root root   20 4月  28 03:04 pxelinux.cfg    //该文件夹下放的是启动菜单,手动创建
-r-xr-xr-x. 1 root root 5.0M 4月  28 03:02 vmlinuz         //内核文件
-r--r--r--. 1 root root 150K 4月  28 03:02 vesamenu.c32    //legacy BIOS引导菜单工具,可以从光盘或 /usr/share/syslinux/ 中找到
-r--r--r--. 1 root root  37M 4月  28 03:02 initrd.img      //这是一个初始化文件,一个最小的系统镜像
-rw-r--r--. 1 root root  27K 4月  28 02:56 pxelinux.0      //这文件是为legcay启动,它是legcay的启动镜像

  

 3.DHCP服务

#yum install dhcp -y
#vim /etc/dhcp/dhcpd.conf

  

subnet 192.168.100.0 netmask 255.255.255.0{

           range 192.168.100.30 192.168.100.50;
           next-server 192.168.100.34;
           filename "pxelinux.0";
}

#systemctl restart dhcpd.service   重启服务

 

4.ftp服务

#yum install vsftpd  -y
默认的根目录:/var/ftp
将光盘挂载到/var/ftp/pub目录

 在var/ftp 目录下创建ks.cfg文件

ks.cfg内容url  --url="ftp://192.168.100.134/pub"
timezone  Asia/Shanghai
keyboard  'us'
lang      en_US.UTF-8   --addsupport=zh_CN.UTF-8
part  /boot   --fstype="xfs"   --size=800
part  /       --fstype="xfs"   --size=10000
zerombr
bootloader  --location=mbr
%packages
@core
%end

  

 最后将DHCP,TFTP,vsftp服务都重启一下,关闭防火墙,开另一台新虚拟机进行安装(主机模式)

转载于:https://www.cnblogs.com/centos7/p/6775877.html

Linux下通过PXE服务器安装Linux系统相关推荐

  1. Linux 下 Memcached 缓存服务器安装配置

    Linux 下 Memcached 缓存服务器安装配置 [日期:2011-08-06] 来源:Linux社区  作者:Linux [字体:大 中 小] [安装Memcache服务器端] 我目前的平台, ...

  2. 查看linux的用户 7.2,linux下查看用户登入系统相关命令及编写脚本(七)

    linux下查看用户登入系统相关命令及编写脚本(七) 查看用户登入系统日志 1.w 显示谁登入并正在做什么事 2.who 显示谁登入 -r:显示系统运行级别 3.sleep 睡眠命令(sleep 5 ...

  3. Linux下的文件系统与目录系统简介

    Linux下的文件系统与目录系统简介 一. 文件系统 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码.SHELL ...

  4. Linux下使用fstatfs/statfs查询系统相关信息

    Linux下使用fstatfs/statfs查询系统相关信息 1.   功能 #include < sys/statfs.h > int statfs(const char *path, ...

  5. winpe访问linux磁盘,Linux下做pxe引导winpe

    Linux下做pxe,需要安装tftpd-hpa或atftpd,但是都可能遇到一件郁闷的事情--服务无法启动.使用ps aux |grep tftp看不到atftpd或者tfypd-hpa,但是net ...

  6. linux如何修改ip文件夹,求助!Linux下C++程序如何修改系统IP?

    求助!Linux下C++程序如何修改系统IP? 发布时间:2014-11-19 19:00:55来源:红联作者:firespout 项目是用C++做的,需要修改系统IP,本以为这种很通用的功能已经有成 ...

  7. Linux下安装 SkyWalking 分布式追踪系统

    Linux下安装 SkyWalking 分布式追踪系统 1.SkyWalking简介 1.1 SkyWalking介绍 SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache ...

  8. [转帖]linux下的X server:linux图形界面原理

    linux下的X server:linux图形界面原理 https://www.cnblogs.com/liangxiaofeng/p/5034912.html linux下的X server:lin ...

  9. linux下的X server:linux图形界面原理

    linux下的X server:linux图形界面原理 Moblin Core是在Gnome Mobile的平台上建立.我以前玩Linux,提交的都和图像没有关系,连Xwindows都不用启动,开机后 ...

最新文章

  1. 抽成 30% 的苹果税是良心价?谷歌也学“坏”了
  2. Git(一)之基本操作详解
  3. C#的网络适配器操作
  4. java笔记之抽象类和接口
  5. react antd confirm content list_React造轮系列:对话框组件 - Dialog 思路
  6. 使用jdbc执行SQL实现登录查询2-避免SQL注入版
  7. 用 lastIndexOf()、substr()、split()方法截取一段字符串
  8. @程序员,想要基于 Python 3.4 玩爬虫该看些什么?
  9. HTML5 的定位一些重要知识点
  10. SQL SERVER自带调试工具SQL Server Profiler简单用法
  11. JAVA正则表达式4种常用功能 [转]
  12. 各种数据集汇总——转载而来
  13. M1芯片Mac mini 2K显示器开启HiDpi
  14. 跨境电商如何通过WhatsApp Business进行客户服务?
  15. 使用USBWriter等工具做U盘启动盘后容量变小的解决办法
  16. 使用word进行图片的有序命名
  17. cdma200 matlab 仿真,CDMA通信系统的MATLAB仿真
  18. 今晚“狼来了”|思一独角兽的狼人杀攻略
  19. 标签软件如何批量打印多排条码标签
  20. WinRAR如何下载官方免费版

热门文章

  1. mysql主主复制+keepalived 打造高可用mysql集群
  2. java实现简单的约瑟夫环问题(二)
  3. 关于dns域名轮询监控的疑问
  4. MATLAB 的条件分支语句
  5. 线程中消费者生产者的实例代码(使用Lock类)
  6. 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow 3.1PlayGround
  7. 5秒钟后自动跳转!!!!
  8. JavaScript正则表达式快速判断技巧
  9. 陶哲轩实分析 习题 7.2.6 (嵌套级数)
  10. 6425C-Lab6 实现组策略