yigeren 发表于 2019-7-24 14:39:59

借助U盘引导,iPXE远程启动PE系统

首先感谢hkkitlee的无私分享,看了他的贴子:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=415206&extra=page%3D1
引起了我的兴趣,可感觉他的贴子设置有点复杂,好象还需要用LINUX系统作为服务器,愚钝一时半会儿看不懂,所以我自己来弄个简单的

操作如下:
1.U盘格式化成UD启动方式,下载地址:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=189221&extra=page%3D1

UD内只需3个文件:GRLDR(用于加载ipxe.krn文件),ipxe.krn,myscript.ipxe(用于加载远程iPXE菜单)
ipxe.krn下载:http://boot.ipxe.org/ipxe.iso,myscript.ipxe文件用记事本建立就行

2.U盘分区为FAT32格式,把ipxex64.efi文件改名为BOOTX64.EFI存放在EFI\BOOT文件夹(用于UEFI启动)
如果不想分区为FAT32,又要UEFI启动,可按这个帖子教程操作:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=386582&extra=page%3D1

PS:ipxex64.efi需有内置脚本的,然后用十六进制软件Hex Workshop修改成自己所需的脚本内容,可在这里下载:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=411622&extra=page%3D1




服务端上的软件就是TinyPXE配合MyWebServer就行了,然后在路由器上开放HTTP端口给内网的服务器机子

MyWebServer可以实现简单的HTTP用户密码基本认证,增加一点安全性,每个目录都可以设置不同的认证用户名和密码

GRLDR菜单:

pxe detect
configfile
background 0000ff
foreground ffffff
graphicsmode -1 800:600
default 2
timeout 1

title                     GrubDos Boot MENUBy:Yigeren
clear
title
clear
title iPXE MENU
kernel (ud)/ipxe.krn
initrd (ud)/myscript.ipxe


myscript.ipxe菜单:

#!ipxe
#check platform (pcbios or efi)
echo Platform: ${platform}
set menu-timeout 100
dhcp
iseq ${platform} pcbios && set start BIOS_MENU || set start EFI_MENU        #(pcbios && efi)
goto ${start}
:BIOS_MENU
set menu-default ipxe
menu iPXE Boot Menu
item --key 1 ipxe                1.iPXE MENU
choose --timeout ${menu-timeout} --default ${menu-default} selected
goto ${selected}

:ipxe
chain http://服务器IP地址或者域名/服务器上iPXE引导菜单文件名

bootx64.efi(ipxex64.efi)内置脚本菜单:
#!ipxe
dhcp
prompt --key 0x02 --timeout 2000Press Ctrl-B for the iPXE command line... && shell || chain http://服务器IP地址或者域名/服务器上iPXE引导菜单文件名


这样完成后,U盘所需文件只有4个:GRLDR,ipxe.krn,myscript.ipxe,bootx64.efi加起来的容量还不到2MB
而且U盘制作好后,就无需再更改,除非你更改了服务器的IP地址或iPXE引导菜单文件名
实机测试成功



江南一根葱 发表于 2019-7-24 14:59:48

现在上行还是不怎么行,不然就grub2实现下玩玩
貌似最理想是先启动个壳,再p2p下载或iscsi远程加载外置

2010sya 发表于 2019-7-24 15:45:46

谢谢分享

hkkitlee 发表于 2019-7-24 16:44:53

本帖最后由 hkkitlee 于 2019-7-24 17:00 编辑

厲害厲害!
真沒想到用hex editor 加script!真的是「山不轉水轉,水不轉路轉!」

我自行編譯是因為加減了一些模組如https、加入了「內網循環」以加速及減輕路由壓力;才順便編譯時加入script吧了...
Linux確實是多了點命令....
由於機器壓力過大,我從M$[被迫]轉會時也很感吃力。但明白後Linux確實是很有魅力的。

剛剛在寫一個關於30MB的Linux,有空去看看,提點意見。

yigeren 发表于 2019-7-24 17:26:18

