win7封装

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、《步步为营封Win7》基础一切都得从基础开始,只有懂得和掌握了最最基础的东西,才有可能撑起更多的上层技术。所以我们有必要了解用最基本的方法如何封装Windows7,从基本逐步延伸到高层。(如下内容以Windows7RTMx86简体中文旗舰版为例)(一)Windows7的安装;K:Y7T+n0S!}|3j/e!f#X这里我不想长篇累牍的讲述如何如何安装Windows7,在此讨论系统封装部署的各位想必都会安装Windows7,在这里我想说几点在Windows7安装中需要注意的地方。2v-o+C-k/H/v+jo(Y如果我们的硬盘是尚未使用的,如下图:1U4u1D9X0i!G)rB5n2@'m,J5K在尚未使用的硬盘上安装Windows7,分区时会有一些有趣的事情,如下图:0R3{/Z_:N#i3]!t1M%a(p(d&w6e/u8e1、从WindowsVista开始的Win6.x这代系统(Windows7版本号为Windows6.1,其实和Vista一样属于Win6.x),在执行分区操作时只能创建主分区(如果是我个人技术问题请指正),我不明白为什么微软要这样设定。锁定只能格式化为NTFS如果尚可理解的话,只能创建主分区又是什么目的?2、如果硬盘是尚未使用的,为Windows7创建分区时会自动创建一个100M的所谓“系统分区”,而WindowsVistaSP2和WindowsServer2008SP2都没有这种现象。这个分区默认是隐藏的,即Windows7安装好后是看不到的。经过仔细对比后发现这个100M的分区里盛放的是Windows7的一些启动相关文件(有兴趣进PE查看)。我们暂且把这个100M的分区叫做“启动区”,安装系统的分区叫做“系统区”。一开始我感觉很新奇,后来回想一下XP时代其实微软就已经这样做了,只不过那时候没有现在完善而且不强制罢了。有兴趣的朋友可以试试,在未安装系统的硬盘上安装XP时分一个100M左右的C盘,然后把系统安装到D盘去,XP也会复制它的启动文件到C盘,而把系统文件装在D盘,这和Windows7的这种强制做法一致。.L(g9K:C/N4o#x&J.d#`#M,G从XP到VISTA,包含启动文件的启动区和包含系统文件的系统区同在C盘,而Windows7则是单独划出一个100M的分区当做启动区以盛放启动文件,又将系统文件放置于其他分区。看到这里也发现没什么特别出奇的,只不过是分开放置了一下文件而已,就像Linux把/boot挂载到一个单独的分区一样。到这里大多数朋友都看出来了,第一,这个100M的分区的实际意义并不是特别强大,而且由来已久,不是Windows7特有的;第二,这种把启动区独立出来的方法不方便封装后系统映像的备份与转移工作。既然如此,那么我们就自己划定分区吧,即不用莫名多个100M的分区,也不用为不能划分逻辑分区发愁。使用其他硬盘分区工具操作(注意,强烈不推荐PQ和PM),分区后重新进入系统安装过程,如下图:T1A-R4J*t&w+X;G#G1D)];n看到这个界面猛的熟悉了很多,这是我们最常见的分区模式,那就继续执行我们的系统安装操作吧!!E$u7u(a1|5E%{!Q稍等片刻后,系统安装完毕,如下图:+D;F&G!^.j$O6r8f5U+Z+fWindows7安装好后,会启动一个OOBE过程,在这个过程里要输入各项系统设定。这里会强制用户输入一个全新的用户名,并根据这个用户名确定计算机名。Windows7默认是不允许使用Administrator进行登录的,而是使用刚才我们创建的那个用户。但实践证明,系统封装强烈推荐使用Administrator账户(原因后述)。.Z7h+t}&r-{(a/A下面我们开启并使用Administrator账户,进入计算机管理界面:2y9WV)m7E7{:d)p+c打开Administrator账户的属性,将“账户已禁用”前面的对号去掉:y3W7?)N%z%a/@而后删除掉刚才创建的用户账户,如“SkyUN”:-m*N7i9z;Z7v/p*[.{!E$Q!y8h-J这时会有一些提示,建议看一看,然后一路确定下去。用户账户调整完毕后如下图:2{#[/z.s't#O1G,l即计算机内只有Administrator和Guest两个账户,Admnistrator账户为启用状态。而后注销当前用户,注销后看到如下图界面:选择Administrator登陆系统,进入用户桌面后,对系统简单调整后如下图:#S!G&~)g&y/[!B$\到这里,我们就以系统封装为目的完成了对Windows7的安装操作,建议使用Ghost备份一下当前的系统,以备以后再次使用。(T*W+c2S!k(x!y3y0e,O1\-]3M5f*qV$C(二)Windows7的封装与部署.N'W,l9z2U!N:j+P#F9?现在我们使用微软官方的系统封装工具执行一次封装,让大家看看最原始的封装方式是什么样子的。8X8c:j2U(^-c#oWin5.x(2000/XP/2003)的系统封装工具都位于他们的系统光盘上,而Win6.x的系统封装工具都位于系统分区内。打开C:\Windows\System32\Sysprep文件夹,你就会看到Sysprep3.14版。运行sysprep.exe,“系统清理操作”选择“进入系统全新体验(OOBE)”,选中“通用”;“关机选项”选择“退出”——如果您想直接重启或关机也可以选择对应选项,选退出是为了方便观察。1~,i;G+Z;x4g选项设定结束后,单击“确定”按钮,执行系统封装。sysprep3.14执行系统封装分为两步:9[8K4w#p8B/o.o#}9b/v.|6pD9I)q!w(j1A:v#|3~务必在封装时观察是否执行了这两步,sysprep3.14在Windows7下有一定的失败率(高于在Vista下的失败率),而且失败的原因莫名其妙,有时因为调整一下页面文件都会造成封装失败,很无语。7Z5\+|4G&Q$wL4])a%J,L5i0b.^如果顺利执行完了这两个封装步骤,会看到Sysprep文件夹下生成一个封装成功的TAG文件:6a3[3q%J2_N%D其实到这里Win7的基本封装就结束了,重新启动计算机,我们看一下Windows7的部署过程:(m2d7[3{(`9O1、更新注册表设置2?.a-_-b;Y+i,T$]7@-s7[8b#DZ$~3H#Y-N3[2、启动基本服务7o.l-Q0t,K*w)o:S2{3、安装设备驱动'G3i&Z'f5mS4、应用系统设置5、基本部署结束,重启计算机:K8c$^9c*z$F6、又进入了熟悉的OOBE,新建账户7、使用账户登录进入桌面4p&~3v7K&E+}!H这样,整个系统封装并部署的过程就完成了。大家可以发现原始的封装部署是一件十分简单的过程,而且操作并不复杂。(三)基本封装部署问与答8s.p6G3K,P3S,R:F0|(z*]X8?$u1、为什么建议使用Administrator账户进行封装?(1)如果我们使用普通账户进行封装,封装完毕部署后仍然会进入OOBE过程,仍然会要求我们新建一个账户,而且这个账户是不可以与我们之前封装所用的账户冲突的,这无疑形成了一种残留,或者说是冲突。(2)普通账户下,虽然用鼠标双击某些程序可以直接运行,但使用自动化程序调用某些程序、在C盘下建立目录等操作时会有问题,有兴趣可以尝试一下,这对我们下一步的自动化封装部署形成了障碍。%\#z#q$L'j-V;k-P2D*{V$x(3)我们删除安装时创建的账户,而是用Administrator账户进行封装操作,这在程序执行上有很多便利。而且Windows7在封装部署后又会自动禁用Administrator账户,就像我们第一次安装系统时那样,在部署后的OOBE时再创建任何账户都不会与当前系统内的账户冲突,就像全新安装系统那样,很是干净。0Q$I4X-?6g3{.U*b2、Windows7封装还是否需要卸载驱动?我没有在官方找到相关说明,但根据实际经验来看是需要的。至于为什么我没有在这次演示中卸载驱动,是为了给大家原汁原味的展示微软官方封装部署是个什么样子。T3K7h'?#P;t4G5K:I3i(p:M3、Windows7封装部署是否还需要额外的磁盘控制器驱动?7\5z8E)l0Q8a(Z)T这个我可以很确定的说需要。很多偏颇的认识过于神话Windows7,几乎把Windows7吹成无所不能的,但实际绝非如此。诚然,Windows7集成了一定量的常用磁盘控制器驱动,可以暂时应付常见机型,但并不代表着Windows7不需要增补磁盘控制器驱动,更不代表着今后不需要添加磁盘控制器驱动!就像2001年时的XP,当时XP的自带驱动也几乎是无敌的,而在8年后的今天,没有额外磁盘控制器驱动的XP几乎是寸步难行的。所以,磁盘控制器驱动的增补是必须的。4、Windows7封装部署是否还需要针对硬件抽象层进行修改?3b-j7Y-c7|(_!R:K,s)f首先我们来了解一下什么是硬件抽象层(HAL),我们可以把HAL认为是一组类,虽然我们的计算机硬件配置千差万别,但都可以归为HAL中的一个类,例如XP时代单核心的计算机归为一类、多核心计算机归为一类等。5W2D6o9d,z0I:@&E!{J但到了Windows7(其实从Vista开始就已是如此),HAL被简化为只有两类,即x86的HAL和x64的HAL。所以我们无需再担心HAL的问题,我们只需要知道我们封装的是x86还是x64的系统就可以了。关于Windows7的基本封装与(四)自动卸载+o'H8q/p6Z0u6q1、自动获取HWID列表%i'm1~+z&q,F既然我们只要有硬件的HWID就能卸载该硬件的驱动,那么我们现在就要想办法怎么弄到计算机中所有硬件的HWID列表了。前文已述,可以通过读取注册表的方法获取HWID,那么我们就可以通过AU3实现。3o;W5X1R%IFunc_DrvUnins_ReadHwids()%N7l3w(B-iLocal$HwidList[1][2],$p=16{8K,u&{-O-I,W7ELocal$RootKey=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum,z7]1s4C9F#G7ILocal$i=1)W2b/s4t6[&@7E;U,Z%a*MWhile1Local$SubKey1=RegEnumKey($RootKey,$i)If@error=-1ThenExitLoop$SubKey1=$RootKey&\&$SubKey1Local$j=1While1Local$SubKey2=RegEnumKey($SubKey1,$j)If@error=-1ThenExitLoop$SubKey2=$SubKey1&\&$SubKey2Local$k=1While1Local$SubKey3=RegEnumKey($SubKey2,$k)#v5G/O'}$R0`If@error=-1ThenExitLoop$SubKey3=$SubKey2&\&$SubKey3Local$Cls=RegRead($SubKey3,Class);;x8H(O\9Z&DIf$ClsMouseAnd_%K-_&b#~5v1h!}$ClsKeyboardAnd_e-og(s,G7s$ClsSystemAnd_+l*a5C4J/l3E%zO/P$ClsLegacyDriverAnd_5v&@.V9s%L/Fo$ClsComputerAnd_*?+C-~1@$U*q$ClsThen1{5|3Z4N8j:S'kReDim$HwidList[$p+1][2]$HwidList[$p][0]=$SubKey3$HwidList[$p][1]=RegRead($SubKey3,HardwareID)$p+=1EndIf$k+=19}8w9O*T#W,@[8^WEnd;E5F8T!K#Q*t$j+=1|7h(l;K%[1I0E$q(H0HWEnd$i+=

1 / 67
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功