什么是PXE:

 PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000,linux等。

===========================================================================================

为什么使用PEX:

 从CD-ROM安装Linux这种最便捷、最直接的操作方法,但是,如果一旦遭遇需要同时安装linux系统到多台计算机上,那么我们应该选择一种更高效的安装方式。PXE是其中的一种选择。

PEX—Pre-boot Execution Environment协议可以使计算机通过网络引导启动。把安装盘的内容复制到某台服务器,欲安装linux的计算机通过网络实现多机同时安装。

===========================================================================================

PEX启动原理:

  PXE是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:

  ¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。

  ¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。

  ¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括

  客户端的 IP 地址, 预设网关, 及开机影像文件。否则, 服务器会忽略这个要求。

  ¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件。

  ¨ 个人电脑通过这个开机影像文件开机, 这个开机文件可以只是单纯的开机程式也可

  以是操作系统。

  ¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel, 此 kernel 将支持NTFS root

  系统。

¨ 远程客户端根据下载的文件启动机器。

===========================================================================================

在这里,我做一个用PXE安装LINUX的案例:

环境:VMWARE虚拟机

要求:用REDHAT LINUX配置PXE服务器,实现无人值守无盘安装LINUX

===========================================================================================

配置静态IP地址:

输入命令:[root@localhost ~]# setup

出现如下界面:

选择Network configuration

选择编辑设备

选择eth0网卡

设置以上参数。

===========================================================================================

挂载REDHAT光盘:

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom

===========================================================================================

配置YUM客户端:

[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo

配置命令如下:直接粘贴进去就行了

[rhel-Server]

name=Red Hat Enterprise Server $releasever - $basearch - Debug

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-VT]

name=Red Hat Enterprise VT $releasever - $basearch - Debug

baseurl=file:///mnt/cdrom/VT

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-Cluster]

name=Red Hat Enterprise Cluster $releasever - $basearch - Debug

baseurl=file:///mnt/cdrom/Cluster

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-ClusterStorage]

name=Red Hat Enterprise ClusterStorage $releasever - $basearch – Debug

baseurl=file:///mnt/cdrom/ClusterStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

然后保存,退出。

===========================================================================================

安装FTP服务器:

[root@localhost cdrom]# yum install -y vsftpd

===========================================================================================

安装DHCP服务器:

[root@localhost cdrom]# yum install -y dhcp

===========================================================================================

安装TFTP服务器:

[root@localhost cdrom]# yum install -y tftp

===========================================================================================

把安装文件放到FTP服务器上:

[root@localhost /]# cd /mnt/cdrom/

[root@localhost cdrom]# cp -r . /var/ftp/pub/

===========================================================================================

配置DHCP配置文件:

[root@localhost cdrom] # vim /etc/dhcpd.conf

进入底行模式输入:-r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample

在VIM编辑器的插入模式做以上修改。

===========================================================================================

配置TFTP

[root@localhost ~]# vim /etc/xinetd.d/tftp

===========================================================================================

创建目录

[root@localhost /]# mkdir -pv /tftpboot/pxelinux.cfg

复制文件:

[root@localhost /]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

[root@localhost /]# cp /mnt/cdrom/p_w_picpaths/pxeboot/vmlinuz /tftpboot/

[root@localhost /]# cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img /tftpboot/

[root@localhost /]# cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

===========================================================================================

修改/tftpboot/pxelinux.cfg/default文件:

[root@localhost /]# vim /tftpboot/pxelinux.cfg/default

在插入模式做如上图修改:代码如下

Timeout的值改为6

12行修改为:append ks=ftp://192.168.10.1/pub/ks.cfg ksdevice=eth0 initrd=initrd.img

===========================================================================================

重启ftp dhcp xinetd服务:

[root@localhost ~]# service vsftpd restart

[root@localhost ~]# service dhcpd restart

[root@localhost ~]# service xinetd restart

===========================================================================================

安装kickstart:

[root@localhost ~]# yum install -y system-config-kickstart

===========================================================================================

配置kickstart:

[root@localhost cdrom]# system-config-kickstart

配置默认语言,键盘类型,root用户密码,安装后是否重新引导,在文本或图形模式安装。

选择新安装,从FTP安装,以及FTP地址和路径

磁盘分区信息。

配置网卡信息。

选择需要安装的安装包

写入安装后执行的脚本以及解释器。

保存ks.cfg 文件。保存路径为:/var/ftp/pub/

===========================================================================================

因为我们的目的是无人值守安装LINUX,我们在安装的时候,会提示输入KEY。在此,我们编辑ks.cfg文件跳过key的选择。

[root@localhost cdrom]# vim /var/ftp/pub/ks.cfg

在里面加入一行:  key  --skip

===========================================================================================

我们来新建一个虚拟机,测试一下:

设置虚拟机网络连接。(注意,新建的虚拟机一定要和做PXE服务器的虚拟机在同一个虚拟LAN里面)

PXE客户端从DHCP服务器获取IP地址。

获取地址成功,并加载安装信息。

载入驱动。

为eth0网卡发送请求IP信息。

