用Microsoft iSCSI Software Target作ISCSI PXE 启动无盘 xp ,win7,PE
style="font-size:14px;"> 用Microsoft iSCSI Software Target作ISCSI PXE 启动无盘 xp ,win7,PE
近日实验了下用Microsoft iSCSI Software Target作ISCSI PXE 启动无盘 xp ,win7,PE。相关的资料来自网上和自己的总结。
一服务端的设置
右键设备可以创建虚拟磁盘,XP的10G,win7的12G,创建好的可以在右键菜单中选择磁盘访问装载读取
装载好虚拟磁盘后,可以在磁盘管理中看到装载的vhd盘,新装载的盘要进行初始化,格式化,设为活动分区。
虚拟磁盘设置好后再设置ISCSI目标,右键创建ISCSI目标,IQN的默认名称可以更改。
IQN的发起程序可以选择MAC地址,IP地址,或IQN名称。这里要注意的是如果IQN的发起程序没做设置的话,虚拟磁盘会无法连接的。gpxe,gpxelinux.0等的默认IQN名称为iqn.2000-09.org.etherboot:unknown,而且为了测试方便,IQN的发起程序我设置了两个IQN名称。
二启动文件和菜单的准备
可以用于iscsi PXE 启动的启动管理器有IPXE GPXE 以及syslinux中的gpxelinux.0。如果不想每次都启动都输入一堆的话,建议用PXE >>grldr>>gpxelinux.0来做测试。TFTP的启动目录下grldr的menu.lst为
title goto gpxelinux.0
pxe keep
chainloader --force --raw (pd)/gpxelinux.0
在syslinux中找到这几个文件gpxelinux.0 cmd.c32 sanboot.c32 menu.c32 拷贝到和grldr同一目录下。在TFTP的启动目录下建立子目录pxelinux.cfg,子目录内放置gpxelinux菜单文件default,内容为
DEFAULT menu.c32
TIMEOUT 100
PROMPT 0
MENU WIDTH 70
MENU MARGIN 20
MENU ROWS 10
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW 24
MENU TIMEOUTROW 20
MENU TITLE FTP FASTST MENU
LABEL boot1
MENU LABEL ISCSI BOOT 1
kernel sanboot.c32
append set keep-san 1
append iscsi:192.168.137.201::::iqn.t:a
LABEL boo12
MENU LABEL ISCSI BOOT 2
kernel cmd.c32
append set keep-san 1
append sanboot iscsi:192.168.137.201::::iqn.t:b
这两个菜单中ip地址为SCSI服务的IP地址,iqn.t:a以及iqn.t:b为要连接的ISCSI虚拟磁盘名称。两个菜单中命令有所不同,但功能都是一样的。经测试,在这个环境下是无法更改发起端IQN默认名称iqn.2000-09.org.etherboot:unknown的
也可以到 在线生成,选customize可输入脚本如
dhcp net0
set keep-san 1
set initiator-iqn iqn.test:xp
sanboot iscsi:192.168.137.201::::iqn.t:b
在线生成的是可以自定义iqn 名称的。在线可生成各种格式,如和grldr菜单配合用PXE启动,选生成kpxe或kkpxe,选ISO或其他方式也可以。
用ipxe的话在ctrl b后输入也是可以自定义iqn 名称,并正常启动的。
三无盘xp系统
先安装好XP系统。再安装软件Initiator-2.08-boot-build3825-x86chk.exe,这个一定要文件名带CHK的。再安装sanbootconf,这两个软件只要一路回车就可以了。提供下载如下
以下内容跟帖回复才能看到
==============================
无盘win7系统
安装好win7系统。据说只有旗舰版和专业版才支持SCSI boot,我是用旗舰版试的。
win7系统做无盘只需要注册表中改一个地方,也就是Disable the LightWeight Filter (LWF) driver for the NIC
网上的资料有的说用gpxe连上SCSI后用光盘装,还有说关掉网卡的QOS,实践证明这都不可能启动成功,
国内的无盘win7好像都是无盘网吧的一些软件做出来的,搞得很神秘,又是加密的系统镜像又是这工具那工具。其实就是改一个注册表的值就好了。
以下内容跟帖回复才能看到
==============================
安装好的win7系统,regedit编辑注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
点开后下面有很多像0001这样的子项,找到网卡所在的子项,就是右边的DriverDecs描述的是本机网卡的,图中的是0007子项。
点这个子项下的linkage,在右边有一个项FilterList,双击后可看到值有两行
将下面的这行{B70D6460-3635-4D42-B866-B8AB1A24454C}删除。删除后会出现提示,确定就好了。
==============================
按以上修改好后,就可以将win7系统镜像到服务端的VHD中了。
做scsi启动的pe
先测试好硬盘用GRLDR做引导和相关PE及工具,然后创建个1G或2G大的VHD,将硬盘版的东西都复制到VHD中,并将挂载的VHD激活为活动的主分区就可以了。
还有些不是特别清楚的就写在这里,希望能和各位探讨。
1 Microsoft iSCSI Software Target支持多线程吗?就是多个客户端同时连接一个VHD。
在2008系统下可以打开MPIO,具体没试过。用做无盘的VHD可以设置为只读,也可建立快照,怎样设置能方便一个主镜像,多个客户端同时使用的环境。
经测试,其他客户端启动时因网卡已经不同,会在滚动条界面卡住。
2 用gpxelinux.0来连接时的IQN发起名称修改后不起作用还是iqn.2000-09.org.etherboot:unknown,
还没测试成功。
经测试,用IPXE的命令行,GPXE的命令行,gpxe在线定制生成是可以自定义IQN名称的
Ctrl-B into command line
dhcp net0
set keep-san 1
set initiator-iqn iqn.test:1
sanboot iscsi:192.168.1.11::::iqn.t:b
3 Microsoft iSCSI Software Target的ISCSI发起程序标识符IQN必须是IP,MAC,IQN,DNS域名,用自定义的IQN名称是最灵活方便的。如用DNS域名要设置哪些地方?
分享到