Windows的相关配置

我们使用GRUB4DOS来引导安装Windows ISO,有几个问题要注意:

1. windows xp 和 windows 2003 系统安装需要注意的事项。

    第一个步骤拷贝完文件后系统重启时要再次进入U盘安装界面,选择Windows菜单的第二步来继续安装。

    第二步通过映射镜像到虚拟的cd-rom中使系统继续安装,这是操作系统特性所决定的。

    如果在第一步的时候Windows出现7B错误,可以使用1A的步骤把ISO完全加载进内存再次尝试。

    2A步骤适用于内存较小的系统。直接映射ISO文件,在有些系统上可能无法工作。

2. 在安装Windows Vista--Windows 2012 系统的时候,在安装之前应该有一个cmd窗口加载Firadisk驱动并加载ISO。

3. FiraDISK在加载ISO的时候需要一个可移动的U盘,WinPE需要能够发现此U盘上的AutoUnattend.xml文件。

4. Windows 8 和 2012 的版本是通过密钥来决定的。也可以修改\sources\ei.cfg来定义版本。

5. 安装后一定要使用正版的序列号激活哟。

Windows 安装菜单

Windows的ISO镜像放置在/ISO目录下,如图:

windows主菜单

/boot/config/windows.cfg(部分)

include /boot/config/common.cfg  #包含公用配置default windows864  #默认系统label pciidmenu label List Mass Storage PCI IDs (run checkpci from FreeDos) #检测存储的PCI ID号码kernel /boot/grub/grub.exe #链式启动grub.exeappend --config-file="map --mem /ISO/tools/PCIID.ima.gz (fd0);map --hook;root (fd0);chainloader (fd0)+1"  #直接附加配置文件,映射映像文件为软盘,并启动之menu separatorlabel windows732text helprequest /ISO/win732.isoendtextmenu label INSTALL Windows 7 32-bitKERNEL /boot/grub/grub.exeAPPEND --config-file=/boot/grub/windows/win732.lst #配置文件全部单独出来,通过GRUB4DOS加载menu separatorlabel windows864text helpThis will install Windows 8 64-bit to your hard disk;Request /ISO/windows864.isoendtextmenu label INSTALL Windows 8 64-bitKERNEL /boot/grub/grub.exeAPPEND --config-file=/boot/grub/windows/win864.lst #windows8配置文件menu separatorlabel Windowsxp641text helprequest /ISO/winxp64.isoendtextmenu label Windows XP 64-Bit Installation ISO Part1  #XP安装第一步KERNEL /boot/grub/grub.exeAPPEND --config-file=/boot/grub/windows/winxp641.lst #第一步配置文件label Windowsxp642menu label Windows XP 64-Bit Installation ISO Part2  #XP安装第二步KERNEL /boot/grub/grub.exeAPPEND --config-file=/boot/grub/windows/winxp642.lst #第二步配置文件label Windowsxp643text helpINSTALL XP - STEP 1A (USE IF PREVIOUS STEP 1 GAVE BSOD 7B ERROR)XP Setup from ISO file using FiraDiskRemember to select both AHCI driver AND FiraDisk driver!!!endtextmenu label Windows XP 64-Bit Installation ISO SETP 1(IF 7B Error) #XP安装1AKERNEL /boot/grub/grub.exeAPPEND --config-file=/boot/grub/windows/winxp643.lst #1A配置文件label Windowsxp644text helpINSTALL XP - STEP 2A FOR LOW RAM SYSTEMS (FASTER)direct ISO map,Does not work on some systems - e.g. some Atom CPU based netbooksendtextmenu label  Windows XP 64-Bit Installation ISO STEP 2(LOW RAM) #XP安装1Bkernel /boot/grub/grub.exeappend --config-file=/boot/grub/windows/winxp644.lst  #2A配置文件

Windows安装全部是通过Grub4dos来进行的,全部配置文件都放在/boot/grub/windows下。我们看几个典型的。

/boot/grub/windows/win732.lst

set MYISO=win732.iso  #设置windows 7的iso名称dd if=()/firadisk/au.xml of=()/AutoUnattend.xml #将win7的自动应答文件复制到U盘根目录echo 1 && pause #在此调试,正常后可移除,回车即可dd if=()/firadisk/spaces.txt of=()/firadisk/ISONAME.CMD  #占位文件echo 2 && pause #在此调试,正常后可移除write ()/firadisk/ISONAME.CMD SET MYISO=\\iso\\%MYISO%\r\n #设置win7 的 ISO路径echo 3 && pause  #在此调试,正常后可移除map --mem (md)0x800+4 (99)  #映射4个扇区的内存驱动器,设备号为99echo 4 && pause  #在此调试,正常后可移除map /ISO/%MYISO% (0xff) || map --mem /ISO/%MYISO% (0xff) #映射iso到cdromecho 5 && pause  #在此调试,正常后可移除map (hd0) (hd1)  #映射硬盘0为硬盘1map (hd1) (hd0)  #映射硬盘1为硬盘0map --hook       #使映射生效echo 6 && pause  #在此调试,正常后可移除write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/ISO/%MYISO%;\n\0  #写firadisk的选项到99号设备echo 7 && pause  #在此调试,正常后可移除chainloader (0xff)/BOOTMGR || chainloader (0xff)  #链式加载虚拟光驱的Windows启动文件

