无忧启动论坛

标题: 借助U盘引导,iPXE远程启动PE系统 [打印本页]

作者: yigeren    时间: 2019-7-24 14:39
标题: 借助U盘引导,iPXE远程启动PE系统
首先感谢hkkitlee的无私分享,看了他的贴子:http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
引起了我的兴趣,可感觉他的贴子设置有点复杂,好象还需要用LINUX系统作为服务器,愚钝一时半会儿看不懂,所以我自己来弄个简单的

操作如下:
1.U盘格式化成UD启动方式,下载地址:http://bbs.wuyou.net/forum.php?m ... &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?m ... &extra=page%3D1

PS:ipxex64.efi需有内置脚本的,然后用十六进制软件Hex Workshop修改成自己所需的脚本内容,可在这里下载:http://bbs.wuyou.net/forum.php?m ... &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 MENU  By:Yigeren
clear
title
clear
title [1] 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 2000  Press 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
现在上行还是不怎么行,不然就grub2实现下玩玩
貌似最理想是先启动个壳,再p2p下载或iscsi远程加载外置
作者: 2010sya    时间: 2019-7-24 15:45
谢谢分享
作者: hkkitlee    时间: 2019-7-24 16:44
本帖最后由 hkkitlee 于 2019-7-24 17:00 编辑

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

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

剛剛在寫一個關於30MB的Linux,有空去看看,提點意見。
作者: yigeren    时间: 2019-7-24 17:26
江南一根葱 发表于 2019-7-24 14:59
现在上行还是不怎么行,不然就grub2实现下玩玩
貌似最理想是先启动个壳,再p2p下载或iscsi远程加载外置

试了400M的PE,速度还行
作者: yigeren    时间: 2019-7-24 17:30
hkkitlee 发表于 2019-7-24 16:44
厲害厲害!
真沒想到用hex editor 加script!真的是「山不轉水轉,水不轉路轉!」

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

我也是懒人一个 x2
作者: 江南一根葱    时间: 2019-7-24 17:37
先收藏下楼主的菜单,打算做个非常淫荡的东西,还要去啃一下grub2。。。

作者: 江南一根葱    时间: 2019-7-24 17:44
hkkitlee 发表于 2019-7-24 16:44
厲害厲害!
真沒想到用hex editor 加script!真的是「山不轉水轉,水不轉路轉!」

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

作者: pcfan120    时间: 2019-7-24 17:45
支持简单小巧的pxe。。多谢分享
作者: hkkitlee    时间: 2019-7-24 18:31
江南一根葱 发表于 2019-7-24 17:44
还是不要去掉https啊,如果你访问github速度快(看你写的内容语法精奇,貌似不是GFW内人士)的话 ...

哈哈~

我是加了https,png圖片載入及在script加入循環,原設定是沒有的。
我也是中國人,小時候曾在河南讀過書,只是住在香港吧了。
家中伺服器我是用手機遠程開機的。連機箱開關按鈕也拆了,怕家人誤按.....無奈
分成小文件再啟動就不懂了
作者: 江南一根葱    时间: 2019-7-24 18:55
折腾了下grub2,发现貌似不支持https,默哀中。。。
作者: 江南一根葱    时间: 2019-7-25 07:59
貌似生成rom模块刷入bios可以把u盘也省了哈哈
作者: 2012masterasia    时间: 2019-7-25 08:53
可惜 普通win10 不能网络启动
作者: 江南一根葱    时间: 2019-7-25 09:11


哈哈,不知道为啥gitee不能启,只有github能启。。
作者: hkkitlee    时间: 2019-7-26 15:05
江南一根葱 发表于 2019-7-25 09:11
哈哈,不知道为啥gitee不能启,只有github能启。。

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

估計可能是客戶機瀏覽器「簽署問題」,即伺服器知道是ipxe就取消連線。
作者: 熄灭的烟    时间: 2021-4-24 20:00
楼主,能把BOOTX64.EFI这个文件也放到UD分区吗?
作者: 2013mqqdg    时间: 2021-4-25 06:02
感谢分享
作者: chlsh    时间: 2021-4-26 13:38
怎么用Hex Workshop来改ipxex64.efi内置脚本的?
谢谢
作者: 进士小站    时间: 2021-4-26 14:01
谢谢楼主分享
作者: giver    时间: 2022-11-28 00:45
江南一根葱 发表于 2019-7-25 07:59
貌似生成rom模块刷入bios可以把u盘也省了哈哈

可以刷进bios了吗?
作者: AD168    时间: 2022-11-28 10:28
谢谢分享,正在学习远程安装系统
作者: fjice    时间: 2022-12-13 10:02

谢谢分享




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3