[grub4dos] grub4dos 0.4.6a ipxegrldr 功能介绍
发表于 最新版本grub4dos的发行包里面有一个ipxegrldr
文件,这个文件其实是整合了undionly.kpxe
和grldr
的文件,可以作为PXE的启动文件.
新的功能
- 使用该文件启动可以完整支持
ipxe
的所有功能调用,通过它允许直接在grub4dos
下访问WEB
或SAN
上面的文件. 另外相对应的增加了一个命令
ipxe
,使用它可以调用各种ipxe命令ipxe 命令语法: ipxe [cmd] [params]
相关用法介绍
可以直接访问网络上的文件.
cat http://b.chenall.net/menu.ipxe map --mem http://b.chenall.net/ntboot.iso (0xff) map --hook ls (0xff)
利用
ipxe
命令来实现更多功能使用ipxe命令时需要注意一点,最好在文本模式下运行(terminal console)运行ipxe,特别是像
ipxe chain
或ipxe boot
之类的,否则会看不到ipxe的回显.看起来就像是假死状态.可以直接调用ipxe的各种命令,例子
直接调用ipxe菜单(注:在ipxe菜单中可以用exit命令返回)
ipxe chain http://b.chenall.net/menu.ipxe
直接使用ipxe启动网络上的文件
ipxe chain http://b.chenall.net/grldr
直接使用ipxe启动网络上的镜像文件例子
ipxe sanboot http://b.chenall.net/ntboot.img ipxe sanboot iscsi:10.0.4.1:::1:iqn.2010-04.org.ipxe.dolphin:storage
高级用法,通过sanhook来直接把网络上的镜像映射为一个本地设备.
sanhook 可以把映射一个网络镜像相当于grub4dos的map,只是这个是直接映射,读写都是通过网络完成的.
sanunhook 删除一个映射.ipxe sanhook -d 0xff http://b.chenall.net/ntboot.iso ipxe sanunhook -d 0xff
iSCSI SAN URI
The format of an iSCSI SAN URI is defined by RFC 4173. The general syntax is:
iscsi:<servername>:<protocol>:<port>:<LUN>:<targetname>
For example:
iscsi:10.0.4.1:::1:iqn.2010-04.org.ipxe.dolphin:storage iscsi:boot.ipxe.org::::iqn.2010-04.org.ipxe.boot:public iscsi:192.168.0.1::::iqn.1991-05.com.microsoft:msdos622-target iscsi:opensolaris.home::::iqn.1986-03.com.sun:02:e9abf4cd-714b-c6ec-d017-eea5a56252ed
<servername>
is the DNS name or IP address of the iSCSI target.<protocol>
is ignored and can be left empty.1)<port>
is the TCP port of the iSCSI target. It can be left empty, in which case the default port (3260) will be used.<LUN>
is the SCSI LUN of the boot disk, in hexadecimal. It can be left empty, in which case the default LUN (0) will be used.<targetname>
is the iSCSI target IQN.If you are using iSCSI authentication, then you will need to configure the username and password settings (and possibly also the reverse-username and reverse-password settings) before attempting to connect to the SAN target. There is no way to specify usernames and passwords directly within the iSCSI SAN URI.
wimboot
grub4dos下也可能直接通过ipxe来加载wimboot,但是有一些需要注意,否则会启动失败.
例子: 有一个boot.ipxe文件在服务器上
#!ipxe
imgfree
imgfree
imgfree
kernel wimboot
initrd boot/bcd BCD
initrd boot/boot.sdi boot.sdi
initrd boot/bootmgr bootmgr
initrd boot/boot.wim boot.wim
boot
注: 几个imgfree的命令是保证当前ipxe加载的镜像内容为空,也就是让使用imgstat命令显示的内容为空.
然后直接使用GRUB4DOS的ipxe命令加载
## terminal console 是必须的,切换到文本模式,否则启动可能会不显示(假死状态).
terminal console
## -a 参数也是必须的,自动释放boot.ipxe镜像,否则有可能会失败.
ipxe chain -a http://192.168.0.1/boot.ipxe
以上是ipxe的原生方法来启动wimboot,也可以使用grub4dos内置的用法(目前不稳定有时会导致重启).
title Wimboot
kernel /wimboot
initrd @bcd=/boot/bcd @bootmgr=/boot/bootmgr @boot.sdi=/boot/boot.sdi @boot.wim=/boot/boot.wim
boot
后记: 使用ipxegrldr
作为PXE启动文件还有另一个好处,就是如果网络正常的话,使用ipxegrldr
总是会优先使用 http://b.chenall.net/grldr 来启动,也就是说总是使用最新的版本.当然了如果网络不通的话就使用内置的版本.如果你不需要这个功能的话可以直接使用undionly.kpxe自己写菜单来启动grldr