/boot/grub/windows/win864.lst

set MYISO=windows864.isodd if=()/firadisk/auWin8.xml of=()/AutoUnattend.xml #Windows 应答文件,包括了在WINPE第一阶段寻找U盘和调用firadisk驱动加载ISO文件。Windows 8和2012等必须要有一个密钥才能安装。set KEY=windows 试用版密钥   #如果要安装一个已经获取密钥的正式版win8,请在此输入cat --locate=AAAAAA --replace=%KEY% /AutoUnattend.xml > nul #替换试用版密钥dd if=()/firadisk/spaces.txt of=()/firadisk/ISONAME.CMD  #以下同win7write ()/firadisk/ISONAME.CMD SET MYISO=\\iso\\%MYISO%\r\nmap --mem (md)0x800+4 (99)map /ISO/%MYISO% (0xff) || map --mem /ISO/%MYISO% (0xff)map (hd0) (hd1)map (hd1) (hd0)map --hookwrite (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/ISO/%MYISO%;\n\0chainloader (0xff)/BOOTMGR || chainloader (0xff)

/boot/grub/windows/winxp1.lst

find --set-root --ignore-floppies --ignore-cd /drivers/p41032.ima.gz #查找驱动盘,驱动盘内容可以随需要添加,主要包含winvblock和firadisk的驱动。map --mem /drivers/p41032.ima.gz (fd0)  #映射到软驱0map --mem /drivers/p41032.ima.gz  (fd1) #映射到软驱0map  /ISO/winxpsp2.iso (0xff) || map  --mem /ISO/winxpsp2.iso (0xff)  #加载ISO文件map (hd0) (hd1)map (hd1) (hd0)map --hookroot (0xff)  #设置根目录在光驱(0xff)chainloader (0xff)/i386/setupldr.bin || chainloader (0xff)/I386/SETUPLDR.BIN || chainloader (0xff)    #加载光驱下的windows安装文件,多种错误尝试pause If you have an AHCI HDD you MUST press F6 when prompted, then hit S to select WinVBlock or FiraDisk (recommended) driver, then hit S again to select your AHCI driver (e.g. Atom Netbook=WinVBlock+ICH7R/DH, DQ67 series 6=FiraDisk+Desktop,Workstation,Server Express) #推荐安装基本的winvblock驱动和firadisk驱动,并安装符合自己主板的ahci驱动。如果是ide硬盘,那就不需要了pause Now quickly hit [Enter] twice (and then F6 if you need to install an AHCI driver) ... #在这个提示后就会马上出现按F6加载驱动的界面,因为很快就过去了所以要抓紧多按几下。

/boot/grub/windows/winxp2.lst

find --set-root --ignore-floppies --ignore-cd /drivers/p41032.ima.gz# we must load the ISO into memory, so it will be slow to load here ...map --mem /ISO/winxpsp2.iso (0xff) || map  /ISO/winxpsp2.iso (0xff)map (hd0) (hd1)map (hd1) (hd0)map --hookrootnoverify (hd0,0)chainloader (hd0)+1pause Press ENTER and then unplug this USB drive... #映射ISO到内存后就可以拔掉U盘继续安装了

/boot/grub/windows/winxp1a.lst(与winxp1.lst基本相同,只是全部加载到内存)

find --set-root --ignore-floppies --ignore-cd /drivers/p41032.ima.gzmap --mem /drivers/p41032.ima.gz (fd0)map --mem /drivers/p41032.ima.gz  (fd1)map  --mem /ISO/winxpsp2.iso (0xff)map (hd0) (hd1)map (hd1) (hd0)map --hookroot (0xff)chainloader (0xff)/i386/setupldr.bin || chainloader (0xff)/I386/SETUPLDR.BIN || chainloader (0xff)pause If you have an AHCI HDD you MUST press F6 when prompted, then hit S to select WinVBlock or FiraDisk (recommended) driver, then hit S again to select your AHCI driver (e.g. Atom Netbook=WinVBlock+ICH7R/DH, DQ67 series 6=FiraDisk+Desktop,Workstation,Server Express)pause Now quickly hit [Enter] twice (and then F6 if you need to install an AHCI driver) ...

/boot/grub/windows/winxp2a.lst(内存较小时可用,U盘在安装结束后才可拔下)

map --mem /drivers/p41032.ima.gz (fd0)map --mem /drivers/p41032.ima.gz  (fd1)map /ISO/winxpsp2.iso (0xA0)checkrange 0x80 read 0x8280 && map (hd0) (hd1)checkrange 0x80 read 0x8280 && map (hd1) (hd0)map --hookmap --rd-size=2048map --mem (rd)+4 (0x55)map --rehookwrite (0x55) #!GRUB4DOS\x00v=1\x00XP.iso\x00\xA0\x00rootnoverify (hd0,0)chainloader (hd0)+1pause Keep the USB drive connected until Setup completes!

注:

Windows Vista,Windows 7 安装全版本可以通过删除ISO下的 SOURCES\EI.CFG。

Windows 8 以上版本,需要修改ISO下 sources\ei.cfg。

零售版:[EditionID][Channel]_Default[VL]0OEM版:[EditionID][Channel]OEM[VL]0企业版[EditionID][Channel]Volume[VL]1

参考资料: