ipxe无盘服务器,SYSLINUX PXE gPXE iPXE PXELINUX DHCP 无盘

帖子

以下是抄来的....其实都不知道装的是syslinux的还是啥了。仅DHCP是不能的,是pxe做了proxyDHCP, 才完成了引导,加载的怕就是syslinux

笔记: SYSLINUX PXE gPXE iPXE PXELINUX DHCP 无盘 远程 启动(2012-11-08 13:19:34)转载▼标签: pxesyslinux远程启动 分类: 技术笔记

本文是笔记,不保证100%正确,提醒自己用而已,如有错误欢迎指正。谢谢。

QQ: 89175244

PXE/gPXE/iPXE/DHCP/PXELINUX/SYSLINUX等的概念和其作用一定要清晰,不然思路很容易乱。

1.

PXE是Intel提出的,用以网卡启动。通过DHCP获取IP以及TFTP获取启动文件。

gPXE/iPXE是PXE的扩展版,支持HTTP等多种获取手段。iPXE由gPXE分支而来(fork),功能更丰富。

一般网卡ROM支持PXE,但不支持gPXE/iPXE,除非刷ROM。

SYSLINUX 是一个bootloader,和GRUB等无异。

PXELINUX 是一个支持PXE的bootloader,SYSLINUX不支持PXE。PXELINUX/SYSLINUX语法基本一致。

2.

如要用PXE启动,DHCP需要支持PXE协议,普通DHCP回复是被PXE忽略的。主流DHCP服务器如ISC DHCP Server都支持PXE协议 (通过指定name实现)。

3.

gPXE/iPXE支持多种方式(如网卡ROM<.rom>,U盘<.usb>,CDROM ISO<.liso>,KERNEL<.lkrn>,供PXE调用的ROM<.pxe>等),所以会有不同的封装形式,要区分清楚。如把网卡ROM当KERNEL使用就是一个错误,又比如SYSLINUX中读取了ROM版,而不是kernel版的gPXE。

提醒:“PXELINUX(另外一个支持PXE启动的工具)”和“PXE版的gPXE”都是PXE的客户端;“内核版的gPXE”是供SYSLINUX这类bootloader使用的内核,和vmlinuz这类无差别。

3.1. 传统方式链式CHAINLOAD(如SYSLINUX/GRUB/LOADIN等)调用gPXE/iPXE

SYSLINUX: KERNEL gpxe.lkrn

GRUB: KERNEL gpxe.lkrn

供SYSLINUX使用的内核版本的iPXE,可从编译出的ISO文件中提取,名字是ipxe.krn。

3.2. PXE调用gPXE/iPXE

DHCP设置bootfile为gpxe.pxe/ipxe.pxe文件就可以了(如替代pxelinux.0文件),以减少改动幅度。当然,DHCP也需要调整,需要区分开PXE和gPXE/iPXE的DHCP请求,可参考gPXE: http://etherboot.org/wiki/pxechaining#using_isc_dhcpd

iPXE: http://ipxe.org/howto/dhcpd#pxe_chainloading

3.3. gPXE/iPXE启动ISO(如WinPE)

以下两行可以搞定,可以放在script中运行,记得先运行dhcp。对,是initrd先,再chain,这里没有写错。

initrd http://1.2.3.4/boot/win7pe.iso

linux http://1.2.3.4/boot/memdisk iso raw (gPXE里边只能linux,不能用chain)

或者

initrd http://1.2.3.4/boot/win7pe.iso

chain http://1.2.3.4/boot/memdisk iso raw

memdisk是syslinux的,和SYSLINUX一个用法,这个自己搞定啦。:)

3.4. iPXE指定启动文件的方法

http://ipxe.org/embed

如果是U盘用syslinux启动ipxe,还是很方便可以指定多种启动方式的。

附上不错的解析文章:

http://www.0xf8.org/2012/04/clarifying- ... -gpxeipxe/

http://blogs.technet.com/b/dominikheinz ... asics.aspx

配置文件(片段)如下。

D:\tftpd\boot\pxelinux.cfg\default文件:

LABEL l_REMOTEwinpeiso1

MENU LABEL Win7 PE Remote

INITRD http://192.168.39.63:88/1.iso

LINUX http://192.168.39.63:88/memdisk

APPEND iso raw

D:\tftpd\tftpd32.ini文件:

[DHCP]

Lease_NumLeases=2

IP_Pool=170371264

PoolSize=5

BootFile=/boot/pxelinux.0

DNS=0

Mask=16777215

Gateway=0

DomainName=

[TFTPD32]

BaseDirectory=D:\tftpd

TftpPort=69

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iPXE是一种网络引导程序,可以通过网络启动计算机。在使用iPXE无盘启动CentOS7时,需要以下几个步骤: 1. 准备安装镜像和内核文件:在安装CentOS7时需要先下载CentOS7的ISO镜像和内核文件,这些文件需要放到TFTP服务器上。你可以使用FTP或HTTP服务器来提供这些文件。 2. 设置DHCP服务器:在网络启动时,需要将IP地址和其他信息分配给计算机。这可以通过DHCP服务器完成。你需要配置DHCP服务器以便将计算机的IP地址和iPXE文件的位置发送给计算机。 3. 配置TFTP服务器:TFTP服务器用于存储iPXE文件和CentOS7镜像。你需要将这些文件放到TFTP根目录下,并且确保TFTP服务器对其它计算机可见。 4. 编写iPXE启动脚本:iPXE启动脚本是一个文本文件,包含了用于启动CentOS7的命令和选项。你需要根据你的网络环境和CentOS7的安装方式编写自己的脚本。 以下是一个示例iPXE启动脚本: ``` #!ipxe set base-url http://your.tftp.server.ip/c7/ set initrd c7/initrd.img set kernel c7/vmlinuz kernel ${base-url}/${kernel} inst.repo=http://your.repo.server.ip/centos/7/os/x86_64/ inst.ks=http://your.http.server.ip/c7/kickstart.cfg console=ttyS0,115200n8 initrd ${base-url}/${initrd} boot ``` 在这个脚本中,你需要设置`base-url`为你的TFTP服务器的IP地址,并且设置`initrd`和`kernel`为你下载的CentOS7内核文件的名称。接下来是启动命令,包括`inst.repo`、`inst.ks`和`console`等选项,这些选项根据你的安装方式可能会有所不同。最后是`boot`命令,启动CentOS7安装程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值