启动时呈现的菜单式这样的(红色部分加了clear语句令其无法选中):
Setup Windows to IMG
├───Step 1 : Boot from ISO, with virtual CD+Floppy
├───Step 2 : Boot from IMG, with . . .
│ ├─ with virtual CD+Floppy
│ ├─ with virtual CD
│ └─ with virtual Floppy
└───Step 3 : Boot from IMG
Windows Boot from IMG @ RAMDISK
# 从iso文件向镜像安装之第一步,加载安装盘ISO到虚拟光驱,从虚拟光驱启动安装;加载firadisk到虚拟软驱,安装时按F6手动加载firadisk。
title ├───Step 1 : Boot from ISO, with virtual CD+Floppy
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
# Unpartitioned disk image needs geometry
find --set-root /rootflag
map --heads=255 --sectors-per-track=63 /hddimg.img (hd0)
# map /hddimg.img (hd0)
map /winsetup.iso (222)
map /firadisk.img (fd0)
map /firadisk.img (fd1)
# Hide other disks, so partition in virtual disk will get C letter.
map --harddrives=1
map --hook
# The "boot" option is required for virtual disk to have system partition with C letter.
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/hddimg.img,boot;cdrom,vmem=find:/winsetup.iso;floppy,vmem=find:/firadisk.img;\n\0
rootnoverify (222)
chainloader
map --status
pause Press any key twice . . .
title ├───Step 2 : Boot from IMG, with . . .
clear
# 从iso文件向镜像安装之第二步,从虚拟硬盘启动;因系统可能需从光盘得到后续安装文件,故加载iso内容到虚拟光驱;为防firadisk未安装至系统,仍加载firadisk虚拟软驱。
title │ ├─ with virtual CD+Floppy
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
# Unpartitioned disk image needs geometry
find --set-root /rootflag
map /hddimg.img (hd0)
map /winsetup.iso (222)
map /firadisk.img (fd0)
map /firadisk.img (fd1)
# Hide other disks, so partition in virtual disk will get C letter.
map --harddrives=1
map --hook
# The "boot" option is required for virtual disk to have system partition with C letter.
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/hddimg.img,boot;cdrom,vmem=find:/winsetup.iso;floppy,vmem=find:/firadisk.img;\n\0
rootnoverify (hd0)
chainloader +1
map --status
pause Press any key . . .
# 从iso文件向镜像安装之第二步,从虚拟硬盘启动,因系统可能需从光盘得到后续安装文件,故加载iso内容到虚拟光驱;firadisk此刻已在步骤一加载进系统,此刻无需再加载。
title │ ├─ with virtual CD
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
find --set-root /rootflag
map /hddimg.img (hd0)
map /winsetup.iso (222)
map --hook
# The "boot" option here is required for booting Windows the first time.
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/hddimg.img,boot;cdrom,vmem=find:/winsetup.iso;\n\0
rootnoverify (hd0)
chainloader +1
map --status
pause Press any key . . .
# 使用winntsetup(windows安装助手)事先将安装文件部署到磁盘镜像,此第二步,从硬盘镜像启动;无需光驱内容故不加载;因未加载firadisk,此步必须加载firadisk软驱,并在启动时按F6加载之。
title │ └─ with virtual Floppy
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
# Unpartitioned disk image needs geometry
find --set-root /rootflag
map /hddimg.img (hd0)
map /firadisk.img (fd0)
map /firadisk.img (fd1)
# Hide other disks, so partition in virtual disk will get C letter.
map --harddrives=1
map --hook
# The "boot" option is required for virtual disk to have system partition with C letter.
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/hddimg.img,boot;floppy,vmem=find:/firadisk.img;\n\0
rootnoverify (hd0)
chainloader +1
map --status
pause Press any key . . .