无忧启动论坛

标题: ipxe的sanboot命令:通过http直接启动iso、img [打印本页]

作者: ljycslg    时间: 2014-3-23 17:12
标题: ipxe的sanboot命令:通过http直接启动iso、img
本帖最后由 ljycslg 于 2014-3-23 19:42 编辑

以往的加载iso方式是先把iso读进内存再从内存中启动
initrd http://${next-server}/ghost.iso
  chain http://${next-server}/memdisk

使用sanboot命令可以直接读取服务器上的镜像,相当于grub4dos的不加--mem map iso
set keep-san 1
sanboot --drive 0xff http://${next-server}/ghost.iso
从硬盘镜像启动
sanboot --drive 0x80 http://${next-server}/ghost.img
img是带mbr的硬盘镜像的话,驱动器号必须是0x80才能启动

玩法:
做一个带ghost的img 就能实现http网刻,无需事先载入内存,速度在4m--7m,不是很快
相对于maxdos优势在于不需要网卡dos驱动
已测试可行

http直接启动iso格式PE
isolinux引导的没成功,grldr的测试可行,进入桌面后可以尝试用httpdisk挂载服务器上的iso以获取外置工具

HTTP启动217m的天意全内置8pe示例




作者: yd99zgb    时间: 2014-3-26 20:50
“玩法:
做一个带ghost的img 就能实现http网刻,无需事先载入内存,速度在4m--7m,不是很快
相对于maxdos优势在于不需要网卡dos驱动
已测试可行”

能做个范例么?谢谢。。
作者: ljycslg    时间: 2014-3-26 23:04
yd99zgb 发表于 2014-3-26 20:50
“玩法:
做一个带ghost的img 就能实现http网刻,无需事先载入内存,速度在4m--7m,不是很快
相对于max ...

http://pan.baidu.com/s/1i3qRSHJ
命令:
sanboot --drive 0x80 http://${next-server}/ghost.img
启动就会直接ghost, 在虚拟机上测试
作者: yd99zgb    时间: 2014-3-27 14:06
ljycslg 发表于 2014-3-26 23:04
http://pan.baidu.com/s/1i3qRSHJ
命令:
sanboot --drive 0x80 http://${next-server}/ghost.img

不成功,,iso也不成功。。求解。



作者: ljycslg    时间: 2014-3-27 15:30
yd99zgb 发表于 2014-3-27 14:06
不成功,,iso也不成功。。求解。

那么内存方式是否可以?
  initrd http://${next-server}/ghost.img || goto retry
  chain http://${next-server}/memdisk || goto retry
作者: yd99zgb    时间: 2014-3-27 16:16
ljycslg 发表于 2014-3-27 15:30
那么内存方式是否可以?
  initrd http://${next-server}/ghost.img || goto retry
  chain http://${n ...

可以成功启动。。
作者: 极乐白虎    时间: 2014-4-5 13:49
想问一下我用该软件怎么不给我分配IP地址,就是在启动后客户端会获取IP地址就是软件貌似没有分配求楼主发布该软件的设置教程·····
作者: ljycslg    时间: 2014-4-5 15:32
极乐白虎 发表于 2014-4-5 13:49
想问一下我用该软件怎么不给我分配IP地址,就是在启动后客户端会获取IP地址就是软件貌似没有分配求楼主发布 ...

你没有路由器?勾掉proxyDHCP
作者: 极乐白虎    时间: 2014-4-7 23:30
ljycslg 发表于 2014-4-5 15:32
你没有路由器?勾掉proxyDHCP

虚拟机我试过了不行还有电脑我做的交叉线也试过了同样就是客户机没有获取到IP地址·····
作者: ljycslg    时间: 2014-4-7 23:36
极乐白虎 发表于 2014-4-7 23:30
虚拟机我试过了不行还有电脑我做的交叉线也试过了同样就是客户机没有获取到IP地址·····

