技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

Windows Server入门系列之一 网络操作系统简介

又一个新的学期马上要开始了,本学期带的课程主要是“网络系统管理”,讲Windows Server以及RHEL6系统的基本操作与使用,不涉及服务器配置部分,内容相对比较简单。照例还是将讲义的主体部分整理之后发在博客上,一是讲课时用起来比较方便,二是也希望能帮助到有需要的朋友。在课程的一开始,还是要先介绍一下什么是网络操作系统。我们大家都对操作系统比较熟悉,比如WinXP或Win7等,当买回一台电脑之后要做的第一件事就是为它安装操作系统。操作系统为什么这么重要呢?其实它的作用主要可以归纳为两个方面:... 全文

操作系统 网络操作系统 Windows

百度将推出操作系统 类似Chrome OS

上周五(美国当地时间周四),百度CEO李彦宏作客《华尔街日报》科技栏目高级编辑朱丽亚·盎格文(Julia Angwin)的访谈节目,回答了读者对于百度搜索引擎、盗版音乐搜索的一系疑问,包括百度的远期目标以及在中国国内政府对互联网市场的影响。在谈话中,百度CEO李彦宏提到百度的一个远景计划要打造一个操作系统,类似于谷歌的Chrome OS。在非常简短的谈话中,李彦宏并没有对计划中的操作系统做过多的解释,但是我们可以想象,百度如果推出操作系统的话,必将整合更多百度的服务,同时可能又将会是百度用来赚钱的一个工具。techxav.com日前撰文,对百度的操作系统特征做出了如下几点猜测:... 全文

baidu操作系统 Chrome 国产操作系统

SCCM 2012系列12 操作系统播发①

大家好,今天我会开始给大家分享SCCM 2012的操作系统播发的部分,希望大家喜欢,操作系统播发是SCCM 非常重要的功能之一,方便企业快速的进行批量部署操作系统并完成交付。下面就开始正题: 1 主站点配置1.1 创建共享文件夹在SCCM服务器上,选择D盘,新建文件夹sccm_share并设置为共享文件夹,让everyone具备读取权限;在此文件夹里存放SCCM所需要的其他配置所需软件或文件:OS:存放Windows XP的原始安装盘里的文件。Wim:存放wim格式的操作系统镜像。Software:存放需要分发的软件。Drivers:存放PC的硬件驱动文件。PC_drivers:存放驱动程序包的文件。ISO:存放捕获媒体等ISO文件。在SCCM服务器上,选择D盘,新建文件夹WIM并设置为共享文件夹,让everyone具备完全控制权限;在此文件夹是用于抓取操作系统镜像时存放wim文件用的,在不需要抓取的时候可以将此文件夹删除。1.2 主站点服务器配置右键“分发点组”-“创建组”填写“名称”和添加集合的成员在“成员”选项卡添加分发点。确定在“管理”选项卡-“概述”-“分发点”选择右边的主站点服务器右键属性启用“为客户端启用PXE支持”会提示要求防火墙开启UDP67,68.69.4011端口,点击“是”勾选“允许此分发点相应传入的PXE请求”,“启用未知计算机支持”和“当计算机使用PXE时要求密码”并设置好密码,指定PXE服务器响应延迟为2秒。在“组关系”选项卡添加分发点组。在“边界组”选项卡添加边界组。导航到“软件库”选项卡,选择“概述”-“操作系统”-“启动映像包”,然后选择右列的“Boot image (x86)”右键“分发内容”下一步添加“分发点”勾选我们的主站点,确定。下一步下一步完成以后再添加分发点组按照上面的方法添加“Boot image (x64)”的分发点和分发点组。成功以后把启动映像添加到PXE启动里:右键Boot image(x86)属性勾选上“从PXE服务点部署此启动映像”,确定。按照同样的方法把“Boot image(x64)”的“从PXE服务点部署此启动映像”勾选上。更多精彩分享,期待您的关注!本文出自 “ZJS的微软桌面虚拟化” 博客,请务必保留此出处http://rdsrv.blog.51cto.com/2996778/980930... 全文

SCCM 2012 SCCM2012 操作系统 操作系统播发

SCCM 2012系列14 操作系统播发③

这篇呢主要给大家讲一下捕获操作系统映像的过程,让大家知道是如何捕获的,需要注意些什么等等。1 捕获操作系统映像把Capture刻录成光盘以后放入模板机的光驱里,双点运行“下一步”目标:输入存放捕获的WIM文件的网络路径及文件名,此路径必须具备让读写的权限。帐户名:输入可以访问该路径的域帐户“下一步”输入创建者名字和版本,下一步完成捕获开始,自动运行并重启开始抓捕重启以后会自动进入WinPE引导开始抓捕模板机的操作系统捕获完成,点确定。更多精彩分享,期待您的关注!本文出自 “ZJS的微软桌面虚拟化” 博客,请务必保留此出处http://rdsrv.blog.51cto.com/2996778/988760... 全文

SCCM 2012 SCCM2012 操作系统 操作系统播发

SCCM 2012系列16 操作系统播发⑤

添加了操作系统映像,也创建了任务序列,那么我们改对创建的任务序列编辑一下了,以满足我们播发下去系统的要求是我们想要的,比如分区是怎么样的,当然分区不是固化的,是按照百分比来进行划分的,详细怎么样的,请跟我来:1.1 编辑任务序列右键选择刚创建好的任务序列-“编辑”选择“对磁盘分区”,删除默认的卷,自己来定义分区大小,点击“选择C盘为主要分区,并固定大小为40G,并勾选“将此分区设置为启动分区”,文件系统为NTFS格式,勾选“快速格式化”,确定再点击“”创建扩展分区在分区类型选择“已扩展”,确定再点击“分区类型选择“逻辑”,大小采用百分比,将C盘除外的剩余50%划分为逻辑D盘,选择文件系统为NTFS,并勾选“快速格式化”,确定再点击“分区类型选择“逻辑”,大小采用百分比,将C盘和D盘除外的剩余100%空间大小划分为逻辑E盘,选择文件系统为NTFS,并勾选“快速格式化”,确定这样就做好播发操作系统时SCCM自动为机器分区并格式化了,机器已经有分区,并不想重新分区,只格式化C盘的话就可以删除此项或者禁用此项,禁用此项选择“选项”:勾选“禁用此步骤”即可在“应用操作系统”中我们可以定义系统盘的安装位置或盘符,在“选择要应用此操作系统的位置”里,可以选择4种方式指定系统的安装位置。这里选择默认的“下一个可用的已格式化分区”在“应用Windows设置”里,可以输入产品密钥和修改本地管理员密码。1.2 播发任务序列如果在播放任务序列前忘记了把相关的包创建发分发,可以点击任务序列进行批量创建分发点:选择“分发内容”下一步这里罗列出此任务序列所需要相关的包,下一步添加“分发点组”下一步确认配置信息,下一步完成。我们要把制作好的任务序列播发,才真正实现了网络安装操作系统的效果:右键选择任务序列-“部署”在集合里选择“所有未知计算机”,并勾选“使用与此集合关联的默认分发点组”,“下一步”勾选“可供启动媒体和PXE使用”,下一步“下一步”“下一步”“下一步”“下一步”“下一步”完成。在此任务序列的下方有一个“部署”选项卡,可以看到刚刚播发部署的操作系统任务序列了,也可以在“监视”选项卡的“概述”-“系统状态”-“部署”里看到,见下图:更多精彩分享,期待您的关注!本文出自 “ZJS的微软桌面虚拟化” 博客,请务必保留此出处http://rdsrv.blog.51cto.com/2996778/988764... 全文

