无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 59873|回复: 81
打印 上一主题 下一主题

[教程] ipxe的sanboot命令:通过http直接启动iso、img

    [复制链接]
跳转到指定楼层
1#
发表于 2014-3-23 17:12:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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示例



推荐
发表于 2014-4-24 16:00:11 | 只看该作者
好像 ISCSI TARGET 服务要起来。 而且 iscsi initiator 要能 访问 target 服务。 不然总是报 Could not open SAN device: No such device (http://ipxe.org/2c0d603b)。。
回复

使用道具 举报

推荐
发表于 2014-4-8 14:13:33 | 只看该作者
ljycslg 发表于 2014-4-7 23:36
不好意思,原帖没有说明
网段内已有dhcp,比如路由器,需要勾上proxydhcp
没有dhcp的情况比如你的双机 ...

好的我今天试试,谢谢楼主的回答·····
回复

使用道具 举报

推荐
 楼主| 发表于 2014-3-26 23:04:09 | 只看该作者
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, 在虚拟机上测试

点评

大神,我是小白,请问ghost的img文件放在哪?anboot --drive 0x80 http://${next-server}/ghost.img命令写在哪?能否指导一下?谢谢了!  详情 回复 发表于 2018-4-13 20:21
请重新提供ghost.img下载。我的ghost倒是运行起来了。但是连接不上ghost服务器。  详情 回复 发表于 2014-4-26 15:15
不成功,,iso也不成功。。求解。 [attachimg]190351[/attachimg]  详情 回复 发表于 2014-3-27 14:06
回复

使用道具 举报

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

可以成功启动。。
回复

使用道具 举报

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

能做个范例么?谢谢。。

点评

http://pan.baidu.com/s/1i3qRSHJ 命令: sanboot --drive 0x80 http://${next-server}/ghost.img 启动就会直接ghost, 在虚拟机上测试  详情 回复 发表于 2014-3-26 23:04
回复

使用道具 举报

7#
发表于 2014-3-27 14:06:59 | 只看该作者
ljycslg 发表于 2014-3-26 23:04
http://pan.baidu.com/s/1i3qRSHJ
命令:
sanboot --drive 0x80 http://${next-server}/ghost.img

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


点评

那么内存方式是否可以? initrd http://${next-server}/ghost.img || goto retry chain http://${next-server}/memdisk || goto retry  详情 回复 发表于 2014-3-27 15:30
回复

使用道具 举报

8#
 楼主| 发表于 2014-3-27 15:30:33 | 只看该作者
yd99zgb 发表于 2014-3-27 14:06
不成功,,iso也不成功。。求解。

那么内存方式是否可以?
  initrd http://${next-server}/ghost.img || goto retry
  chain http://${next-server}/memdisk || goto retry

点评

内存方式是否可以? initrd http://${next-server}/ghost.img || goto retry chain http://${next-server}/memdisk || goto retry  详情 回复 发表于 2018-10-18 15:31
可以成功启动。。  详情 回复 发表于 2014-3-27 16:16
回复

使用道具 举报

9#
发表于 2014-4-5 13:49:05 | 只看该作者
想问一下我用该软件怎么不给我分配IP地址,就是在启动后客户端会获取IP地址就是软件貌似没有分配求楼主发布该软件的设置教程·····

点评

你没有路由器?勾掉proxyDHCP  详情 回复 发表于 2014-4-5 15:32
回复

使用道具 举报

10#
 楼主| 发表于 2014-4-5 15:32:34 | 只看该作者
极乐白虎 发表于 2014-4-5 13:49
想问一下我用该软件怎么不给我分配IP地址,就是在启动后客户端会获取IP地址就是软件貌似没有分配求楼主发布 ...

你没有路由器?勾掉proxyDHCP

点评

虚拟机我试过了不行还有电脑我做的交叉线也试过了同样就是客户机没有获取到IP地址·····  详情 回复 发表于 2014-4-7 23:30
回复

使用道具 举报

11#
发表于 2014-4-7 23:30:28 | 只看该作者
ljycslg 发表于 2014-4-5 15:32
你没有路由器?勾掉proxyDHCP

虚拟机我试过了不行还有电脑我做的交叉线也试过了同样就是客户机没有获取到IP地址·····

点评

不好意思,原帖没有说明 网段内已有dhcp,比如路由器,需要勾上proxydhcp 没有dhcp的情况比如你的双机互连就不需要proxydhcp 虚拟机建议用桥接模式  详情 回复 发表于 2014-4-7 23:36
回复

使用道具 举报

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

不好意思,原帖没有说明
网段内已有dhcp,比如路由器,需要勾上proxydhcp
没有dhcp的情况比如你的双机互连就不需要proxydhcp
虚拟机建议用桥接模式

点评

好的我今天试试,谢谢楼主的回答·····  详情 回复 发表于 2014-4-8 14:13
回复

使用道具 举报

13#
发表于 2014-4-26 15:15:16 | 只看该作者
ljycslg 发表于 2014-3-26 23:04
http://pan.baidu.com/s/1i3qRSHJ
命令:
sanboot --drive 0x80 http://${next-server}/ghost.img

请重新提供ghost.img下载。我的ghost倒是运行起来了。但是连接不上ghost服务器。

点评

http://pan.baidu.com/s/1o6jWUb4  详情 回复 发表于 2014-4-26 16:19
回复

使用道具 举报

14#
 楼主| 发表于 2014-4-26 16:19:15 | 只看该作者
dhdn119 发表于 2014-4-26 15:15
请重新提供ghost.img下载。我的ghost倒是运行起来了。但是连接不上ghost服务器。

http://pan.baidu.com/s/1o6jWUb4

点评

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

使用道具 举报

15#
发表于 2014-4-26 17:01:34 | 只看该作者
ljycslg 发表于 2014-4-26 16:19
http://pan.baidu.com/s/1o6jWUb4

ghost.img下载下来了。你这种方式只是把系统镜像装在了里面。如果系统的镜像相当大就没办法了,比如win7的系统镜像。我想要的方式是dos环境下加载网卡通用驱动来连接ghost服务器来完成网络克隆。

点评

你说的maxdos不是做的很好了吗? 我这个不需要网卡驱动,镜像大小多大都行,关键还是dos这玩意已经过时,兼容性不行  详情 回复 发表于 2014-4-26 17:38
回复

使用道具 举报

16#
 楼主| 发表于 2014-4-26 17:38:32 | 只看该作者
dhdn119 发表于 2014-4-26 17:01
ghost.img下载下来了。你这种方式只是把系统镜像装在了里面。如果系统的镜像相当大就没办法了,比如win7 ...

你说的maxdos不是做的很好了吗?
我这个不需要网卡驱动,镜像大小多大都行,关键还是dos这玩意已经过时,兼容性不行
回复

使用道具 举报

17#
发表于 2014-4-29 11:47:01 | 只看该作者
http引导ISO的速度确实快。就是img映像的支持不太好。很多grldr能启动的img用这个启动会出错。楼主的img是用什么软件制作的。我用winimage、UltraISO制作的都不行。

点评

虚拟机上测试没问题后用winhex捕获  详情 回复 发表于 2014-4-29 12:15
回复

使用道具 举报

18#
发表于 2014-4-29 11:48:03 | 只看该作者
还有就是maxdos加载网卡也是用dos的方式。
回复

使用道具 举报

19#
 楼主| 发表于 2014-4-29 12:15:43 | 只看该作者
dhdn119 发表于 2014-4-29 11:47
http引导ISO的速度确实快。就是img映像的支持不太好。很多grldr能启动的img用这个启动会出错。楼主的img是 ...

虚拟机上测试没问题后用winhex捕获
回复

使用道具 举报

20#
发表于 2014-4-29 15:08:38 | 只看该作者
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方式是没问题的

点评

就用的官方编译版 我是不折腾了,兼容性不行,推荐折腾sanboot 启动iscsi,pe里集成iscsi驱动,这样进入pe后也能从服务器读取 毕竟是标准无盘方案  详情 回复 发表于 2014-4-29 15:50
回复

使用道具 举报

21#
 楼主| 发表于 2014-4-29 15:50:28 | 只看该作者
北斗 发表于 2014-4-29 15:08
ljycslg兄能提供一下你实现这个sanboot功能时使用的ipxe.0(就是之前编译的64K的版本)+menu.ipxe,或者*** ...

就用的官方编译版
我是不折腾了,兼容性不行,推荐折腾sanboot 启动iscsi,pe里集成iscsi驱动,这样进入pe后也能从服务器读取
毕竟是标准无盘方案

点评

官方的ipxe 的sanboot http iso功能确实很诡异 但是我分析了一下 大约问题是出在 http对于ipxe的请求文件的响应时间上 似乎需要http服务器做出最快的响应才行 换了hfs做http服务直接失败 **  详情 回复 发表于 2014-8-10 00:12
回复

使用道具 举报

22#
发表于 2014-4-29 16:53:55 | 只看该作者
多谢ljycslg兄,一直以来从兄那里受益颇多。

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

另外测试了ljycslg兄提供的那个Tiny Server,它自带的HTTP服务传输映像的速度比其他第三方的HTTP服务器快很多,传送几百MB的大映像时,接近100MB/s的速度,几乎是千兆环境的极限了,这个很给力,白玉微瑕的是iPXE初始化的耗时比较长,或多或少抵消了一些高速传输的优势(客户机启动耗费的总的时间并没有很明显的减少)。

点评

只是不额外占用,其他情况跟本地启动并不少占内存。原先的TFTP模式的,也不多占用内存的。 如果不是非RAM方式,内核还是要搬运到内存的。  详情 回复 发表于 2014-4-30 17:56
回复

使用道具 举报

23#
发表于 2014-4-30 17:56:33 | 只看该作者
北斗 发表于 2014-4-29 16:53
多谢ljycslg兄,一直以来从兄那里受益颇多。

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


这个与内核减不减肥关系不大。只是不额外占用,其他情况跟本地启动并不少占内存。原先的TFTP模式的,也不多占用内存的。
如果不是非RAM方式,内核还是要搬运到内存的。
回复

使用道具 举报

24#
发表于 2014-6-24 09:02:58 | 只看该作者
太高深了
回复

使用道具 举报

25#
发表于 2014-8-10 00:12:57 | 只看该作者
本帖最后由 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模式了

回复

使用道具 举报

26#
发表于 2014-9-12 13:01:32 | 只看该作者
其实还是用memdisk更快。
回复

使用道具 举报

27#
发表于 2014-9-20 10:21:27 | 只看该作者
小弟想问一下。
set keep-san 1
sanboot --drive 0xff http://${next-server}/ghost.iso
这个命令里面的ghost.iso是否可以换成我想要启动的iso文件,另外这个命令添加到哪里,LZ可否给个范本看一下

点评

sanboot对http服务器有严格要求 sanboot对要启动的iso也有严格要求 并非是个可启动iso就能替换 测试了好几个win7/8的pe的iso都不行 最后还是找了个能用的pe 以它为模版制作出新的iso 终于可以完美启动了 iso的  详情 回复 发表于 2014-9-30 01:51
回复

使用道具 举报

28#
发表于 2014-9-20 14:24:07 | 只看该作者
老大,你之前发的通过HTTP网络安装ISO系统,里面的选择iso.bat这个文件是否可以发给我一个!?
回复

使用道具 举报

29#
 楼主| 发表于 2014-9-20 14:35:01 | 只看该作者
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
复制代码

点评

老大谢谢了,对了!如果直接用sanboot命令的话,是不是就不需要用这个批处理文件了?  详情 回复 发表于 2014-9-20 14:41
回复

使用道具 举报

30#
发表于 2014-9-20 14:41:13 | 只看该作者

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

点评

刚看了您发的“通过HTTP网络安装ISO系统”想学习一下,可是网盘连接已经失效了,请问能给个新连接吗?谢谢  详情 回复 发表于 2014-10-31 22:41
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 04:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表