借助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引导菜单文件名
实机测试成功
现在上行还是不怎么行,不然就grub2实现下玩玩
貌似最理想是先启动个壳,再p2p下载或iscsi远程加载外置 谢谢分享 本帖最后由 hkkitlee 于 2019-7-24 17:00 编辑
厲害厲害!
真沒想到用hex editor 加script!真的是「山不轉水轉,水不轉路轉!」
我自行編譯是因為加減了一些模組如https、加入了「內網循環」以加速及減輕路由壓力;才順便編譯時加入script吧了...
Linux確實是多了點命令....
由於機器壓力過大,我從M$[被迫]轉會時也很感吃力。但明白後Linux確實是很有魅力的。
剛剛在寫一個關於30MB的Linux,有空去看看,提點意見。 江南一根葱 发表于 2019-7-24 14:59
现在上行还是不怎么行,不然就grub2实现下玩玩
貌似最理想是先启动个壳,再p2p下载或iscsi远程加载外置
试了400M的PE,速度还行 hkkitlee 发表于 2019-7-24 16:44
厲害厲害!
真沒想到用hex editor 加script!真的是「山不轉水轉,水不轉路轉!」
我是懒人一个,只想用比较简单的方法去实现目的{:1_185:}{:1_201:}
对于Linux我是一窍不通:dizzy: yigeren 发表于 2019-7-24 17:30
我是懒人一个,只想用比较简单的方法去实现目的
对于Linux我是一窍不通
我也是懒人一个 x2 先收藏下楼主的菜单,打算做个非常淫荡的东西,还要去啃一下grub2。。。
hkkitlee 发表于 2019-7-24 16:44
厲害厲害!
真沒想到用hex editor 加script!真的是「山不轉水轉,水不轉路轉!」
还是不要去掉https啊,如果你访问github速度快(看你写的内容语法精奇,貌似不是GFW内人士{:1_201:})的话可以把一部份文件转移到github啥的,小文件也可以想办法弄成分块然后启动到pe的,家里服务器关了也可以菜单上显示个online,offline啥的
支持简单小巧的pxe。。多谢分享 江南一根葱 发表于 2019-7-24 17:44
还是不要去掉https啊,如果你访问github速度快(看你写的内容语法精奇,貌似不是GFW内人士)的话 ...
哈哈~
我是加了https,png圖片載入及在script加入循環,原設定是沒有的。
我也是中國人,小時候曾在河南讀過書,只是住在香港吧了。
家中伺服器我是用手機遠程開機的。連機箱開關按鈕也拆了,怕家人誤按.....無奈
分成小文件再啟動就不懂了 折腾了下grub2,发现貌似不支持https,默哀中。。。 貌似生成rom模块刷入bios可以把u盘也省了哈哈 可惜 普通win10 不能网络启动
哈哈,不知道为啥gitee不能启,只有github能启。。 江南一根葱 发表于 2019-7-25 09:11
哈哈,不知道为啥gitee不能启,只有github能启。。
以前我是直接試用各Linux的官網作引導,有些可以有些不可。
估計可能是客戶機瀏覽器「簽署問題」,即伺服器知道是ipxe就取消連線。 楼主,能把BOOTX64.EFI这个文件也放到UD分区吗? 感谢分享 怎么用Hex Workshop来改ipxex64.efi内置脚本的?
谢谢 谢谢楼主分享{:1_195:} 江南一根葱 发表于 2019-7-25 07:59
貌似生成rom模块刷入bios可以把u盘也省了哈哈
可以刷进bios了吗? 谢谢分享,正在学习远程安装系统
谢谢分享
页:
[1]