Tiny PXE Server简介
Tiny PXE Server简介
Tiny PXE Server是一款小巧而功能强大的网启软件。支持DHCP TFTP HTTP BINL DNS等多个协议,支持grub4dos,pxelinux,ipxe等多个引导器,支持从PXE/gPXE/IPXE启动,最新版居然能够直接从互联网通过http协议启动,实在逆天。
Tiny PXE Server下载地址:http://erwan.labalec.fr/tinypxeserver/pxesrv.zip
1、启动IPXE
Tiny PXE Server可以直接加载自定义的外置脚本菜单,所以Tiny PXE Server搭配IPXE启动,真是绝配,不用搭建linux编译环境编译IPXE启动菜单,或者是翻墙从https://rom-o-matic.eu/网站编译。IPXE比PXE相比,由于采用了HTTP协议传输文件,传输速度大大提高。
①双击pxesrv.exe启动Tiny PXE Server,启动文件选择ipxe.pxe或者undionly.kpxe,undionly.kpxe仅加载UNDI而不加载PXE,后缀kpxe中的k表示keep UNDI,undionly.kpxe会通过UNDI复用网卡自身PXE软件栈的驱动。ipxe.pxe不加载UNDI,也不加载PXE,只能通过iPXE自己实现的硬件驱动来操作网卡。如果该网卡不被iPXE支持,就会出错。
【注意】Tiny PXE Server会把启动文件所在的目录设置为root path,root path子目录下的文件才可以通过http访问到,root path以上的文件无法访问。例如:如果把ipxe.pxe放在E:\boot\目录下,root path=E:\boot\,访问E:\boot\imgs\目录下的ISO文件是http://${next-server}/imgs/TonPE_net.iso,而不是http://${next-server}/boot/imgs/TonPE_net.iso,注意root path的设置,文件相对位置关系必须与菜单对应,否则会发生找不到文件的错误。
②Filename if user-class=gPXE or IPXE,输入自定义脚本菜单ipxemenu.ipxe,这是我编写的ipxe启动脚本,更详细的可以参考下载的安装包pxesrv.zip里面的menu.ipxe。
最新版的启动文件ipxe.pxe/undionly.kpxe可以从以下地址下载:http://boot.ipxe.org/
IPXE.KRN可以从上面网址中ipxe.iso中提取,用来从linux内核转到ipxe启动。
③其他配置Tiny PXE Server会自动配置,基本属于免配置。注意OPT17(root path)是dhcp root path (例如iscsi, aoe) ,而不是一个file root path,如果不用应该保持空白。
④右击历史记录框可以保存当前配置文件到exe所在目录的config.ini文件,修改配置文件之后,建议重新启动Tiny PXE Server,先点右上角的offline,然后单击online启动Tiny PXE Server。如果配置文件弄乱了,建议删除config.ini,然后重新配置并保存。
ipxemenu.ipxe
#!ipxe
set menu-timeout 3000
set menu-default tongyonpe_net
isset ${ip} || dhcp
isset ${next-server} || set next-server 192.168.168.105
:start
menu iPXE Boot Menu
item --gap -- --------------------------------- iPXE Boot Menu--------------------------------
item tongyonpe_net tongyonpe_net
item tongyonpe tongyonpe
item tongyon7pe tongyon7pe
item grub4dos grub4dos
item pxelinux pxelinux
item reboot Reboot
item exit Exit (boot local disk)
item --gap -- ----------------------------------------------------------------------
choose --timeout ${menu-timeout} --default ${menu-default} selected
goto ${selected} :tongyonpe_net
initrd http://${next-server}/imgs/TonPE_net.iso
#chain http://${next-server}/pxelinux.cfg/memdisk raw iso
chain http://${next-server}/grub/grub.exe --config-file="map (rd)+1 (0xff);map --hook;chainloader (0xff)" :tongyonpe
initrd http://${next-server}/imgs/TonPE.iso
#chain http://${next-server}/pxelinux.cfg/memdisk raw iso
chain http://${next-server}/grub/grub.exe --config-file="map (rd)+1 (0xff);map --hook;chainloader (0xff)" :tongyon7pe
initrd http://${next-server}/imgs/TonPE_V3.3.iso
#chain http://${next-server}/pxelinux.cfg/memdisk raw iso
chain http://${next-server}/grub/grub.exe --config-file="map (rd)+1 (0xff);map --hook;chainloader (0xff)" :grub4dos
chain http://${next-server}/grub/grldr
goto start :pxelinux
#dhcp
dhcp net0
set 210:string tftp://${next-server}/
#set 210:string tftp://${dhcp-server}/
chain ${210:string}pxelinux.0
goto start :reboot
reboot :exit
exit
2、启动grub4dos
启动文件选择grldr即可,其他留空白。
3、启动pxelinux
启动文件选择pxelinux.0即可,其他留空。
个人觉得玩IPXE<==>grub4dos<==>pxelinux互相切换引导,没啥意思,选择哪个引导器就直接让他做第一引导就是了。
grub4dos通用菜单及相关工具包http://yunpan.cn/cyuuUtUQMfmGN 提取码 c2ac
Tiny PXE Server简介的更多相关文章
- 微型Http服务器Tiny Http Server
Tiny Http Server 一个简单的跨平台Http服务器.服务器部分使用了Mongoose的代码,界面是使用QT开发的. 开发为了在临时需要使用一个http服务器来做发布代码文档的时候,不用去 ...
- Exchange Server简介与搭建
一.Exchange Server简介Exchange Server 是微软公司的一套电子邮件服务组件,是个消息与协作系统. 简单而言,Exchange server可以被用来构架应用于企业.学校的邮 ...
- 当你碰到一个网络中有多个PXE Server 肿么办?
今天在用PXE 安装Openstack Compute节点时,郁闷得发现同一网段中还有一个PXE Server,而我的Compute 启动起来总会先找到它,但那个设置不受我控制,子网也不归我管,那个s ...
- CSAPP Tiny web server源代码分析及搭建执行
1. Web基础 webclient和server之间的交互使用的是一个基于文本的应用级协议HTTP(超文本传输协议). 一个webclient(即浏览器)打开一个到server的因特网连接,而且请求 ...
- Darwin Streaming Server 简介
Darwin Streaming Server 概要 Darwin Streaming Server简称DSS.DSS是Apple公司提供的开源实时流媒体播放服务器程序.整个程序使用C++编写 ...
- Centos7 PXE Server Install Script
#安装前配置好centos和epel yum源 #网卡ip和localip一致 localip="192.168.88.200" eth_name='eth0' dnsmasq_i ...
- SQL Server 简介
什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.是以一定方式储存在一起.能为多个用户共享.具有尽可能小的冗余度的特点.是与应用程序彼此独立的数据集合. SQL S ...
- SQL SERVER 简介及应用 - 数据库系统原理
SQL SERVER 是一个分布式的关系型数据库管理系统(RDBMS),具有客户 - 服务器体系结构,一般发行的版本有企业版.标准版.个人版.开发版. SQL SERVER 提供的服务 MS SQL ...
- Team Foundation Server简介
对于任何一个软件开发团队而言,成功的一个重要因素在于成员之间.成员与首先使用软件的用户之间有很好的沟通. Team Foundation Server是一个独立的服务器产品,逻辑上,由下列两层组成,这 ...
随机推荐
- 创建Linux swap
创建SWAP文件(下面指定的是8G容量,系统物理内存8G): dd if=/dev/zero of=/data/swapfile bs=1M count=8192 格式化该文件 mkswap swap ...
- c++中两种常量方法的比较
[c++]在C++中定义常量的两种方法的比较 常量是定以后,在程序运行中不能被改变的标识符.C++中定义常量可以用#define .const 这两种方法.例如: #define PRICE 10 ...
- spring webmvc使用ResponseBody前,在配置文件中的配置
spring的版本不同, 导致配置引用地址不同 首先引用一个jar包 <dependency> <groupId>com.fasterxml.jackson.core</ ...
- MUI 授权
步骤1.打开 manifest.json 视图 在permissions 下添加 "Payment": {"description": "支付&q ...
- flume系列之—flume ng使用demo
摘自:http://rjhym.blog.163.com/blog/static/28130232201263042013972/
- 复旦大学2014--2015学年第一学期(14级)高等代数I期末考试第七大题解答
七.(本题10分) 设 \(V\) 为数域 \(\mathbb{K}\) 上的 \(n\) 维线性空间, \(S=\{v_1,v_2,\cdots,v_m\}\) 为 \(V\) 中的向量组, 定义 ...
- .Net文件*夹*操作
一.文件夹操作 Directory类,DirectoryInfo类.使用using System.IO命名空间 (一)创建文件夹 方法一: private string path = @"F ...
- 详解CreateProcess调用内核创建进程的过程
昨天同学接到了腾讯的电面,有一题问到了CreateProcess创建进程的具体实现过程,他答得不怎么好吧应该是, 为了以防万一,也为了深入学习一下,今天我翻阅了好多资料,整理了一下,写篇博客,也算是加 ...
- require或include相对路径多层嵌套引发的问题
require或include相对路径多层嵌套引发的问题 php中require/include 包含相对路径的解决办法 在PHP中require,include一个文件时,大都是用相对路径,是个 ...
- linux下(修改|忘记)mysql密码
好尴尬,经常忘记自己的密码 修改的用户都以root为列.一.拥有原来的myql的root的密码: 方法一:在mysql系统外,使用mysqladmin# mysqladmin -u root -p p ...