操作系统安装与维护札记(一)

近期给公司组装了不少开发用台式机,系统安装、配置都是我来做的,特整理一下,备忘。

本篇札记参考了众多资料,进行了适当修改,以更易于阅读。本着研究的态度看待系统激活机制与相关知识,请勿用于商业用途,后果自负。

因为是开发用,所以配置很高,内存加到了8G。

一、操作系统的选择

有很多人喜欢用XP做开发,甚至用Win7,但是在我看来,开发人员应该使用服务器操作系统。目前Windows Server 2003是绝对的主流,以前公司的开发人员均使用该系统。在稳定性、性能上服务器操作系统是唯一的选择。现在新安装的机子我都是安装Windows Server 2008 R2 企业版。

 

二、OEM、ODM、OBM

「原厂委托制造」OEM( Original Equipment Manufacturer )是受托厂商按原厂之需求与授权,依特定的条件而生产。所有的设计图等都完全依照下游厂商的设计来进行制造加工。

「原厂委托设计」ODM ( Original Design Manufacturer )则是在产品设计与发展的活动上,经由高效能的产品开发速度与具竞争力的制造效能,满足买主需求。技术能力足够以後设计能力提升,进而能够开始接案并处理设计开发的相关事务。

「建立品牌」OBM(Original Brand Manufacturer):发展出自己的企业形象,进而获取最大的经济利益。

所谓OEM激活其实是仿冒微软的OEM合作伙伴,在BIOS里添加OEM厂商的信息。

 

三、SLIC

SLIC全称是Software Licensing Internal Code,即软件许可内部码。微软公司用SLIC来控制用户对OEM版本的非法使用。微软为特定的合作伙伴发放操作系统的OEM版本,以满足合作双赢的需求。这些OEM版本的操作系统随机器预安装,并采用批量许可的授权模式。这样的批量许可难以有效识别合法用户和非法用户,可能被滥用而导致版权问题。为了控制这个问题,微软规定在安装每一个操作系统时将其激活。OEM可在安装过程中根据OEM和批量许可的媒体安装映像。OEM销售的大部分系统包括由制造商预激活的Windows 系统。

SLIC一般是写在SLDT(Software Licensing Description Table,软件许可描述表)中的,SLDT长374字节。而SLDT写在ACPI(Advanced Configuration and Power Management Interface,高级配置和电源管理接口)。

Windows XP OEM版激活,使用的是微软SLP 1.0。SLP(Software Licensing and Protection,软件许可和保护)服务是一项软件激活服务,使独立软件开发商为他们的用户采取灵活的软件许可条款。该1.0版本的激活技术并未使用数字签名技术,而是一段明文标识,比较容易被破解。

Windows Vista,取消了其他大客户版本,仅保留OEM版激活。其并使用的是微软SLP 2.0,公钥取代了明文,给破解造成一定的困难。

Windows 7仍然保留OEM激活策略,采用的是SLP 2.1版。

根据之前流出的消息,BIOS SLIC 激活方式对即将发布的Windows 8无效,Windows 8将采用OA 3.0(OEM Activation 3.0)。

 

破解SLIC一般有硬件破解和软件破解两种思路,并已经有相应的实现。

 

  硬件修改就是所谓"刷BIOS",将OEM机器里的BIOS信息提取出来,并复制到其它机器上。这样做的优点是,对操作系统而言,几乎无异于合法的OEM机器。但缺点也是技术难度高、风险大,如果不是老手,或刷BIOS时出现停电或读写故障,系统将无法正常启动,通常需要返厂处理。

软件修改就是利用操作系统只读取从BIOS载入内存的副本而不是BIOS本身这一弱点,在启动Vista之前,修改内存上的副本,使之无异于OEM机器。这样做的优点是,风险小。缺点是内存的信息和BIOS中的信息不同,当计算机休眠后,BIOS信息会被重新写入内存,原有的破解会被覆盖。

可以使用BIOS之家的SLIC Toolkit 来查看本机SLIC的信息:

 

四、KMS、MAK

KMS (Key Management Service) 密钥管理服务,这个功能是在Windows Vista中的Enterprise版本和Windows Server 2008中的一种新型产品激活机制,目的是为了Microsoft更好的反盗版。

KMS出现的原因

  Windows XP和Server 2003要想避开激活机制的最好办法就是去下载VOL版或者MSDN的操作系统,只要输入正确的序列号,甚至有的根本不需要序列号,安装完以后也根本不用激活,并且只要运行一个脚本程序,一个免费的正版Windows就诞生了。为什么我们能这么容易的下载到MSDN或VOL版的XP和2003?其实Windows XP系列系统的MSDN版是Microsoft内部使用的系统,而VOL版是企业版,所以都不需要激活。'然而这些版本最终被泄露,导致XP的盗版风无法停住,即使WGA也无能为力。

但是在Vista时代,Microsoft早已吸取了这个教训,所以Vista根本没有VOL版,而为企业设计的Windows Vista Enterprise也照样需要激活,并且还有了一个特殊的激活机制——KMS。

 