SCCM 2012 SCCM2012 操作系统 操作系统播发

SCCM 2012系列15 操作系统播发④

这篇主要给大家分享下我们如何添加操作系统映像和创建任务序列,我们捕获好映像以后当然就是要把这个映像添加进SCCM里,然后创建我们需要播发的任务,让下面的客户端电脑可以接受获取到我们播发的操作系统安装信息。1 创建操作系统播发1.1 添加操作系统映像在SCCM服务器上,我们把抓捕上来的WIM文件剪切到D:\sccm_share\wim文件夹下然后打开SCCM控制台“软件库”-“操作系统”-“操作系统映像包”鼠标右键“文件夹”-“创建文件夹”创建名为Windows 7的文件夹,这样做是便于分类好管理“软件库”-“操作系统”-“操作系统映像包”-“Windows 7”鼠标右键“添加操作系统映像包”输入WIM文件的网络路径,“下一步”可以编辑名称为PC1 WIN 7,然后“下一步”“下一步”成功完成。接着再新建分发点,选择映像包,右键“分发内容”下一步添加分发点,“下一步”下一步成功,完成。1.2 创建任务序列右键选择“任务序列”-“文件夹”-“创建文件夹”新建一个名为Windows 7的文件夹。在Windows 7文件夹下创建任务序列“下一步”填写任务序列名称,并选择启动映像包为x64,“下一步”选择映像包,产品密钥如果有可以填写,没有可以不填,但如果是播发Windows XP就必须填写产品密钥;选择禁用本地管理员帐户:本地的administrator帐户会被SCCM分配一个随机密码。这里选择“始终使用同一管理员密码”并设置好密码可以加入工作组,当然也可以加入域,并可以选择加入域到哪个OU下面,如果选择加入域必须填写有权加入域的帐户。这里选择加入工作组浏览,选择SCCMclient客户端包,“下一步”不勾选“捕获用户设置”,“捕获网络设置”,“捕获Micosoft Windows设置”,下一步“下一步” “下一步”“下一步”完成,关闭。更多精彩分享,期待您的关注!本文出自 “ZJS的微软桌面虚拟化” 博客,请务必保留此出处http://rdsrv.blog.51cto.com/2996778/988763... 全文

SCCM 2012 SCCM2012 操作系统 操作系统播发

操作系统与文件系统