不好意思,原帖没有说明
网段内已有dhcp,比如路由器,需要勾上proxydhcp
没有dhcp的情况比如你的双机互连就不需要proxydhcp
虚拟机建议用桥接模式
作者: 极乐白虎    时间: 2014-4-8 14:13
ljycslg 发表于 2014-4-7 23:36
不好意思,原帖没有说明
网段内已有dhcp,比如路由器,需要勾上proxydhcp
没有dhcp的情况比如你的双机 ...

好的我今天试试,谢谢楼主的回答·····
作者: jxdeng    时间: 2014-4-24 16:00
好像 ISCSI TARGET 服务要起来。 而且 iscsi initiator 要能 访问 target 服务。 不然总是报 Could not open SAN device: No such device (http://ipxe.org/2c0d603b)。。
作者: dhdn119    时间: 2014-4-26 15:15
ljycslg 发表于 2014-3-26 23:04
http://pan.baidu.com/s/1i3qRSHJ
命令:
sanboot --drive 0x80 http://${next-server}/ghost.img

请重新提供ghost.img下载。我的ghost倒是运行起来了。但是连接不上ghost服务器。
作者: ljycslg    时间: 2014-4-26 16:19
dhdn119 发表于 2014-4-26 15:15
请重新提供ghost.img下载。我的ghost倒是运行起来了。但是连接不上ghost服务器。

http://pan.baidu.com/s/1o6jWUb4
作者: dhdn119    时间: 2014-4-26 17:01
ljycslg 发表于 2014-4-26 16:19
http://pan.baidu.com/s/1o6jWUb4

ghost.img下载下来了。你这种方式只是把系统镜像装在了里面。如果系统的镜像相当大就没办法了,比如win7的系统镜像。我想要的方式是dos环境下加载网卡通用驱动来连接ghost服务器来完成网络克隆。
作者: ljycslg    时间: 2014-4-26 17:38
dhdn119 发表于 2014-4-26 17:01
ghost.img下载下来了。你这种方式只是把系统镜像装在了里面。如果系统的镜像相当大就没办法了,比如win7 ...

你说的maxdos不是做的很好了吗?
我这个不需要网卡驱动,镜像大小多大都行,关键还是dos这玩意已经过时,兼容性不行
作者: dhdn119    时间: 2014-4-29 11:47
http引导ISO的速度确实快。就是img映像的支持不太好。很多grldr能启动的img用这个启动会出错。楼主的img是用什么软件制作的。我用winimage、UltraISO制作的都不行。
作者: dhdn119    时间: 2014-4-29 11:48
还有就是maxdos加载网卡也是用dos的方式。
作者: ljycslg    时间: 2014-4-29 12:15
dhdn119 发表于 2014-4-29 11:47
http引导ISO的速度确实快。就是img映像的支持不太好。很多grldr能启动的img用这个启动会出错。楼主的img是 ...

虚拟机上测试没问题后用winhex捕获
作者: 北斗    时间: 2014-4-29 15:08
ljycslg兄能提供一下你实现这个sanboot功能时使用的ipxe.0(就是之前编译的64K的版本)+menu.ipxe,或者***.ipxe吗?

我现在用的ipxe.0和****.ipxe的版本在使用sanboot时兼容性貌似有问题:
1、用****.ipxe+sanboot+http方式启动时,客户机下载速度只有几百K,巨慢,之前用initrd + chain方式速度一直很快。
2、用ipxe.0+sanboot+http方式启动时,全内置的03PE没问题,天意的全内置Win8PE客户机下载完成后,客户机会重启,这个Win8PE之前用initrd + chain方式是没问题的
作者: ljycslg    时间: 2014-4-29 15:50
北斗 发表于 2014-4-29 15:08
ljycslg兄能提供一下你实现这个sanboot功能时使用的ipxe.0(就是之前编译的64K的版本)+menu.ipxe,或者*** ...

就用的官方编译版
我是不折腾了,兼容性不行,推荐折腾sanboot 启动iscsi,pe里集成iscsi驱动,这样进入pe后也能从服务器读取
毕竟是标准无盘方案
作者: 北斗    时间: 2014-4-29 16:53
多谢ljycslg兄,一直以来从兄那里受益颇多。

我测试后觉得用sanboot启动PE最大的好处就是映像不额外占用内存,就类似grldr用非RAM的方式加载PE映像,这对小内存的电脑很有用处,不用再绞尽脑汁的缩减PE的体积了。

另外测试了ljycslg兄提供的那个Tiny Server,它自带的HTTP服务传输映像的速度比其他第三方的HTTP服务器快很多,传送几百MB的大映像时,接近100MB/s的速度,几乎是千兆环境的极限了,这个很给力,白玉微瑕的是iPXE初始化的耗时比较长,或多或少抵消了一些高速传输的优势(客户机启动耗费的总的时间并没有很明显的减少)。
作者: hhh333    时间: 2014-4-30 17:56
北斗 发表于 2014-4-29 16:53
多谢ljycslg兄,一直以来从兄那里受益颇多。

我测试后觉得用sanboot启动PE最大的好处就是映像不额外占用 ...


这个与内核减不减肥关系不大。只是不额外占用,其他情况跟本地启动并不少占内存。原先的TFTP模式的,也不多占用内存的。
如果不是非RAM方式,内核还是要搬运到内存的。
作者: change_sh    时间: 2014-6-24 09:02
太高深了
作者: 510819776    时间: 2014-8-10 00:12
本帖最后由 510819776 于 2014-8-14 17:05 编辑
ljycslg 发表于 2014-4-29 15:50
就用的官方编译版
我是不折腾了,兼容性不行,推荐折腾sanboot 启动iscsi,pe里集成iscsi驱动,这样进入 ...


官方的ipxe 的sanboot http iso功能对http服务器有严格要求
很多windows版本的web服务软件都不能启动
全免费的开源http服务
apachehttpserver         可以启动(有安卓版  win版)
nginx                           可以启动 (有安卓版  win版)
lighttpd                        无法启动  (有安卓版  win版)
apache-tomcat             无法启动  (基于java  win版)
tiny pxe server            可以启动     (win版)
easywebserver            可以启动     (win版)
官方说要支持 range required请求的http服务器
我是不太理解 不过似乎真理不是这样
以上的可以启动的服务器在 vpc2007 vm10 virtualbox 测试都很完美
sanboot http  方式总体来说非常不错
另外如果pe集成了httpdisk 我想 也是非常牛逼的
最近研究sanboot aoe模式  也编译了一个android的版本 感觉启动很给力
下一步是 iscsi模式和nfs模式了


作者: 我是神仙    时间: 2014-9-12 13:01
其实还是用memdisk更快。
作者: 2012hc5568892    时间: 2014-9-20 10:21
小弟想问一下。
set keep-san 1
sanboot --drive 0xff http://${next-server}/ghost.iso
这个命令里面的ghost.iso是否可以换成我想要启动的iso文件,另外这个命令添加到哪里,LZ可否给个范本看一下
作者: 2012hc5568892    时间: 2014-9-20 14:24
老大,你之前发的通过HTTP网络安装ISO系统,里面的选择iso.bat这个文件是否可以发给我一个!?
作者: ljycslg    时间: 2014-9-20 14:35
2012hc5568892 发表于 2014-9-20 14:24
老大,你之前发的通过HTTP网络安装ISO系统,里面的选择iso.bat这个文件是否可以发给我一个!?
  1. @echo off
  2. color 2f
  3. setlocal EnableDelayedExpansion
  4. :main
  5. cls
  6. set n=0
  7. echo.      ---------------HTTP网络安装ISO选择菜单-------------
  8. echo.
  9. for /r %%i in (*.iso) do (
  10. set /a n=n+1
  11. echo !n!. %%~nxi
  12. echo.
  13. )
  14. Set /p c=选择iso:
  15. if "%c%"=="" goto main
  16. set n=0
  17. for /r %%j in (*.iso) do (
  18. set /a n=n+1
  19. if "%c%"=="!n!" (
  20. echo set isoname=%%~nxj>iso
  21. set isoname=%%~nxj
  22. cls
  23. echo.
  24. echo 选择了%%~nxj && goto :end
  25. )
  26. )
  27. :error
  28. goto main
  29. :end
  30. pause
复制代码

作者: 2012hc5568892    时间: 2014-9-20 14:41
ljycslg 发表于 2014-9-20 14:35

老大谢谢了,对了!如果直接用sanboot命令的话,是不是就不需要用这个批处理文件了?

作者: 510819776    时间: 2014-9-30 01:51
2012hc5568892 发表于 2014-9-20 10:21
小弟想问一下。
set keep-san 1
sanboot --drive 0xff http://${next-server}/ghost.iso

sanboot对http服务器有严格要求
sanboot对要启动的iso也有严格要求
并非是个可启动iso就能替换
测试了好几个win7/8的pe的iso都不行
最后还是找了个能用的pe 以它为模版制作出新的iso 终于可以完美启动了
iso的引导方式很重要 实模式 模拟等 会有影响的


作者: 2012jhbbwgl    时间: 2014-10-3 17:20
http://${next-server}/,请各位大仙,这个是什么意思,本人刚学
作者: shwk88888    时间: 2014-10-31 22:41
2012hc5568892 发表于 2014-9-20 14:41
老大谢谢了,对了!如果直接用sanboot命令的话,是不是就不需要用这个批处理文件了?

刚看了您发的“通过HTTP网络安装ISO系统”想学习一下,可是网盘连接已经失效了,请问能给个新连接吗?谢谢
作者: 2012hc5568892    时间: 2014-11-3 14:37
shwk88888 发表于 2014-10-31 22:41
刚看了您发的“通过HTTP网络安装ISO系统”想学习一下,可是网盘连接已经失效了,请问能给个新连接吗?谢 ...

这个链接我没有,只是需要里面的那个批处理。你可以问版主要,或者使用版主的PE。功能是一样的
作者: shwk88888    时间: 2014-11-3 15:00
2012hc5568892 发表于 2014-11-3 14:37
这个链接我没有,只是需要里面的那个批处理。你可以问版主要,或者使用版主的PE。功能是一样的

哦,谢谢
作者: wwwzhuce    时间: 2014-11-5 13:16
大仙能用虚拟机做一个视频教程吗?
作者: wowooo    时间: 2014-11-26 20:46
这个方便
作者: qli365    时间: 2014-11-30 22:04
多谢楼主了,这个问题困扰我好几天了,从pxe --> gpxe--> ipxe 今天已经看 iSCSI target 了,看到晚上 CentOS7 就是安装不上,急人,查google 知道了,现在用 targetcli了,安装也简单,yum -y install targetcli
这是我的过程,dos IMG、cdlinux早就起来了,就差pe.iso了,真是太感谢了。
看完帖子测试 小马pe 成功,测试win7安装盘不行,可能是太大了,要是远程局域网安装可能只有两种办法了,一种是win2008里面的windows部署,一种就是targetcli了,也许启动pe进入在网络安装也可以,还没试过。
总之非常感谢。
作者: 2011xiongdeyuan    时间: 2015-2-14 12:43
好的,谢谢分享
作者: fanggong    时间: 2015-2-28 08:29
非常精彩,谢谢分享!
作者: 2011xiongdeyuan    时间: 2015-4-15 07:16
能给个详细的教程吗?
作者: huaqingyuan    时间: 2015-9-11 16:46
本帖最后由 huaqingyuan 于 2015-9-11 16:52 编辑

用你的最新ISO测试了一下,64位能正常启动,32为文件加载一半死机。好奇怪,以前都是32位没问题,现在反过来了。估计是不是也和连续存放有关系
用的是sanboot --drive 0xff http://${next-server}/XXX.ISO命令.这样网路启动应该最快了。而且配置简单。
也搭建了ISCSI服务,将ISO虚拟为ISCSI的光驱,也都能启动,但是启动很慢。第一个慢的地方是加载,比HTTP模式慢,但是可以忍受,
不能忍受的是后面的环节,一直滚,但是最终还是可以启动。优点就是启动后光驱还在,能访问网路光驱里面的文件。
将PE解开配置在IMG或者VHD文件里面,然后做成ISCSI磁盘也是一样的效果。估计是卡在iScsiPrt服务这里,有空我将这个服务设置为手动在测试。
感觉就是sanboot --drive 0xff http://${next-server}/XXX.ISO快,但是可能出问题,启动后也没有CD。
sanboot iscsi:${next-server}::::iqn.test.iso或者sanboot iscsi:${next-server}::::iqn.test.VHD
这样启动稳定,而且能访问服务器虚拟出来的CD或者硬盘。缺点就是慢。当然无网路的PE不在讨论之列
作者: ljycslg    时间: 2015-9-11 20:30
huaqingyuan 发表于 2015-9-11 16:46
用你的最新ISO测试了一下,64位能正常启动,32为文件加载一半死机。好奇怪,以前都是32位没问题,现在反过 ...

sanboot兼容性不行,早就不玩了,最新ISO里tiny pxe配合win10原生启动文件速度兼容性怎么样?

作者: huaqingyuan    时间: 2015-9-12 11:35
win10原生启动文件速度等同WIN8.1,兼容性不错。顺便测试了UEFI感觉比原生的BIOS方式快一些。
后面有测试了IPXE 的UEFI模式,HTTP方式和普通的HTTP差不多。目前IPXE 的UEFI模式下的SANBOOT命令还不能使用,无法测试,我比较期待IPXE 的UEFI模式下的SANBOOT命令,因为SANBOOT其实兼容不错,我是说无盘环境启动WIN8.1.这个命令OK了,UEFI 无盘就没有问题了。(PE环境SANBOOT慢其实是PE的原因,),
作者: ljycslg    时间: 2015-10-24 14:52
本帖最后由 ljycslg 于 2015-10-24 15:02 编辑
huaqingyuan 发表于 2015-9-12 11:35
win10原生启动文件速度等同WIN8.1,兼容性不错。顺便测试了UEFI感觉比原生的BIOS方式快一些。
后面有测试 ...


最近在鼓捣iscsi,发现了你说的现象,不过原版WinRE也是一样的慢
给PE添加了iscsi服务和发起程序,对需要连接iscsi盘维护的情况,可以进pe后连接,避开sanboot
作者: 2012kwoklee    时间: 2016-4-20 23:39
这个学习了,多谢楼主
作者: 2012huguoliang    时间: 2017-3-29 09:35
期待完美解决方案 就像CCBOOT启动VHD一样
作者: 熄灭的烟    时间: 2018-1-6 16:58
这种方式能启动原版ISO系统光盘吗?
作者: 青青草    时间: 2018-1-7 20:26
谢谢分享!
作者: 江南一根葱    时间: 2018-1-10 14:35
最早玩的就是这个,记得老早就离线收藏了
作者: jinke    时间: 2018-4-12 10:52

作者: txh0714    时间: 2018-4-13 20:21
ljycslg 发表于 2014-3-26 23:04
http://pan.baidu.com/s/1i3qRSHJ
命令:
sanboot --drive 0x80 http://${next-server}/ghost.img

大神,我是小白,请问ghost的img文件放在哪?anboot --drive 0x80 http://${next-server}/ghost.img命令写在哪?能否指导一下?谢谢了!
作者: gjf8844    时间: 2018-5-5 13:18
11111
作者: 2010angool    时间: 2018-6-7 23:05
楼主链接失效了,请问还能提供一个给我么?私信也行,谢谢了
作者: papago    时间: 2018-10-18 15:30
[教程] ipxe的sanboot命令:通过http直接启动iso、img
作者: papago    时间: 2018-10-18 15:31
ljycslg 发表于 2014-3-27 15:30
那么内存方式是否可以?
  initrd http://${next-server}/ghost.img || goto retry
  chain http://${n ...

内存方式是否可以?
  initrd http://${next-server}/ghost.img || goto retry
  chain http://${next-server}/memdisk || goto retry
作者: xinzaixin    时间: 2020-1-14 17:55
看不懂。。。好高级
作者: 312439374    时间: 2021-12-19 20:35
请问下,我运行后,提示"sanboot"命令不存在,.这个啥问题啊




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