信长野望 发表于 2016-11-8 15:14:32

如何网络启动Windows 7?

本帖最后由 信长野望 于 2016-11-9 07:54 编辑

大家好,如何网络启动win7?设置无盘win7系统的服务器的教程在哪里?给个链接,谢谢!!

luobo3230 发表于 2016-11-8 18:36:54

什么意思, 网络启动PE还是网络启动系统?

不知 发表于 2016-11-8 20:14:21

在无盘区和网络启动区去找一下,不过估计没有,windows 7 的应该有。

信长野望 发表于 2016-11-9 07:51:08

本帖最后由 信长野望 于 2016-11-9 07:54 编辑

luobo3230 发表于 2016-11-8 18:36
什么意思, 网络启动PE还是网络启动系统?

网络启动windows7

luobo3230 发表于 2016-11-9 12:35:06

像网吧那样的 无盘启动的话,   像信佑 锐起 网维等等,要去网吧论坛找。一般企业和个人很少用的少, 测试可以玩玩。

不知 发表于 2016-11-10 08:46:33

信长野望 发表于 2016-11-9 07:51
网络启动windows7

都有

wuyufeng 发表于 2017-8-11 14:35:41

谢谢分享

tjmcl 发表于 2018-2-16 14:02:15

{:1_183:}

hkkitlee 发表于 2019-7-5 19:32:25

http://ipxe.org/wimboot

ngy 发表于 2019-12-30 13:15:42

呵,这个必须要支持啊

yzw92 发表于 2020-1-17 06:28:37


谢谢分享

博丽灵梦 发表于 2020-1-19 23:09:56

本帖最后由 博丽灵梦 于 2020-1-19 23:28 编辑

我来回答 包好!
实现完整win7网络启动一般是通过PxE启动,然后引导位于iSCSI上的硬盘镜像。
这里需要的东西有:
1. 支持PxE启动的电脑一台,UEFI或者BIOS都行
2. 一个能广播PxE启动信息的DHCP服务器,比如Openwrt里面的DNSMASQ(IPv4)
3. 一个TFTP服务器,用于提供PxE启动所需要的一些文件
4. 一个iSCSI Target,用于提供Win7的安装磁盘

2,3,4这里可以是Windows或者Linux,而且2,3,4可以是不同的电脑。我这里实际成功的情况是:
3,4由64位的Debian 10提供, 2号的DHCP服务器是运行Openwrt的。具体步骤如下:

1. 在Openwrt的shell上为/etc/dnsmasq.conf添加如下内容:
dhcp-match=set:bios,60,PXEClient:Arch:00000
dhcp-boot=tag:bios,undionly.XXXXX,dell,192.168.x.x

dhcp-match=set:efibc,60,PXEClient:Arch:00007
dhcp-boot=tag:efibc,ipxe.efi,XXXXX,192.168.x.x

dhcp-match=set:efi64,60,PXEClient:Arch:00009
dhcp-boot=tag:efi64,ipxe.efi,XXXXX,192.168.x.x
这里192.168.x.x是你提供TFTP服务的地址。添加完成后运行/etc/init.d/dnsmasq restart让配置生效。

2. 在要提供TFTP的那台Debian主机上运行apt install tftpd-hpa来安装tftp服务器,然后编辑vi /etc/default/tftpd-hpa来改TFTP的根目录,这里设定为/srv/tftp。然后运行systemctl restart tftpd-hpa让配置生效。

3. 在/srv/tftp/里放ipxe.lkrn ipxe.efi wimboot这些文件,并把win7安装盘里的bcd boot.sdi bootmgr还有boot.wim都放到/srv/tftp/里。ipxe.lkrn ipxe.efi是经过我编译的ipxe启动软件,默认初始化DHCP并加载main.ipxe作为菜单。



4. 编辑/srv/tftp/main.ipxe,内容:
#!ipxe
# dhcp

# HTTP and iSCSI
set iscsi-server      ${next-server}

# Some menu defaults
set menu-timeout 10000
set submenu-timeout ${menu-timeout}
set menu-default windows7_iscsi

:start
menu iPXE boot menu
item test Test
item --gap --                   ------------------------- Operating systems ------------------------------
item            windows7_iscsi          Boot from iSCSI
item --gap --                   ---------------------------- Installers ----------------------------------
item            windows7_inst         Install Windows 7 (WIM)
item --gap --                   ------------------------- Advanced options -------------------------------
item            shell                   Drop to iPXE shell
item            reboot                  Reboot
item
item --key x    exit                  Exit iPXE and continue BIOS boot
choose --timeout ${menu-timeout} --default ${menu-default} selected || goto cancel
set menu-timeout 0
goto ${selected}

:cancel
echo You cancelled the menu, dropping you to a shell

:shell
echo Type 'exit' to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start

:reboot
reboot

:exit
exit

###
### Custom menu entries
:windows7_inst
set keep-san 1
# Has to be 0x80 otherwise installer wont accept the disk
sanhook --drive 0x80 iscsi:${iscsi-server}:tcp:3260:1:myiscsi:lun0
kernel wimboot
initrd BCD
initrd boot.sdi
initrd boot.wim
boot
goto start

:windows7_iscsi
set gateway 0.0.0.0
clear net0.dhcp/gateway:ipv4
set keep-san 1
sanboot --drive 0x80 iscsi:${iscsi-server}:tcp:3260:1:myiscsi:lun0
goto start这里的“set iscsi-server      ${next-server}”假设TFTP和ISCSI运行在同一台服务器上。现在可以在要远程启动的那台PC上测试了,如果能看到IPXE的启动菜单则说明TFTP和DHCP服务配置正确。

5. 安装iSCSI Target,这里选用TGT在Debian上做Target,其实Windows Server好像也能做iSCSI Target。在Debian上运行sudo apt install -y tgt安装tgt,之后新建/etc/tgt/conf.d/TecMint_iscsi.conf,内容为:
<target myiscsi:lun0>
# Provided device as an iSCSI target
backing-store /win7.img
</target>创建win7.img,用于提供储存安装win7,运行:dd if=/dev/zero of=/win7.img bs=1M count=20480,这里20480单位MB。
之后让配置生效:sudo service tgt restart
然后查看下tgt暴露的iSCSI驱动:sudo tgtadm --lld iscsi --op show --mode target, 如果看到LUN1,则说明成功。


6. 启动那台要远程启动的PC,通过网络启动,选择Install Win7 (WIM)。进PE之后,按Shift+F10打开CMD窗口,运行wpeutil initializenetwork启动网络支持。之后运行IPCONFIG看看是否有获取到IP,如果没有,则需要为PE加载网卡驱动。如果有IP,运行diskpart然后list disks,如果能看到iSCSI磁盘说明成功。插入win7安装磁盘,之后按照正常方式安装win7,分区选那个iSCSI设备。


7. 等复制完文件的重启之后,选择Boot from iSCSI,继续Win7安装。等安装好之后,想再进系统,都选Boot from iSCSI。安装驱动过程和本地安装win7无异。


注意:如果是用win7安装盘而不是IPXE网络启动的安装程序,则看不到iSCSI设备,这点要特别注意!!!

差不多写这么多吧,后面有问题也可以问

页: [1]
查看完整版本: 如何网络启动Windows 7?