江南一根葱 发表于 2019-7-24 14:59
现在上行还是不怎么行,不然就grub2实现下玩玩
貌似最理想是先启动个壳,再p2p下载或iscsi远程加载外置

试了400M的PE,速度还行

yigeren 发表于 2019-7-24 17:30:00

hkkitlee 发表于 2019-7-24 16:44
厲害厲害!
真沒想到用hex editor 加script!真的是「山不轉水轉,水不轉路轉!」



我是懒人一个,只想用比较简单的方法去实现目的{:1_185:}{:1_201:}
对于Linux我是一窍不通:dizzy:

hkkitlee 发表于 2019-7-24 17:33:29

yigeren 发表于 2019-7-24 17:30
我是懒人一个,只想用比较简单的方法去实现目的
对于Linux我是一窍不通

我也是懒人一个 x2

江南一根葱 发表于 2019-7-24 17:37:49

先收藏下楼主的菜单,打算做个非常淫荡的东西,还要去啃一下grub2。。。

江南一根葱 发表于 2019-7-24 17:44:11

hkkitlee 发表于 2019-7-24 16:44
厲害厲害!
真沒想到用hex editor 加script!真的是「山不轉水轉,水不轉路轉!」



还是不要去掉https啊,如果你访问github速度快(看你写的内容语法精奇,貌似不是GFW内人士{:1_201:})的话可以把一部份文件转移到github啥的,小文件也可以想办法弄成分块然后启动到pe的,家里服务器关了也可以菜单上显示个online,offline啥的

pcfan120 发表于 2019-7-24 17:45:12

支持简单小巧的pxe。。多谢分享

hkkitlee 发表于 2019-7-24 18:31:22

江南一根葱 发表于 2019-7-24 17:44
还是不要去掉https啊,如果你访问github速度快(看你写的内容语法精奇,貌似不是GFW内人士)的话 ...

哈哈~

我是加了https,png圖片載入及在script加入循環,原設定是沒有的。
我也是中國人,小時候曾在河南讀過書,只是住在香港吧了。
家中伺服器我是用手機遠程開機的。連機箱開關按鈕也拆了,怕家人誤按.....無奈
分成小文件再啟動就不懂了

江南一根葱 发表于 2019-7-24 18:55:06

折腾了下grub2,发现貌似不支持https,默哀中。。。

江南一根葱 发表于 2019-7-25 07:59:38

貌似生成rom模块刷入bios可以把u盘也省了哈哈

2012masterasia 发表于 2019-7-25 08:53:48

可惜 普通win10 不能网络启动

江南一根葱 发表于 2019-7-25 09:11:09



哈哈,不知道为啥gitee不能启,只有github能启。。

hkkitlee 发表于 2019-7-26 15:05:35

江南一根葱 发表于 2019-7-25 09:11
哈哈,不知道为啥gitee不能启,只有github能启。。

以前我是直接試用各Linux的官網作引導,有些可以有些不可。

估計可能是客戶機瀏覽器「簽署問題」,即伺服器知道是ipxe就取消連線。

熄灭的烟 发表于 2021-4-24 20:00:12

楼主,能把BOOTX64.EFI这个文件也放到UD分区吗?

2013mqqdg 发表于 2021-4-25 06:02:35

感谢分享

chlsh 发表于 2021-4-26 13:38:38

怎么用Hex Workshop来改ipxex64.efi内置脚本的?
谢谢

进士小站 发表于 2021-4-26 14:01:41

谢谢楼主分享{:1_195:}

giver 发表于 2022-11-28 00:45:49

江南一根葱 发表于 2019-7-25 07:59
貌似生成rom模块刷入bios可以把u盘也省了哈哈

可以刷进bios了吗?

AD168 发表于 2022-11-28 10:28:25

谢谢分享,正在学习远程安装系统

fjice 发表于 2022-12-13 10:02:57


谢谢分享
页: [1]
查看完整版本: 借助U盘引导,iPXE远程启动PE系统