KMS的工作原理

由于Windows Server 2008和Windows Vista Enterprise都是为公司而设计,所以在一个公司中肯定会有很多台配置相等的计算机,并用一个服务器建立起一个局域网(LAN),而KMS正好利用这一点,它要求局域网中必须有一台KMS服务器,KMS服务器的作用是给局域网中的所有计算机的操作系统提供一个有效的产品序列号,然后计算机里面的KMS服务就会自动将系统激活。每一个由KMS Server提供的序列号的有效期只有180天,而不是其他版本的永久使用一个序列号。所以操作者必须在快到期的时候在此手动连接KMS服务器让它提供一个新的序列号,否则180天以后就会回到试用版本状态。

 

MAK(Multiple Activation Key)多次激活密钥,为了使得用户可以多次激活统一产品,有最多激活次数的限制。

MAK激活之后产品在重装之前可以在同一计算机中永久使用,用户下次安装也可直接使用MAK密钥进行再次激活(不扣点)。微软会通过一定的算法确认 用户是否在同一计算机中进行安装,如果用户更换磁盘或主板等PC大件,微软可能会识别并判断为用户在另一台计算机中进行激活,从而再次扣点。

 

五、BIOS

BIOS(Basic Input/Output System)基本输出输入系统,是加载在电脑硬件系统上的最基本的软件代码。BIOS这个字眼是第一次由CP/M操作系统中出现,描述在开机阶段加载CP/M与硬件直接沟通的部份。(CP/M机器通常只有ROM里面的一个简单开机加载程序)最早的DOS版本有个文件叫做"IBMIO.COM"或是"IO.SYS",类似于CP/M的磁盘BIOS。

当电脑的电源打开,BIOS就会由主板上的闪存(flash memory)运行,并将芯片组和存储器子系统初始化。BIOS会把自己从闪存中,解压缩到系统的主存;并且从那边开始运行。PC的BIOS代码也包含诊断功能,以保证某些重要硬件组件,像是键盘、磁盘设备、输出输入端口等等,可以正常运作且正确地初始化。几乎所有的BIOS都可以选择性地运行CMOS存储器的设置程序;也就是保存BIOS会访问的用户自定义设置数据(时间、日期、硬盘细节,等等)。IBM技术参考手册中曾经包含早期PC和AT BIOS的80x86源代码。

现代的BIOS可以让用户选择由哪个设备启动电脑,如光盘驱动器、硬盘、软盘、USB 闪存盘等等。这项功能对于安装操作系统、以LiveCD启动电脑、以及改变电脑找寻开机媒体的顺序特别有用。

有些BIOS系统允许用户可以选择要加载哪个操作系统(例如从第二颗硬盘加载其他操作系统),虽然这项功能通常是由第二阶段的开机管理程序(boot loader)来处理。

 

目前全球只有四家独立BIOS供应商,曾经的Award Software与General Software均被Phoenix Technologies收购,Microid Research被Unicore Software收购,SystemSoft被Insyde Software收购。

Phoenix Technologies,美国凤凰科技。

American Megatrends,美国安迈科技,目前为全球最大的BIOS供应商。之前曾被凤凰科技超过。

Insyde Software,台湾系微公司。

Byosoft,新兴厂商,中国大陆的百敖软件公司。

 

六、UEFI

UEFI(Unified Extensible Firmware Interface)统一可扩展固定接口, 是一种详细描述全新类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。

EFI(Extensible Firmware Interface)可扩展固件接口是 Intel 为全新类型的 PC 固件的体系结构、接口和服务提出的建议标准。 其 UEFI中图形化的硬件设置界面主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是有近20多年历史的PC BIOS的继任者。

UEFI是由EFI1.10为基础发展起来的,它的所有者已不再是Intel,而是一个称作Unified EFI Form的国际组织,贡献者有Intel,Microsoft,AMI,等几个大厂,属于open source,目前版本为2.3。与BIOS 相比,最大的几个区别在于:

  1. 编码99%都是由C语言完成;

  2. 一改之前的中断、硬件端口操作的方法,而采用了Driver/protocol的新方式;

  3. 将不支持X86实模式,而直接采用Flat mode(也就是不能用DOS了,现在有些 EFI 或 UEFI 能用是因为做了兼容,但实际上这部分不属于UEFI的定义了);

  4. 输出也不再是单纯的二进制code,改为Removable Binary Drivers;

  5. OS启动不再是调用Int19,而是直接利用protocol/device Path;

  6. 对于第三方的开发,前者基本上做不到,除非参与BIOS的设计,但是还要受到ROM的大小限制,而后者就便利多了。

  7.弥补BIOS对新硬件的支持不足的毛病。

UEFI将是近3年的趋势,到时候对于PC的利用以及维护都将步入一个新的时代。

posted @ 2011-09-08 23:31  徐州瑞步科技  阅读(1066)  评论(0编辑  收藏  举报