绿联 NAS + iPXE + iSCSI:Windows 11 无盘双盘启动和一键切换

这篇是完整可复制版。目标是让无硬盘小主机通过 PXE/iPXE 从绿联 NAS 的 iSCSI 启动 Windows 11,并且支持和 fnOS、Ubuntu 等系统一键切换。

Windows 11 iSCSI 绑定

机器和磁盘

  • NAS:192.168.31.20
  • 小主机固定 IP:192.168.31.88
  • 小主机 MAC:48:f3:17:16:36:cd
  • Win11 C 盘:iqn.2025-03.com.ugreen:target-1.ec461632bc
  • Win11 D 盘:iqn.2025-03.com.ugreen:target-1.42e2eca395
  • Initiator:iqn.2026-05.local.win11:host-01

Windows 11 一键切换流程

一键切换命令

第一次安装:

/volume4/fnos-pxe/bin/switch-ip-os.sh 192.168.31.88 win11-installer

安装器复制文件并第一次重启后:

/volume4/fnos-pxe/bin/switch-ip-os.sh 192.168.31.88 win11

日常启动 Win11:

/volume4/fnos-pxe/bin/switch-ip-os.sh 192.168.31.88 win11

切回 fnOS:

/volume4/fnos-pxe/bin/switch-ip-os.sh 192.168.31.88 fnos

重新绑定 Win11 C/D 盘

/volume4/fnos-pxe/bin/attach-win11-targets.sh 192.168.31.88 \
  iqn.2025-03.com.ugreen:target-1.ec461632bc \
  iqn.2025-03.com.ugreen:target-1.42e2eca395

安装阶段为什么只挂 C 盘

Windows 安装器如果同时看到 C 盘和 D 盘,有概率把 EFI 分区、恢复分区或启动文件写到 D 盘。无盘启动要避免这个坑。

所以第一次安装用 win11-installer,只挂 C 盘:

sanhook --drive 0x80 iscsi:192.168.31.20::::iqn.2025-03.com.ugreen:target-1.ec461632bc
kernel http://192.168.31.20:8088/win11-25h2/pxe/wimboot
initrd http://192.168.31.20:8088/win11-25h2/pxe/bootmgr bootmgr
initrd http://192.168.31.20:8088/win11-25h2/pxe/BCD BCD
initrd http://192.168.31.20:8088/win11-25h2/pxe/boot.sdi boot.sdi
initrd http://192.168.31.20:8088/win11-25h2/pxe/boot.wim boot.wim
boot

装完第一次重启后用 win11,先挂 D 盘,再启动 C 盘:

sanhook --drive 0x81 iscsi:192.168.31.20::::iqn.2025-03.com.ugreen:target-1.42e2eca395
sanboot --drive 0x80 iscsi:192.168.31.20::::iqn.2025-03.com.ugreen:target-1.ec461632bc

当前 NAS 配置文件

/volume4/fnos-pxe/hosts.d/host-01.env

核心内容:

HOST_NAME=host-01
HOST_MAC=48:f3:17:16:36:cd
HOST_IP=192.168.31.88
ACTIVE_PROFILE=win11-installer

WIN11_INSTALLER_INITIATOR_IQN=iqn.2026-05.local.win11:host-01
WIN11_INSTALLER_TARGET_IQN=iqn.2025-03.com.ugreen:target-1.ec461632bc
WIN11_INSTALLER_DATA_TARGET_IQN=iqn.2025-03.com.ugreen:target-1.42e2eca395

WIN11_INITIATOR_IQN=iqn.2026-05.local.win11:host-01
WIN11_TARGET_IQN=iqn.2025-03.com.ugreen:target-1.ec461632bc
WIN11_DATA_TARGET_IQN=iqn.2025-03.com.ugreen:target-1.42e2eca395

验证命令

systemctl is-active fnos-pxe.service
systemctl is-active fnos-os-media-http.service
sed -n '1,120p' /volume4/fnos-pxe/tftp/ips/192.168.31.88.ipxe
ls -lh /volume4/fnos-pxe/os-media/win11-25h2/pxe/

在 PVE 上确认没有占用 Win11 的 iSCSI:

iscsiadm -m session

坑点

  1. 安装 Win11 时只挂 C 盘,D 盘等系统装好后再挂。
  2. boot.wim 很大,必须 HTTP 加载,不要 TFTP 硬传。
  3. 小主机 IP 改成 192.168.31.88 后,profile 也要同步改。
  4. 路由器里要给小主机做 DHCP 保留,否则按 IP 切换不稳定。
  5. win11-installerwin11 使用同一个 initiator IQN,更利于 Windows 识别同一台启动机器。