什么是操作系统?什么是文件系统?操作系统与文件系统的区别是什么?操作系统(英语:Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。... 全文

操作系统 文件系统

《30天自制操作系统》纸娃娃操作系统以及大多数操作系统的加载原理

最近在读《30天自制操作系统》这本书,在读到“从启动区加载操作系统”这一小节的时候卡住了,首先我的疑问是这样的:首先,磁盘映像文件img的0x2600这个地方存储着操作系统文件的名称(用二进制编辑器看),0x4200以后存储着操作系统的内容(执行代码),我们的启动区代码会被加载到内存的0x7c00这个位置,即0x7c00-0x7cff属于启动区代码所有,而书上说0x8000-0x81ff属于启动区,究竟哪段地址属于启动区,这是疑问一。我们的是从第二扇区将磁盘内容读取到内存,第一扇区留给启动区的,我们将第二扇区的内容加载到内存的0x8200以后的地方,那么磁盘映像文件img中0x4200对应的内存地址应该是0x8200+0x4200而不是0x8000+0x4200,相信大家第一次读这本书或者对操作系统加载原理不理解的人都会至少有这么两个疑问吧。下面就为大家详细讲解。先上图,这个图是百度百科上借鉴的,我修改了一下:... 全文

磁盘 内存 文件 内容 地址 代码

玩转操作系统之系统封装部署再探!!

1.4 综述 本章主要陈述了关于Windows操作系统的基本封装与部署的实现,微软的企业部署工具的效率和自动化程度相当高,封装和部署过程都比较简单。 但现在有一个很重要的问题,按照微软企业部署工具中Deploy.chm中的简述,企业部署工具对于源计算机和目标计算机需要有相同HAL(硬件抽象层)。 所谓HAL,是由硬件制造商提供的一种薄层软件,为操作系统高层隐藏或抽象硬件差异。通过 HAL 提供的筛选器,不同类型的硬件看起来与操作系统其余的硬件很相似。这样允许操作系统从一个硬件平台移植到另一个硬件平台。HAL 还提供了允许单个设备驱动器在所有的平台上支持同样设备的例程。 封装好的系统在部署到硬件配置差异较大的计算机中时,特别是跨平台的计算机(Intel CPU+Intel主板做的映像部署到AMD CPU+nVIDIA主板上时),会由于HAL的差异而造成各种各样的不稳定乃至挡机,这就和要运用封装部署方式来快速安装系统的初衷不一致了。如果不能有良好的兼容性,即使能快速安装系统也完全是徒劳。 在随后的一章里,将完美解决这个问题,让对硬件平台有依赖的系统封装部署,变为只对硬件配置没有依赖的“万能的”封装部署。2.Unlimited万能封装与部署的实现 2.1 突破硬件限制的三个问题 2.1.1计算机电源管理模式 不同计算机的电源管理是不一样的,共有Standard、ACPI Uniprocessor、ACPI Multiprocessor、MPS Uniprocessor、MPS Multiprocessor、Compaq SystemPro、ACPI这7种,这7种电源管理模式分别适用于7种类型的计算机。 截止Windows Server 2003的企业部署工具,运用SYSPREP有一个限制,就是仅适用于用于封装的源计算机和进行部署的目标计算机必须具有相同硬件抽象层 (HAL)。 没有相同的HAL,会造成电源管理模式不能正确判断。网络中提出了不用的HAL检测解决方案,如ACPI封包、死性不改的电源模式等等。但是这些都不能做到100%的电源判断正确,而且检测会需要额外的文件,并且可能多次重启计算机,耗费了时间。 问题1,怎么让Sysprep突破不能自动检测电源管理的限制? 2.1.2计算机硬盘 计算机硬盘的发展可谓迅速。容量的提升,个人计算机硬盘容量从97年以前的个位数容量,突破到2007年现在的三位数容量。硬盘接口也一直在改变,从IDE到SATA,再从SATA到SATAII,从前一直在服务器上使用的SCSI磁盘技术和RAID磁盘阵列技术也渐渐的被使用到个人计算机中。(IDE属于并口硬盘,SATA和SCSI都属于串口硬盘,RAID属于硬盘阵列技术)。 在部署过程中,由于磁盘类型不同,需要不同的硬盘驱动(一般都是关于串口磁盘和磁盘阵列的驱动)。如果部署过程中不能正确加载硬盘驱动,则会造成不能进入系统甚至不能启动。 问题2,如何突破S&R&S(SATA & RAID & SCSI)硬盘类型的限制? 2.1.3驱动残留 进行封装的源计算机如果和进行部署的目标计算机硬件差异很大,例如AMD CPU+nVIDIA主板的源计算机做的系统映像部署到Intel CPU+Intel主板的机器上,在源计算机上装载的驱动程序肯定是在目标计算机上用不到了。即使目标计算机和源计算机硬件差异不大,但硬件技术差异很大,例如Intel CPU+Intel主板的源计算机做的系统映像部署到Intel CPU+Intel主板的机器上,源计算机为Intel 865主板,而目标计算机为945主板,源计算机上的驱动也是铁定用不到的。 这些驱动的残留不仅仅是会留下系统垃圾的问题,如果源计算机上的驱动自动强行去识别目标计算机上的硬件,很有可能会造成系统的不稳定乃至蓝屏崩溃。 问题3,如何突破不同硬件驱动冲突的限制? 2.2 突破HAL限制 2.2.1 Longhorn的启示 Windows Server 2003之前,Sysprep受到“必须源计算机与目标计算机有着相同的HAL”的限制,在HAL不相同的时候,不能正确判断计算机电源管理模式。 从2003年Windows Server 2003发布到2006年底Windows Vista的发布中的3年中,微软在研发Vista的时候,发布了以内部研发编号命名的Windows Longhorn测试版。 Windows Longhorn与以往的Windows在启动时有着一定的区别。 第一,NTLDR 有一定区别,提供了“/detecthal” 接口; 第二,BOOT.INI也支持“/detecthal”参数,以实现与NTLDR的结合; 第三,INF文件夹中有了“dtecthal.inf”, 提供各种HAL类型检测的参数说明。 有了这三个文件,可以让计算机在开机启动时即自动检测 HAL,从而可以自动判断电源管理选项。 2.2.2 移植Longhorn的HAL判断 现今大多数人还是以使用Windows 2000/XP为主,所以,即使Longhorn的HAL判断再怎么强悍,不能移植到2000/XP中,也就不能使用。 以下是在2000/XP总移植并使用Longhorn的HAL判断的具体方法: 1>从系统中提取相应的HAL文件包:(WIN2000在SP4.CAB、WINDOWS XP SP2在SP2.CAB中) halacpi.dll halapic.dll halmps.dll halaacpi.dll halmacpi.dll hal.dll ntkrnlmp.exe ntkrnlpa.exe ntkrpamp.exe ntoskrnl.exe 提取完毕后将hal.dll更名为halstnd.dll,ntoskrnl.exe更名为ntkrnlup.exe; 2>将上述相应的HAL文件包拷贝到准备封装的系统的%Windir%\SYSTEM32\下; 3>将Longhorn的“dtecthal.inf”拷贝到准备封装的系统的%Windir%\INF\下; 4>修改C:\BOOT.INI 在准备封装的系统后面加上 /DETECTHAL参数如: [boot loader] timeout=0 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /detecthal 5>将LONGHORN版本的NTLDR拷贝到从C:\,覆盖原有的NTLDR; 6>删除准备封装的系统的HAL信息,删除注册表中以下键值,如果提示权限不足不能删除,则可用setacl.exe来修改权限再删除。 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ACPI_HAL HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\ACPI_HAL HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\ACPI_HAL HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\Root\ACPI_HAL HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Enum\ACPI_HAL HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Enum\Root\ACPI_HAL HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI_HAL HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL 至此,突破了HAL限制的系统就已经准备完毕。由于这个技术本身就出自微软,所以对电源管理的判断几乎是100%。 突破HAL限制的系统可以部署在任何HAL环境的计算机上,不再有“源计算机和目标计算机需有相同的HAL”的限制。 2.1.1节中提出的问题完美解决 2.3 突破S&R&S 硬盘限制 确定目标计算机上可能用到的所有大量存储控制器,对于可能存在于目标计算机上的每个大量存储控制器,创建其硬件 ID 的列表。 2.3.1对于在 Windows 产品 CD 中提供的大量存储控制器 可以创建具有以下部分的 Sysprep.inf 文件: [SysprepMassStorage] hardware_id = path_to_device_inf 其中: hardware_id 在设备的 .inf 文件中指定的即插即用 ID。 path_to_device_inf .inf 文件的路径,该文件中包含待安装控制器的即插即用 ID。 例如,要支持 Windows XP 自带的不同 IDE 控制器(PCI 和 Intel),该部分如下所示: [SysprepMassStorage] PCI\VEN_8086&DEV_1222 = "%WINDIR%\inf\mshdc.inf" PCI\VEN_8086&DEV_1230 = "%WINDIR%\inf\mshdc.inf" PCI\VEN_8086&DEV_7010 = "%WINDIR%\inf\mshdc.inf" PCI\VEN_8086&DEV_7111 = "%WINDIR%\inf\mshdc.inf" PCI\VEN_8086&DEV_2411 = "%WINDIR%\inf\mshdc.inf" PCI\VEN_8086&DEV_2421 = "%WINDIR%\inf\mshdc.inf" PCI\VEN_8086&DEV_7199 = "%WINDIR%\inf\mshdc.inf" 2.3.2 对于 Windows 产品 CD 上没有提供的大量存储控制器 将目标计算机上的大量存储控制器的驱动程序文件复制到您计算机上的文件夹中 – 例如,复制到主计算机硬盘驱动器上的 %SYSTEMDRIVE%\pnpdrvrs\storage 中。 按以下格式向 [SysprepMassStorage] 部分中添加几行内容: hardware_id = path_to_device_inf, disk_directory, disk_description, disk_tag 其中: hardware_id 在设备的 .inf 文件中指定的即插即用 ID。 path_to_device_inf .inf 文件的路径,该文件中包含待安装控制器的即插即用 ID。 disk_directory 第三方提供的软盘上的文件夹名称,该文件夹中包含大量存储驱动程序的副本。 disk_description 在第三方提供的 Txtsetup.oem 文件中指定的软盘说明。 disk_tag 在第三方提供的 Txtsetup.oem 文件中指定的软盘的磁盘标记。 将驱动程序文件放置到由 Sysprep.inf 中 [SysprepMassStorage] 部分指定的位置。例如,要支持新的 Qlogic 驱动程序,如果将文件复制到 C:\Drivers\Storage 文件夹,则添加如下行: [SysprepMassStorage] PCI\VEN_1077&DEV_1080 = "C:\Drivers\Storage\qlogic\qlogic.inf", "C:\Drivers\Storage\qlogic", "Qlogic Software Disk", "C:\Drivers\Storage\qlogic\qlogic"2.3.3 突破S&R&S实例 1>收集需要的srs驱动,方便期间,直接下载DPS提供的massstorage 驱动: [url]http://www.driverpacks.net/DriverPacks/download.php?pag=m[/url]2>解压驱动到c:\drivers 。 3>编辑sysprep.ini 加入以下内容 InstallFilesPath=C:\sysprep\i386 然后在[SysprepMassStorage]段中添加需要的串口磁盘驱动,根据DPS驱动包的说明书,一般只集成Intel、nVIDIA、Uli、VIA、SiS、AMD的串口磁盘驱动即可,在对应的驱动包中的inf文件中,可以获得硬件的即插即用ID。 例如: [SysprepMassStorage] PCI\VEN_1022&DEV_7469=c:\drivers\m\am\AMDEIDE.inf PCI\VEN_1002&DEV_4349=c:\drivers\m\at\atiide.inf PCI\VEN_10B9&DEV_5215=c:\drivers\m\au\1\ALIIDE.INF PCI\VEN_10B9&DEV_5219=c:\drivers\m\au\1\ALIIDE.INF PCI\VEN_10B9&DEV_5229=c:\drivers\m\au\1\ALIIDE.INF PCI\VEN_10B9&DEV_5228=c:\drivers\m\au\2\m5228.INF PCI\VEN_10B9&DEV_5281=c:\drivers\m\au\2\m5281.inf PCI\VEN_10B9&DEV_5287=c:\drivers\m\au\3\ulisata.inf PCI\VEN_10B9&DEV_5288=c:\drivers\m\au\4\ULISATA.INF PCI\VEN_10B9&DEV_5289=c:\drivers\m\au\5\ULISATA.INF PCI\VEN_8086&DEV_2652&CC_0104=c:\drivers\m\in\1\iastor.inf PCI\VEN_8086&DEV_27C3&CC_0104=c:\drivers\m\in\1\iastor.inf PCI\VEN_8086&DEV_2682&CC_0104=c:\drivers\m\in\1\iastor.inf PCI\VEN_8086&DEV_27C6&CC_0104=c:\drivers\m\in\1\iastor.inf PCI\VEN_8086&DEV_2822&CC_0104=c:\drivers\m\in\1\iastor.inf PCI\VEN_8086&DEV_2652&CC_0106=c:\drivers\m\in\1\iaahci.inf PCI\VEN_8086&DEV_2653&CC_0106=c:\drivers\m\in\1\iaahci.inf PCI\VEN_8086&DEV_27C1&CC_0106=c:\drivers\m\in\1\iaahci.inf PCI\VEN_8086&DEV_27C5&CC_0106=c:\drivers\m\in\1\iaahci.inf PCI\VEN_8086&DEV_2681&CC_0106=c:\drivers\m\in\1\iaahci.inf PCI\VEN_8086&DEV_2821&CC_0106=c:\drivers\m\in\1\iaahci.inf PCI\VEN_8086&DEV_24DF&CC_0104=c:\drivers\m\in\1\O\iastor.inf PCI\VEN_8086&DEV_25B0&CC_0104=c:\drivers\m\in\1\O\iastor.inf PCI\VEN_10DE&DEV_008E=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_00D5=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_00EE=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_00E3=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_0036=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_003E=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_0054=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_0055=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_0266=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_0267=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_036F=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_037E=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_037F=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_03F6=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_03F7=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_10DE&DEV_03E7=c:\drivers\m\N\TM\nvatabus.inf PCI\VEN_1039&DEV_0181=c:\drivers\M\SI\1\SISRaid1.INF PCI\VEN_1039&DEV_0180=c:\drivers\M\SI\2\SISRaid.INF PCI\VEN_1039&DEV_0182=c:\drivers\M\SI\3\SISRaid2.INF PCI\VEN_1106&DEV_3349&CC_0104=c:\drivers\M\V\1\VIAMRAID.INF PCI\VEN_1106&DEV_6287&CC_0106=c:\drivers\M\V\1\VIAMRAID.INF PCI\VEN_1106&DEV_0591&CC_0104=c:\drivers\M\V\1\VIAMRAID.INF PCI\VEN_1106&DEV_3249&CC_0104=c:\drivers\M\V\1\VIAMRAID.INF PCI\VEN_1106&DEV_3149&CC_0104=c:\drivers\M\V\1\VIAMRAID.INF PCI\VEN_1106&DEV_3164&CC_0104=c:\drivers\M\V\1\VIAMRAID.INF PCI\VEN_1106&DEV_0581&CC_0104=c:\drivers\M\V\1\VIAMRAID.INF PCI\VEN_1106&DEV_7372&CC_0104=c:\drivers\M\V\1\VIAMRAID.INF PCI\VEN_1106&DEV_4149=c:\drivers\M\V\2\viapide.inf PCI\VEN_1106&DEV_0571=c:\drivers\M\V\3\vminiide.inf PCI\VEN_1106&DEV_3149&CC_0101=c:\drivers\M\V\3\vminiide.inf PCI\VEN_1106&DEV_0591&CC_0101=c:\drivers\M\V\3\vminiide.inf PCI\VEN_1106&DEV_5337&CC_0101=c:\drivers\M\V\3\vminiide.inf PCI\VEN_1106&DEV_3349&CC_0101=c:\drivers\M\V\3\vminiide.inf PCI\VEN_1106&DEV_5287&CC_0101=c:\drivers\M\V\3\vminiide.inf PCI\VEN_1106&DEV_3164&CC_0101=c:\drivers\M\V\3\vminiide.inf PCI\VEN_1106&DEV_0581&CC_0101=c:\drivers\M\V\3\vminiide.inf PCI\VEN_1106&DEV_5324&CC_0101=c:\drivers\M\V\3\vminiide.inf PCI\VEN_104B&DEV_1040=c:\drivers\M\VM\vmscsi.inf 4>在c:\sysprep 目录下建立 i386\$oem$目录 ,在c:\sysprep\i386\$oem$ 中建立cmdlines.txt 文件,在文件中加入 [Commands] "c:\sysprep\sysprep -clean" 这样就会在最小化安装的过程中禁用所有因为在目标计算机上不存在而未安装的大量存储控制器。 至此,一个突破了S&R&S限制的系统映像准备完毕。 执行sysprep进行封装,在封装的过程中,系统会自动安装 srs驱动。在最小化安装的时候会删除多余的驱动。 2.1.2节中的问题,这里也就已经解决了。 2.4 多余驱动的卸载 做封装所用的计算机中所使用的驱动程序,在被部署的计算机上大多数不再有用(除非都被部署在相同硬件配置的计算机上)。所以,我们要一一删除源计算机中的这些驱动,以免残留的驱动造成部署的不正常。 卸载驱动,在“设备管理器”(我的电脑,属性,硬件,设备管理器)中列出所有设备,然后一一卸载。 在设备管理器中,可以看到当前正在使用的所有硬件设备。 1>常规驱动的卸载 除“IDE ATA/ATAPI控制器”和“计算机”以外的其他设备,一一展开,然后卸载即可。 2>更改IDE模式 由于不同计算机的IDE控制器差异比较大,如果出现错误的识别,将会出现不能开机的情况,所以,这里预先将IDE控制器设置为“标准双通道”,在部署时,安装程序将自动寻找和起匹配的IDE控制器驱动程序。 3>计算机电源管理 计算机电源管理分为许多种,可以适用于不同类别的计算机。如果电源管理判断不正确,将会造成计算机的不正常。在计算机识别电源管理之前,需要将电源管理设为标准模式以基本适用于所有的计算机,这种标准模式仅仅可以保证计算机正常启动,但是不能保证最高效的运行。 将计算机的电源管理模式设置为Standard PC以后,在部署时,由于我们适用了Longhorn的HAL自动判断,计算机将会在启动时自动修改Standard PC为被部署计算机的电源管理模式。 至此,突破了硬件限制的系统映像也被修改了出来,系统映像可以被部署到不同硬件配置的机器中了。 2.1.3节中的问题被解决。 2.5 综述 在不同硬件配置的机器中适用系统部署受到种种制约,本章分为3块解决了映像系统万能部署的3条限制。 Longhron的自动HAL判断,解决了源计算机与目标计算机在不同HAL模式时不能进行部署的问题。 S&R&S驱动的集成,解决了系统部署在不同硬盘模式的情况下进行部署的问题。 驱动的卸载,解决了系统部署在不同硬件配置的计算机下进行的问题。 这3条限制被突破以后,系统部署时,不必再遵循源计算机和目标计算机必须相同配置的原则,真正可以实现无限制的“万能部署”。 3.Auto 自动封装与部署的实现 3.1 自动封装与部署的意义和理论实现 3.1.1自动封装的意义 1>封装测试需要很多次的重复 封装一个可以部署的系统映象并不难,但是封装一个比较完美的可以满足各项要求的系统映象却是一个特别花费时间和精力的工作,需要很多次的重复制作。仅上一章中所提到的各种限制的突破,如果每次测试都时候都做一次,也会消耗很多的时间。 能不能让这些手工的机械化的操作变成自动的? 2>频繁的手工操作容易造成错误 即使是一个对封装十分了解的人,在多次的执行封装中,也难免会出现遗漏和失误,毕竟封装的步骤一环扣一环,虽然不繁琐也难免会造成错误。 怎么让封装的流程变的自动而无需人手工参与? 3>封装的普及 很多IT工作者并不十分了解封装与部署,却一样想做出自己的系统映象用来部署,由于工作等原因实在没有时间去系统的学习,难道封装只能掌握在少数人手中? 怎么让封装更为普及化,让没有太多封装知识和经验的人也能迅速的进行系统封装? 3.1.2 系统封装和部署的详细流程 1>系统安装、补丁、软件等; [封装]: 2>在系统光盘上找到Deploy.cab,解压到%system%\Sysprep; 3>运行Setupmgr.exe创建无人职守部署应答文件Sysprep.inf; 4>突破HAL限制,把于HAL相关的文件都放置在%windir%下相应位置,提取Longhorn的ntldr1,修改boot.ini; 5>突破S&R&S限制,把所有串口磁盘和磁盘阵列驱动都放置在%systemdrive%\Drivers下,在Sysprep.inf中的[SysprepMassStorage]段下添加磁盘驱动位置等信息; 6>卸载各种驱动,修改IDE控制器为标准双通道,修改计算机电源管理为Standard PC; 7>运行Sysprep.exe进行系统封装; 8>关闭封装源计算机; 9>DOS模式启动封装源计算机,使用GHOST备份下封装完的系统映象; [部署]: 10>使用GHOST恢复系统映象到部署目标计算机; 11>部署目标计算机,系统运行%windir%\system32\setup.exe来部署计算机映象。 3.1.3 自动封装的理论实现 纵观流程,封装过程基本上可以分为相关文件的复制、对文件的调整、相关软件的运行、对系统的调整四部分。 相关文件的复制,简单说,就是把应该放在哪儿的文件放在哪儿,这些文件都是特定的,进行封装必然要用到这些文件,所以,可以预先把这些文件提取出来放置在一个另外的文件夹中,然后用WinRAR压缩为自解压文件并设定解压位置,这样到用这些文件的时候直接双击自解压包,这些要用到的文件就会各自解压到自己应该在的位置上。 对文件的调整,主要是替换Longhorn的ntldr,以及修改boot.ini,这个我们可以用命令行修改系统自身的ntldr为ntldr.bak,修改系统自身的boot.ini为boot.ini.bak,然后把 Longhorn的ntldr和修改好的boot.ini复制到原系统ntldr和boot.ini的位置。当系统部署完毕后再把原始的ntldr和boot.ini替换回来,虽然替换回原有的不是必须的,但是个人认为,保持原系统的原始性一定程度上有利于系统的稳定性。 相关软件的运行,这个主要是Sysprep,如果每次要为Sysprep设置相同的执行方式,那么Sysprep提供很多的运行参数,添加参数运行Sysprep,就免去了每次都要去点击封装选项的问题。 对系统的调整,主要是卸载驱动以及调整计算机电源管理和IDE控制器。虽然这个可以使用自动化实现,但是个人认为这个手工还是比较保险。 3.2 实现自动封装与部署 3.2.1 文件的自动复制 建立如下目录,以D:\ES文件夹为例: D:\ES\ Sysprep\ cvtarea.exe D:\ES\ Sysprep\ oformat.com D:\ES\ Sysprep\ Setupcl.exe D:\ES\ Sysprep\ Sysprep.exe D:\ES\ Sysprep\ Sysprep.inf D:\ES\ Sysprep\ SetACL.exe D:\ES\Sysprep\AutoSysprep.cmd D:\ES\Sysprep\cmdline.reg D:\ES\WINDOWS\ inf\ dtecthal.inf D:\ES\WINDOWS\ system32 D:\ES\WINDOWS\ system32\ halaacpi.dll D:\ES\WINDOWS\ system32\ halacpi.dll D:\ES\WINDOWS\ system32\ halapic.dll D:\ES\WINDOWS\ system32\ halmacpi.dll D:\ES\WINDOWS\ system32\ halmps.dll D:\ES\WINDOWS\ system32\ halstnd.dll D:\ES\WINDOWS\ system32\ mscomctl.ocx D:\ES\WINDOWS\ system32\ ntkrnlmp.exe D:\ES\WINDOWS\ system32\ ntkrnlpa.exe D:\ES\WINDOWS\ system32\ ntkrnlup.exe D:\ES\WINDOWS\ system32\ ntkrpamp.exe D:\ES\WINDOWS\ AllUsrRun.cmd D:\ES\ Drivers D:\ES\ bootL.ini D:\ES\ ntldrL 说明: 1>ES文件夹模拟C盘根目录,所有文件排布和此后要复制到C盘中的排布是一样的; 2>Sysprep中的所有文件在第一章中介绍过,Sysprep文件夹将在系统部署最小化安装时自动删除,SetACL.exe是提升权限以修改注册表的工具,AutoSysprep.cmd是自动进行封装所用的批处理,cmdline.reg将在3.2.3中详细说明; 3>inf和system32文件夹中的各文件在第二章中介绍过,用于Longhorn的自动HAL判断; 4>AllUsrRun的用处后面详细介绍; 5>bootL.ini是为HAL自动判断所写好的boot.ini文件,内容为: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /detecthal 6>ntldrL是Longhorn的系统引导文件,同样用于自动HAL判断。 7>Drivers中放置串口磁盘和磁盘阵列驱动 文件打包: 选择最常用的压缩工具WinRAR来进行打包ES文件夹中的所有文件, 设定默认解压缩路径为C:\并且设置解压模式为“隐藏启动对话框”和“覆盖所有文件”,这几个选项的设定可以保证文件不会复制到错误的位置。 3.2.2 自动封装的实现 AutoSysprep.cmd的内容如下(以封装XP系统为例): rem 自动封装,静默模式、最小化、不重置激活事件、清空事件查看器日志、不重启计算机 start /wait c:\sysprep\sysprep.exe -quiet -mini -activated -reseal -noreboot rem 导入cmdline.reg键值(3.2.3中介绍) start /wait regedit.exe /s c:\Sysprep\cmdline.reg rem 取消XP的ntldr权限,改名为ntldrXP,再恢复其权限 attrib c:\ntldr -h -s -r ren c:\ntldr ntldrxp attrib c:\ntldrxp +h +s +r rem 取消Longhron的ntldrL的权限,改名为ntldr,再恢复其权限 attrib c:\ntldr1 -h -s -r ren c:\ntldr1 ntldr attrib c:\ntldr +h +s +r rem取消XP的boot.ini权限,改名为bootXP.ini,再恢复其权限 attrib c:\boot.ini -h -s -r ren c:\boot.ini bootxp.ini attrib c:\bootxp.ini +h +s +r rem 取消Longhron的bootL.ini的权限,改名为boot.ini,再恢复其权限 attrib c:\boot1.ini -h -s -r ren c:\boot1.ini boot.ini attrib c:\boot.ini +h +s +r rem 进入Sysprep文件夹内 cd\ cd\sysprep rem 使用SetACL来取消有关源计算机HAL的注册表信息的权限,以便随后的修改 setacl MACHINE\SYSTEM\ControlSet001\Enum\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet001\Enum\Root\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet002\Enum\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet002\Enum\Root\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet003\Enum\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet003\Enum\Root\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL /registry /grant everyone /full rem 删除源计算机的HAL注册表信息 reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\Root\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Enum\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Enum\Root\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL /f rem 以下用于Intel CPU + Intel 主板的源计算机,Intel的这两组键值容易造成部署到非Intel硬件计算机中的蓝屏事故 rem使用SetACL来取消有关当前Intel 主板的注册表信息的权限,以便随后的修改 setacl MACHINE\SYSTEM\ControlSet001\Services\IntelIde /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet002\Services\IntelIde /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet003\Services\IntelIde /registry /grant everyone /full setacl MACHINE\SYSTEM\CurrentControlSet\Services\IntelIde /registry /grant everyone /full rem使用SetACL来取消有关当前Intel CPU的注册表信息的权限,以便随后的修改 setacl MACHINE\SYSTEM\ControlSet001\Services\intelppm /registry /grant everyone /full setacl MACHINE\SYSTEMrem 使用SetACL来取消有关源计算机HAL的注册表信息的权限,以便随后的修改 setacl MACHINE\SYSTEM\ControlSet001\Enum\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet001\Enum\Root\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet002\Enum\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet002\Enum\Root\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet003\Enum\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet003\Enum\Root\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI_HAL /registry /grant everyone /full setacl MACHINE\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL /registry /grant everyone /full rem 删除源计算机的HAL注册表信息 reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\Root\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Enum\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Enum\Root\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI_HAL /f reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL /f rem 以下用于Intel CPU + Intel 主板的源计算机,Intel的这两组键值容易造成部署到非Intel硬件计算机中的蓝屏事故 rem使用SetACL来取消有关当前Intel 主板的注册表信息的权限,以便随后的修改 setacl MACHINE\SYSTEM\ControlSet001\Services\IntelIde /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet002\Services\IntelIde /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet003\Services\IntelIde /registry /grant everyone /full setacl MACHINE\SYSTEM\CurrentControlSet\Services\IntelIde /registry /grant everyone /full rem使用SetACL来取消有关当前Intel CPU的注册表信息的权限,以便随后的修改 setacl MACHINE\SYSTEM\ControlSet001\Services\intelppm /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet002\Services\intelppm /registry /grant everyone /full setacl MACHINE\SYSTEM\ControlSet003\Services\intelppm /registry /grant everyone /full setacl MACHINE\SYSTEM\CurrentControlSet\Services\intelppm /registry /grant everyone /full   rem 删除有关Intel主板的注册表信息 reg delete MACHINE\SYSTEM\ControlSet001\Services\IntelIde /f reg delete MACHINE\SYSTEM\ControlSet002\Services\IntelIde /f reg delete MACHINE\SYSTEM\ControlSet003\Services\IntelIde /f reg delete MACHINE\SYSTEM\CurrentControlSet\Services\IntelIde /f rem 删除有关Intel CPU的注册表信息 reg delete MACHINE\SYSTEM\ControlSet001\Services\intelppm /f reg delete MACHINE\SYSTEM\ControlSet002\Services\intelppm /f reg delete MACHINE\SYSTEM\ControlSet003\Services\intelppm /f reg delete MACHINE\SYSTEM\CurrentControlSet\Services\intelppm /f 3.2.3 部署过程的调整 部署过程,其实就是系统映象恢复到目标计算机上,目标计算机启动,系统会自动运行%windir%\system32\Setup.exe来部署系统。 如果我们想在Setup.exe前或者后运行点什么,该怎么办?例如,我们要在Setup.exe运行后将原来系统的ntldr和boot.ini恢复回来,而不是使用Longhorn的,怎么办? 经过对比封装前和封装后的注册表,发现目标计算机启动后,将要进行部署时并非是一定要运行%windir%\system32\Setup.exe,而是运行系统注册表中“HKEY_LOCAL_MACHINE\SYSTEM\Setup”分支下的“CmdLine”键值所指定的应用程序。在系统封装完成时,“HKEY_LOCAL_MACHINE\SYSTEM\Setup”分支下“CmdLine”键值被修改为“setup.exe”,这就是为什么目标计算机启动后会运行setup.exe来部署系统的原因。 我们自己写一个批处理,批处理的内容包括运行setup.exe和恢复原有ntldr、boot.ini,把这个批处理的名字定名为“AllUsrRun.cmd”,并且把“HKEY_LOCAL_MACHINE\SYSTEM\Setup”分支下“CmdLine”的键值由“setup.exe”修改为“AllUsrRun.cmd”。这样源计算机启动的时候并非运行setup.exe来部署系统,而是运行AllUsrRun.cmd。 AllUsrRun.cmd的内容如下: rem 把我们修改的CmdLine键值重新置空 reg delete HKEY_LOCAL_MACHINE\SYSTEM\setup /v cmdline /f rem 部署系统,全新安装、最小化执行 setup.exe -newsetup –mini rem 修改Longhorn的ntldr权限,并删除 attrib c:\ntldr -h -s -r del c:\ntldr rem 修改先前备份的XP的ntldrXP权限,改名回ntldr,恢复权限 attrib c:\ntldrXP -h -s -r ren c:\ntldrXP ntldr attrib c:\ntldr +h +s +r rem 修改Longhorn的boot.ini权限,并删除 attrib c:\boot.ini -h -s -r del c:\boot.ini rem 修改先前备份的XP的bootXP.ini权限,改名回boot.ini,恢复权限 attrib c:\bootXP.ini -h -s -r ren c:\bootXP.ini boot.ini attrib c:\boot.ini +h +s +r   rem修改多启动菜单等待时间为5秒 bootcfg /timeout 5 这样部署过程就被我们调整的如我们所愿了。 3.3 综述 经过3.2节中的几步,自动封装和部署基本被我们实现。 3.1.2中[封装]段的步骤被简化为: 1>运行自动解压缩,把文件解压到相应位置; 2>卸载驱动,手动修改IDE控制器和计算机电源管理; 3>运行%systemdrive%\Sysprep文件夹中的AutoSysprep.cmd封装系统; 4>重启计算机,使用GHOST备份系统映象。 3.1.2中[部署]段的步骤变为: 1>恢复系统映象到目标计算机; 2>目标计算机启动,自动运行AllUsrRun.cmd部署系统并还原系统原始的ntldr和boot.ini。 如此以来,系统封装将变的十分简单,不仅给多次测试封装系统带来很大的方便,还能让没有太多封装经验的人迅速封装系统。 系统自动化封装和部署完美实现。 结论 全文分3章讲述了封装部署方法快速安装和部署操作系统的方法。 从第一章的基本实现到第二章的万能实现,再到第三章自动实现,一步步实现了从最基本封装部署到全自动封装部署。 从覆盖面上讲,从最原始的微软所规定的“源计算机与目标计算机必须有相同的HAL”到最终的任意HAL源计算机部署到任意HAL目标计算机,覆盖面被有效的提高。理论上讲,部署方法,可以适用于任何计算机。 从易用性上讲,从最早的手工复制文件、手工修改注册表、手工修改各种配置文件,到最终的“Easy Sysprep”只需在图形界面设置好然后单击一下“开始封装”即可封装系统,不可说不是个比较大的进步和跨越。 经过本文中3章的研究工作,封装部署已经变的拥有更大的适用性并拥有更简单的可用性,系统封装部署这种可以有效的提高计算机维护人员工作效率的方法,必将得到最广泛的认可与应用!现在大家对系统封装,因该有了一定的认识,资料的收集和整理不容易,希望大家有所收获!TKS!本文出自 “许珈毓的技术思考” 博客,谢绝转载!... 全文

操作系统 系统 封装 部署 休闲

浅析Aix操作系统文件系统

在Aix操作系统中,文件系统是由若个文件和目录组成的分级树形结构。文件系统通过一个挂接点mount point把自己连接到系统的一个节点上,这样文件系统可以方便地安装、拆卸和备份、恢复。... 全文

Aix操作系统

全面讲解Aix操作系统文件系统结构

我们要知道在Aix操作系统中,文件系统是由若个文件和目录组成的分级树形结构。文件系统通过一个挂接点mount point把自己连接到系统的一个节点上,这样文件系统可以方便地安装、拆卸和备份、恢复。在Aix操作系统中,一个文件系统总是独占一个逻辑卷,因此系统逻辑卷对文件系统有一定的限制。当然,逻辑卷既可做为一个文件系统的载体,也可做为它用。Aix操作系统支持的文件系统类型有日志文件系统jfs,网络文件系统nfs,光盘文件系统cdrfs等等。文件系统的结构 在Aix操作系统中,有五个特定的文件系统,它们是系统安装时自动生成的。... 全文

Aix操作系统

讲解Unix操作系统UUCP系统程序的安全

在Unix操作系统中有很多值得学习的地方,今天我们主要介绍Unix操作系统中的uucp,UUCP系统是一组程序,完成文件传输,执行系统之间的命令,维护系统使用情况的统计,保护安全.今天,我们就来讲解下UUCP系统程序的安全问题。大家一起来学习下吧!Unix操作系统UUCP系统程序的安全问题UUCP系统未设置限制,允许任何本系统外的用户执行任何命令和拷贝进/出uucp用户可读/写的任何文件.在具体的uucp应用环境中应了解这点,根据需要设置保护.... 全文

Unix操作系统

Linux操作系统定时任务系统 Cron

Linux操作系统定时任务系统 Cron 入门  cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:  /sbin/service crond start //启动服务  /sbin/service crond stop //关闭服务  /sbin/service crond restart //重启服务  /sbin/service crond reload //重新载入配置  你也可以将这个服务在系统启动的时候自动启动:  在/etc/rc.d/rc.local这个脚本的末尾加上:  /sbin/service crond start  现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:  1.直接用crontab命令编辑  cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:  crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数  crontab -l //列出某个用户cron服务的详细内容  crontab -r //删除没个用户的cron服务  crontab -e //编辑某个用户的cron服务  比如说root查看自己的cron设置:crontab -u root -l  再例如,root想删除fred的cron设置:crontab -u fred -r  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e  进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt任务调度的crond常驻命令crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。1、linux任务调度的工作主要分为以下两类:     *系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存     *个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。2.crontab命令选项:     -u指定一个用户,     -l列出某个用户的任务计划,     -r删除某个用户的任务,     -e编辑某个用户的任务3.cron文件语法:           分     小时   日       月       星期     命令         0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)4.记住几个特殊符号的含义:         "*"代表取值范围内的数字,         "/"代表"每",         "-"代表从某个数字到某个数字,         ","分开几个离散的数字一、任务调度设置文件的写法       可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件具体格式如下:       Minute Hour Day Month Dayofweek   command       分钟     小时   天     月       天每星期       命令每个字段代表的含义如下:     Minute             每个小时的第几分钟执行该任务     Hour               每天的第几个小时执行该任务     Day                 每月的第几天执行该任务     Month             每年的第几个月执行该任务     DayOfWeek     每周的第几天执行该任务     Command       指定要执行的程序     在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。举例如下:5       *       *           *     *     ls             指定每小时的第5分钟执行一次ls命令30     5       *           *     *     ls             指定每天的 5:30 执行ls命令30     7       8         *     *     ls             指定每月8号的7:30分执行ls命令30     5       8         6     *     ls             指定每年的6月8日5:30执行ls命令30     6       *           *     0     ls             指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]30     3     10,20     *     *     ls     每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]25     8-11 *           *     *     ls       每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]*/15   *       *           *     *     ls         每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]30   6     */10         *     *     ls       每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件50   7       *             *     *     root     run-parts     /etc/cron.daily   [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]二、新增调度任务新增调度任务可用两种方法:         1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。         2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。三、查看调度任务         crontab -l //列出当前的所有调度任务         crontab -l -u jp   //列出用户jp的所有调度任务四、删除任务调度工作         crontab -r   //删除所有任务调度工作五、任务调度执行结果的转向     例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中         30 5 * * * ls >/jp/test 2>&1     注:2>&1 表示执行结果及错误信息。编辑/etc/crontab 文件配置cron    cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:    SHELL=/bin/bash    PATH=/sbin:/bin:/usr/sbin:/usr/bin    MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号    HOME=/ //使用者运行的路径,这里是根目录    # run-parts    01   *   *   *   *     root run-parts /etc/cron.hourly         //每小时执行/etc/cron.hourly内的脚本    02   4   *   *   *     root run-parts /etc/cron.daily           //每天执行/etc/cron.daily内的脚本    22   4   *   *   0     root run-parts /etc/cron.weekly       //每星期执行/etc/cron.weekly内的脚本    42   4   1   *   *     root run-parts /etc/cron.monthly     //每月去执行/etc/cron.monthly内的脚本    大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了例如:         1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。         2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务11 2 21 10 * rm -rf /mnt/fb本文出自 “运维工程师” 博客,请务必保留此出处http://yanzhe.blog.51cto.com/5279577/1219513... 全文

service linux 操作系统

Fedora操作系统和Debian GNU/Linux系统深入讲解

Linux系统中Fedora操作系统和Debian GNU/Linux系统是最长使用的操作系统,有些用户对此不是很了解,这里向大家全面介绍Fedora与Debian GNU/Linux系统。Fedora操作系统... 全文

Fedora操作系统

Unix操作系统Vi编辑程序操作模式

Unix操作系统工程师在平时工作时,需要通过各种手段跟Unix操作系统进行交流、进行对话。如在系统防火墙管理中,工程师必须把自己的想法,如允许哪些数据包通过,哪些数据包过滤掉等等,告诉给Unix操作系统。而无疑vi程序就是这么一个工具。它能够为工程师与Unix操作系统之间建立一座沟通的桥梁。 Vi是英文visual的缩写,是Unix操作系统下最受欢迎的全屏幕编辑程序。... 全文

Unix操作系统

八方面原因 可能拖慢操作系统启动过程

我们都希望电脑一开机就可以立即进入Windows系统而不用等待,但由于种种原因常常未能如愿,甚至一开机就死机的情况也时有发生。其实有些时候Windows启动速度缓慢并不是它本身的问题,而是一些设备或软件造成的,看看下面拖慢系统启动的8个原因,再查一查你的电脑是不是也存在类似问题!1.USB硬盘和扫描仪等设备... 全文

操作系统 系统安全 检测

Linux操作系统实战:分区规划方法详细介绍

以下内容需要一些Linux基础知识,如果看不下去只要记住,在安装 Linux 时最起码得分2个分区“/”与“swap”。其他的可以暂时不考虑。... 全文

系统分区 Linux 操作系统

实时操作系统VxWorks在跟踪雷达系统中的应用

跟踪雷达在跟踪高速目标时,需要有足够快的反应速度,这不仅对它自身的硬件系统的实时性要求较高,而且对相应软件系统的实时性要求也较高。用实时操作系统VxWorks作为跟踪雷达系统中的操作系统,可以满足软件对实时性需求。... 全文

VxWorks 操作系统 雷达 应用

2 3 4 5 6 7 8 9 10 11