决定主机名和域名。

开始安装系统文件。

安装完成,输入刚才在kickstart里面预设的root密码,登陆成功。

===========================================================================================

PS:江山烟若柳原创,转载请注明出处。因本人水平有限,不足之处在所难免,敬请批评指正,共同学习,共同提高。

转载于:https://blog.51cto.com/45642777/954613

PXE实现无人值守无盘安装Linux相关推荐

  1. 无人值守u盘安装linux,从U盘无人值守安装linux操作系统(纯实践笔记)

    作者:曲宝全 本文的目的是:实现从U盘无人值守安装Linux操作系统 环境说明:1个4G的U盘(根据自己的操作系统ISO大小来定),本文试验的操作系统是RHEL4.8-x86_64-AS-DVD.is ...

  2. 无人值守u盘安装linux,U盘无人值守安装Linux操作系统

    本文的目的是:实现从U盘无人值守安装Linux操作系统 环境说明:1个4G的U盘(根据自己的操作系统ISO大小来定),本文试验的操作系统是RHEL4.8-x86_64-AS-DVD.iso,这个ios ...

  3. linux搭建windows无盘系统,PXE+HTTP 无盘安装linux系统

    前一段时间买了一台小本子,IBM的x60,轻是轻,但是没有光驱.而且系统安装的XP的系统,不喜欢.于是自己用PXE+HTTP重做了系统. 1.     建立服务器 服务器需要安装DHCP.TFTP.W ...

  4. CenOS6 nginx+pxe+tftpd+samba/nfs+dhcpd 无盘安装windows  linux

    CenOS6 nginx+pxe+tftpd+samba/nfs+dhcpd 无盘安装windows & linux 参考文档: http://www.debian-administratio ...

  5. 无u盘安装linux系统软件,u盘安装Linux系统

    想不想体验一下Linux下呢?刻盘太浪费钱,而U盘却可以多次利用.本文就是要介绍如何通过U盘安装Linux系统的.只要用Universal-USB-Installer这个软件,大多数的Linux镜像都 ...

  6. Win7下使用U盘安装linux Ubuntu16.04双系统图文教程

    Win7下使用U盘安装linux Ubuntu16.04双系统图文教程 Ubuntu(友帮拓.优般图.乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于DebianGN ...

  7. u盘装linux系统简单方法,用u盘安装linux系统的简单方法教程

    [教程介绍] 虽然我们多数人都是使用windows操作系统,但不得不承认,还是有大量的用户在使用linux操作系统,这个系统也是有很多自己的优势. 以前装系统,多数都是光驱来安装,现在很多新电脑,基本 ...

  8. 锐起2046无盘安装图文教程

    锐起2046无盘安装图文教程. 首先下载锐起原版和破解补丁,原版包括:server 是服务端 client 是客户端 补丁有四个文件: 其中三个是服务端破解文件:Dlxpdhcp.exe Manage ...

  9. 第三方软件库的创建,使用U盘安装Linux系统,U盘的初始化,system-config-kickstart安装虚拟机

    一.第三方软件库的创建 首先创建一个一个只含有.rpm软件包的文件夹/mnt/software 使用命令createrepo -v生成/software的数据信息 查看,目录中生成了repodata ...

最新文章

  1. 第二周项目2-就拿胖子说事
  2. linux的同步与互斥
  3. 中油即时通信电脑版_联想超智能电脑横空出世 电脑适应人已成现实
  4. React中的状态管理---Mobx
  5. C语言 传值和传指针的区别
  6. php变量值传递,PHP将值传递到包含文件中的变量
  7. VB 自启动建立右键菜单
  8. 0基础学python要多久-零基础自学python要多久?
  9. Python 工匠: 异常处理的三个好习惯
  10. 金额大小写转换(2)
  11. servlet中web.xml配置
  12. 期货开平,多开,空开,多平,空平
  13. w7计算机应用放大按键,Win7窗口最大化和最小化快捷键是什么
  14. 幂函数衰减系数公式推导(最小二乘法求解一元线性回归方程系数)
  15. 一种巧妙的解决方案,一键恢复Win11中消失不见的“Microsoft Store”微软应用商店
  16. 上传图片报Invalid filename错误
  17. ZEROTIER ONE实现内网穿透
  18. qq复读机java脚本分享蓝奏云_蓝奏云资源,各种软件分享链接,干货
  19. Facebook一季报解读:未来十年要打造一个怎样的世界?
  20. krait和kryo_各种Java序列化性能比较

热门文章

  1. 第 5 章 Spring AOP: Spring之面向方面编程
  2. linux下批量替换文件内容的三种办法
  3. java: cannot execute binary file错误
  4. 忘记Windows XP登录密码的9种解决办法
  5. spring 源码分析01
  6. 【XSY2667】摧毁图状树 贪心 堆 DFS序 线段树
  7. python-IDE的使用(小白先看)
  8. java如何得到GET和POST请求URL和参数列表(转)
  9. Installshield获取安装包版本的系统变量是IFX_PRODUCT_VERSION
  10. 创造包容的环境和上升空间