|
发表于 2014-5-6 18:55:06| 字数 5,679| - 中国–香港 香港科技大学
|
显示全部楼层
|阅读模式
无第三方工具U盘手动安装8.1 up1和xp sp3 x86双系统(msdn原版)
附件已上传
内容:
利用windows pe进行手工安装8.1up1和xp sp3,全程无第三方工具参与,并把两个系统的启动文件放到单独分区,方便管理且可让8.1启用bitlocker
其中用到了的命令工具有:
diskpart,dism,bcdedit,bcdboot,bootsect,wpeutil,winnt32
参考:http://technet.microsoft.com/zh-cn/library/hh825677.aspx
优势:
手工U盘安装,可以对很多选项自定义,比如引导程序的分区。最大程度避免出现多硬盘多分区引导程序覆盖的问题
安装xp时,手工集成sata/raid驱动,并直接从硬盘安装,提高安装速度。
“干净无污染”,各种“大师”,什么所谓白菜pe之类的可以先歇了,那些软件的害处你懂得
本贴只适合bios/mbr启动方式(xp x86本身不支持uefi),如果希望了解安装win8到uefi磁盘,参阅:
http://technet.microsoft.com/zh-cn/library/hh824839.aspx (配置基于 UEFI/GPT 的硬盘驱动器分区)
事实上uefi模式安装win8.1反而更简单,请期待下一篇帖子。下面开始正题:
准备:
u盘或移动硬盘,8.1 x86安装盘和xp sp3 x86 vl安装盘(msdn)
需要安装win8.1 x64系统的话,请同时准备x64安装盘
U盘或移动硬盘的准备工作 (两个步骤):
1.建立可引导的磁盘结构(1.1)并复制winpe(1.2):
2.复制安装文件
--------------------------------------------------------------------------------
1.1
对于U盘来说,确保U盘容量不小于4G!!
这里我建议直接清空移动磁盘,然后重新建立活动分区。
先做好相应的备份工作,然后在win7/8的环境中,打开cmd,键入diskpart
然后列出磁盘,看到磁盘列表
这里我们的U盘是disk 1,接下来清空U盘然后创建活动分区
先“选中”磁盘,看一下详细信息以确定我们没有选错
- select disk 1
- detail disk
复制代码
因为这里我是利用vhd作的实验,所以磁盘的控制器显示为Msft Virtual Disk SCSI Disk Device
下面直接清空磁盘,创建一个主分区,格式化,设为活动,分配盘符为R盘
- clean
- create partition primary
- format fs=ntfs quick
- active
- assign letter=R
- exit
复制代码
实际上diskpart支持命令的缩写形式,所以例如"create partition primary"可以直接缩写为"cre par pri"
建立好分区之后,我们还需要给R盘的根目录赋予一下权限,这样就不用使用admin用户复制文件了,
1.2
我们直接把win8.1 x86 光盘中的下列文件复制到U盘,U盘就可以作pe启动盘了,根本不需要什么所谓“大师”一类的呵呵软件,这些是bios/mbr方式启动需要的文件
因为xp的安装程序是32位,所以这里我们使用32位的原生pe,所以这里我们用了x86版本8.1的安装盘。不过在32位pe环境下,我们也可以安装64位8.1,请继续看
- 光盘\boot
- 光盘\bootmgr
- 光盘\sources\boot.wim
复制代码
这是准备好的样子
--------------------------------------------------------------------------------
1.1
对于移动硬盘,如果没有需要备份的文件且不想保留多分区,也建议采取直接清空然后再建立分区的形式(和U盘相同),但是如果不想清空的话,可以按照如下方式处理,这样不会破坏文件也不会破坏分区结构。只是mbr和pbr会被覆盖为ms原生版本
这里我们需要用到diskpart和一个ms提供的工具,bootsect.exe(从pe中提取得到,我直接在附件里面给出了,请一定确保下载后文件带有Microsoft Windows的数字签名且签名有效)
先选择一个移动硬盘的主分区,并确保有200M的可用空间用来存放引导文件和pe,假设这里是R盘,我们需要把R盘设为活动,这里直接开
- diskpart
- select volume R
- active
- exit
复制代码
然后使用bootsect更新mbr和pbr:
1.2
参考上面U盘的1.2一节来复制相应文件。
--------------------------------------------------------------------------------
2
下面我们需要复制安装文件了,8.1的安装文件其实只有一个,install.wim。因为ms从vista之后引入了wim镜像,从vista开始windows的安装都已经打包到wim镜像中了,如果需要安装32位8.1,我们就把32位8.1光盘中sources\install.wim复制到U盘或移动硬盘备用,64位亦然。对于xp来说,比较麻烦一些,因为安装文件都是分开的,这里我们直接把整个xp安装光盘的内容复制到xp_install文件夹。到此,基本的工作就完成了。
下面是一个“题外话”,众所周知,msdn原版xp没有集成sata/raid驱动,如果需要安装到AHCI/RAID控制器的硬盘,我们可以手工集成之。这里采取的方式和一些第三方工具有所区别,实际上我们利用了windows xp安装程序的无人值守安装模式,在TEXTMODE安装期间,安装驱动。应该算是很简单的一种方式了。
官方的参考http://support.microsoft.com/kb/816299
首先,我们建立一个unattend.txt,作为xp安装时的应答文件,这样可以让安装程序复制sata/raid驱动,且省事一些,我提供了一个unattend.txt模板,大家利用xp光盘中的setupmgr工具进行修改,只是OemPreinstall=Yes一定要保留。接下来以intel的sata/raid驱动为例,介绍如何手工集成驱动。
首先需要下载intel AHCI/RAID driver for XP x86:http://downloadmirror.intel.com/17882/eng/f6flpy3289.zip
将TXTSETUP.OEM文件中[scsi]一栏中所有的控制器字符串复制到unattend.txt的[MassStorageDrivers]一栏中,并在后面加上 = "OEM"
例如TXTSETUP.OEM中有
- [scsi]
- iaAHCI_8MEM = "Intel(R) ICH8M-E/M SATA AHCI Controller"
复制代码
那么unattend.txt中就要写上
- [MassStorageDrivers]
- "Intel(R) ICH8M-E/M SATA AHCI Controller" = "OEM"
复制代码
然后再对TXTSETUP.OEM做一下处理,把[disk]一栏中=后面的名称和路径换为 "Windows XP Driver Set v1.00", \w2kdsk1, \
例如,原来是
- [Disks]
- disk1 = "Intel(R) Matrix Storage Manager Driver", iaStor.sys, \
复制代码
现在改为
- [Disks]
- disk1 = "Windows XP Driver Set v1.00", \w2kdsk1, \
复制代码
在unattend.txt的[OEMBootFiles]一栏中把需要复制的驱动文件添加上,例如这里我们需要写
- [OEMBootFiles]
- iaAHCI.inf
- iaAHCI.cat
- iaStor.inf
- iaStor.cat
- iaStor.sys
- TXTSETUP.OEM
复制代码
这样就处理好TXTSETUP.OEM和unattend.txt了,下面直接把[OEMBootFiles]列出的文件复制到
下面,这里我们复制到
- R:\xp_install\I386\$OEM$\TEXTMODE
复制代码
中。unattend.txt的位置不重要,这里我们不妨放在R:\xp_install下面
如果大家不方便修改上述文件,我的附件里面提供了intel和amd的改好的样例,大家可以直接使用
到此,安装磁盘的准备工作彻底结束了
--------------------------------------------------------------------------------
下面开始安装,这里我用虚拟机来演示,真机同理。为了模拟大家有多块硬盘的情况,这里我的虚拟机环境是这样的
三块硬盘,
sata 5G + sata 12G + sata 5G (“移动硬盘”)
其中第一块硬盘存在一个主活动分区,并被格式化为ntfs,我们要确保不能破坏其中的内容,
第二块硬盘没有任何分区,我们需要把8.1和xp装在这块硬盘上,
第三块硬盘是我们用来模拟移动硬盘的
启动时,我们首先从“移动硬盘”启动,然后选择repair computer,
然后一路troubleshoot->advanced options->command prompt
看到命令行之后,我们可以使用diskpart 察看磁盘的情况,命令包括list disk,list volume,list partition这里C:对应第一块硬盘的分区,D:对应移动硬盘的分区,第二块硬盘没有分区
这时我们第一件事就是给第二块硬盘分区,这里我们采用先创建一个350M的主分区来存放启动文件(350M是win8.1的要求),之后我们创建一个扩展分区,其中我们再创建一个8G的逻辑分区和3G的逻辑分区分别用来安装8.1和xp
命令如下
- sel dis 1
- cre par pri size=350
- for fs=ntfs quick
- act
- ass letter=S
- cre par ext
- cre par log size=8192
- for fs=ntfs quick
- ass letter=W
- cre par log
- for fs=ntfs quick
- ass letter=K
- exit
复制代码
这样我们就建立好磁盘结构,并且分配了盘符,S:代表启动文件分区,W:代表8.1即将被安装的分区,K:代表xp即将被安装的分区。
下面,先部署8.1,这里我们的install.wim被放在D:\install.wim,用dism察看install.wim的情况
- dism /get-wiminfo /wimfile:d:\install.wim
复制代码
这里wim包含8.1和8.1 pro,我们部署8.1pro:
- dism /apply-image /imagefile:D:\install.wim /index:1 /applydir:W:
复制代码
然后使用
建立引导
到此win8.1部署完成
更多内容还可以参考官方 http://technet.microsoft.com/zh-cn/library/hh825089.aspx
下面直接继续部署xp,直接运行xp的无人值守安装,
- D:\xp_install\I386\WINNT32.EXE /syspart:S: /tempdrive:K: /unattend:D:\xp_install\unattend.txt
复制代码
到此,xp部署完成,下面使用
关机,
拔下移动硬盘,启动,在boot manager选单,我们先开始xp的安装。
直到gui安装开始前,我们都不需要任何操作,全部都是自动完成的
在gui安装时,也只需基本的输入,最终windows xp安装完成
一个需要注意的地方是,由于xp并没有安装在启动分区,所以Windows目录并不在C:\Windows而在F:\Windows。但这并不会带来什么问题,因为一个设计好的软件应该总是用%systemroot%来判断Windows目录的位置,而不是hard code C:\Windows(这里顺带bs一下某非专业些程序员)
因为xp的安装程序覆盖了mbr和pbr,需要更新它们为nt60版本,下面我们再次需要使用移动硬盘的pe环境,进入命令提示符,使用diskpart找到我们之前S: (引导盘)所对应的盘符(这次被默认分配了盘符,为D),
并使用bootsect更新mbr,pbr
然后添加ntldr对应bcd记录以便直接用boot manager启动ntldr的引导
- bcdedit /store D:\Boot\BCD /create {ntldr}
- bcdedit /store D:\Boot\BCD /set {ntldr} device partition=D:
- bcdedit /store D:\Boot\BCD /set {ntldr} path \ntldr
- bcdedit /store D:\Boot\BCD /set {ntldr} description "NT5"
- bcdedit /store D:\Boot\BCD /displayorder {ntldr} /addlast
复制代码
关机后,拔下移动硬盘,开机开始win8.1的初始化。这里我们选择8.1启动。
现在win8.1和xp安装完成
[ Edited by ganboing on 2014-5-7 17:04 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
查看全部评分
|