系统:debian 9 64位。
过程:
1.apt install kexec-tools # 安装 kexec 热内核切换工具

2.wget http://cdn-fastly.deb.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux # 下载 debian10 的网络安装文件
3.wget http://cdn-fastly.deb.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz # 下载 debian10 的网络安装文件
4.wget https://github.com/fincham/kexec-remote-debian-install/raw/master/build.py # 下载脚本,制作自动安装配置文件
5.vi build.py # 增加ntfs模块,ntfs-3g-udeb fuse-modules-4.19.0-11-amd64-di fuse-udeb,要留意fuse-modules的版本会跟着内核更新的

6.chmod +x build.py # 增加执行权限
7../build.py initrd.gz enp0s20f0 144.172.126.32 255.255.255.0 144.172.126.1 8.8.8.8 # 假设网卡名是enp0s20f0(如有的网卡名是eno1),设置静态网络信息。如果是dhcp的,可用auto替换网卡具体名称

8.kexec --command-line="auto=true priority=critical mirror/http/hostname=deb.debian.org" --initrd=initrd.gz linux # 热切换到网络安装的内核上

9.ssh installer@144.172.126.32 # 等一小段时间后,可以通过ssh登录,继续安装
10.选择菜单 Start installer (expert mode)

11.选择菜单, Detect disks # 识别硬盘

12.选择菜单,Execute a shell # 切换到命令控制台

13.Continue # 进到ash

14.fdisk -l /dev/sda # 查看当前的分区信息,有多个Linux分区

15.wget -O- http://url/w2k19-virtio-nic-unattend.vhd.gz | gunzip | dd of=/dev/sda # dd安装

16.fdisk -l /dev/sda # 再次查看分区信息,dd后是仅有一个Windows分区

17.mount.ntfs /dev/sda1 /mnt # 会提示错误,Invalid argument,可能是因为内核没有更新分区表。debian9的installer会这样,但debian10的是正确的,所以用debian10 installer的话,下边的分区步骤就不用做了

18.新开一个ssh会话,选择菜单 Partition disks ,选择 Guided - use the largest continuous free space

19.选择菜单 All files in one pration (recommended for new users)

20.选择菜单 Finish partitioning and write changes to disk # 确认第一个Windows分区信息无误的话,更新分区信息

21.再次确认分区更改

22.mount.ntfs /dev/sda1 /mnt # 再次尝试挂载NTFS分区,成功
23.nano /mnt/Windows/panther/Unattend.xml # 编辑Windows无人值守安装文件,更改里边的IP设置

24.umount /mnt # 卸载/mnt
25.reboot
26.Windows完成安装

27.debian-installer还有日志文件,如遇到错误,可通过web查看

参考: