Windows下操作

2024-06-19

Windows下操作(精选8篇)

Windows下操作 篇1

摘要:利用计算机处理各种资料数据已成为人们生活的一部分, 数据的丢失已不可避免, 误操作后的数据丢失可以通过手工或软件进行数据恢复, 本文主要从这两个方面对数据的丢失后如何进行恢复处理进行一些研究。

关键词:数据恢复,误操作,硬盘

1. 引言

随着科学技术的发展, 计算机在我们的生活中的发挥了越来越大的作用, 无论是个人, 还是企事业单位, 都越来越依赖于电脑系统处理各种事务, 并把数据资料存储于电脑中, 以供以后查阅和利用。但电脑难以保证永远无故障, 用户的操作难以保证无差错, 因此会造成数据文件的丢失, 有些数据的丢失会对我们的工作和生活造成严重影响。如何把丢失的数据文件找回以避免造成损失变得日益重要起来。

2. 数据丢失的原因

数据丢失的原因大致包括恶意程序的破坏、被恶意破坏、误操作、操作系统或应用软件的错误、硬件失效、掉电等几种, 其中误操作最常见。误操作是指用户在用计算机的过程中操作失误, 如误分区、误高级格式化、误删除等, 即使是一个电脑高手也会遇到过。

3. 误操作的原因及数据恢复方法探究

1) 误分区丢失的原因及数据恢复

一个新硬盘不经过分区是不能使用的, 对硬盘分区就是把硬盘划分为多个区, 即逻辑盘, 就是我们在计算机中看到的“C”、“D”等盘, 分区的作用是有利于文件的管理、有效利用磁盘空间和提高系统运行效率等。分区通常可以利用分区软件进行, 如FDISK。硬盘的0柱面, 0磁头, 1扇区是硬盘系统中的一个特殊扇区, 是系统主板的BIOS向操作系统交接的重要入口, 该扇区信息遭受破坏时表现为系统提示硬盘未分区, 系统不能引导, 用其他介质引导后不能访问分区。造成的原因可以是用户误分区, 也可能是由于病毒入侵、黑客破坏或突然断电等。

要恢复硬盘里的数据就必须先重建分区表, 使各分区能被操作系统识别。分区表的重建方法有两种, 一种是手工重建, 一种是利用工具软件重建。

(1) 手工重建分区表:把要修复的硬盘挂载到能起动的计算机上, 并在BIOS中能认出该硬盘, 这时操作系统是不能访问的, 但可以通过WinHex等程序直接访问, 通过WinHex来修改硬盘的主分区表。

(2) 利用工具软件重建分区表: (1) 利用KV3000修复:KV3000具有备份硬盘MBR和重建分区表的功能, 当硬盘主引导扇区的分区表遭到破坏时, 可用DOS启动, 用KV3000修复。 (2) 用在Disk Genius修复:Disk Genius是简体中文界面的DOS工具软件, , 在DOS运行后, 在“工具”菜单下有一个“重建分区表”选项, 可通过手工或重自动进行重建分区。 (3) 利用FDISK/MBR:在DOS下执行FDISK/MBR后向硬盘写入MBR, 在不破坏硬盘原有数据文件的情况下, 快速重建主引导区程序和分区表。

2) 误格式化的原因及数据恢复

硬盘要能够使用需要经过分区和格式化, 这里是指高级格式化, 它是对扇区进行逻辑编号, 建立DOS引导记录, 在逻辑盘建立文件分配表 (FAT) 和根目录 (FDT) 及数据区 (DATA) 。用户在不熟悉操作系统或一时大意都会造成误格式化。用户在使用Windows2000或Windows xp时混合使用文件系统, windows9x和DOS无法识别NTFS格式的分区, 造成盘符变化, 错误选择分区进行格式化, 或是在挂双硬盘时, 盘符也发生变化, 也都会错误格式化分区。由于格式化程序只是把FAT与根目录区清零, 数据文件仍然存在, 这些数据文件不为操作系统所认识而已, 要重新恢复它们, 可以通过寻找所有目录项, 根据目录所在的簇的簇号和其目录项里的内容重建目录层次, 重建后, 操作系统就能识别了。

通过手工操作对误格式化分区的数据进行恢复是非常繁杂的工作, 通常要编程或用工具软件来进行。在DOS时期, 可利用unformat外部命令进行反格式化操作, 但windows不再支持这个功能。另外还可利用工具软件Easyrecovery进行恢复, 运行Easyrecovery后, 点击“数据恢复”, 到数据恢复窗口, 选择“格式化恢复”, 系统开始扫描, 经过一段时间扫描后, 显示所有分区, 选择误格式化分区, 程序再次经过一段时间扫描后, 显示丢失的文件, 找到需要恢复的文件并选择, 然后给出存放文件的路径并进行文件恢复。利用Finaldata进行恢复, Finaldata与Easyrecovery一样, 能够通过误删或误格式化后残留在数据区中的目录项或MFT对文件进行恢复, 其功能非常强大, 利用Finaldata很容易在从格式化的分区中恢复文件, 具体操作可根据运行软件时的提示。

数据的恢复是很难保证100%成功, 影响恢复格式化的分区的数据成功率原因主要有两方面:格式化后是否对该盘进行了写操作, 这点很重要, 因为后面的数据会覆盖前面的数据, 特别是存入了比较大的文件, 能恢复出来的数据就会很少了;对FAT卷来说, 是否经常对磁盘进行碎片整理, 因为只有文件占用连续的簇才能进行恢复。所以, 格式化后立即停止写操作和经常对磁盘进行碎片整理会大提高数据恢复的成功率。

3) 误删除的原因及数据恢复

误删除的情况就非常普遍了, 有无意的, 有有意的, 当然也有病毒破坏, 但后果都是又想再得到该数据文件, 这时已后悔不已。至此, 如果我们停止对硬盘进行写操作, 还是可以恢复数据的。在DOS时代, 误删除可用undelete命令恢复被删除的文件。在Windows时代, 删除一个文件并不是真正意义上的删除, 一种情况是被移到一个被称为“回收站”的系统文件夹中, 真正需要删除要必须清空回收站, 另一种情况用shift+delete进行删除, 不再回到回收站, 这时Windows再没有恢复被删除的文件的能力了。所以当删除了一个文件后, 可到收站去看看是否还在, 如果在, 只需进行还原即可。如果回收站中没有了, 还是有恢复的可能, 其实文件没有真正意义上的删除, 删除时Windows只是做一个删除标志, 如FAT文件系统, 是在其目录项的首字节改成十六进制值E5H, 释放磁盘空间, 留给下一个存盘文件用, 这就是为什么删除一个文件比保存一个文件要快的原因。

4. 结束语

在对计算机进行误操作后, 我们要保持冷静, 应立即停止结磁盘的任何操作, 特别是写操作, 这是数据恢复成功的前提。但任何情况都不能保证100%的成功, 最好的办法是正确使用计算机和做好数据的备份, 这样才能保证我们的数据安全。Easyrecovery和Fanaldata是两个功能非常强大的数据恢复软件, 目前广泛应用于数据恢复领域。Easyrecovery除了上面提到的误格式化恢复外, 还有删除恢复和原始恢复, 都可以恢复误删除的数据文件, 特别是原始恢复, 可以恢复严重分区中的数据, 不依赖于任何系统信息。使用方法与误格式化数据恢复类似。Fanaldata的误删除数据恢复方法也比较简单。

参考文献

[1]戴士剑, 涂彦晖.数据恢复技术[M].电子工业出版社, 2005.

[2]涂彦晖, 戴士剑.数据安全与编程技术[M].清华大学出版社, 2005

[3]孙维连, 于莉莉, 单莉娜.硬盘维护与数据恢复[M].中国水利水电出版社, 2007

Windows操作系统的安全 篇2

1 Windows操作系统漏洞

漏洞即某个程序(包括操作系统)在设计时由于未考虑周全,系统开发过程中程序设计不严谨或者由于某些功能自身留下的,包括身份认证、访问控制、服务漏洞等多个方面。有时漏洞又称安全隐患。如果当系统漏洞被恶意的攻击者利用,就会造成信息泄露、系统的安全性、可用性就会遭到破坏。漏洞使系统非常危险,它可以使攻击者或病毒很容易取得系统最高权限,然后可以对被控制者进行各种破坏,让系统无法正常工作,甚至对一些分区进行格式化操作,盗取用户的各种帐号密码等。利用从网上下载的公开代码对未补丁的系统进行攻击。

所以,为了防止各种攻击,必须对系统进行安全设置。操作系统的安全配置是整个操作系统安全策略的核心,其目的就是从系统根源构筑安全防护体系,通过用户和密码管理、共享设置、端口管理和过滤、系统服务管理、本地安全策略、外部工具使用等手段,形成一整套有效的系统安全策略。安全配置的原则是:在保证系统使用功能的基础上提高安全性,不需使用的功能一律禁止,需要使用的要加强安全监控。

2 操作系统安全设置

2.1 关注漏洞,打上最新的补丁程序

操作系统都存在漏洞,要想保障系统的安全,必须及时打上相应的补丁。经常给电脑打补丁是一个保护电脑数据的好习惯,很多病毒都是通过Windows操作系统的漏洞进行攻击、破坏电脑的正常使用,给用户造成不可估量的损失。而补丁是修复瑕疵以及安全漏洞的。打补丁的频率一般是每月检查一次,使用Windows,打开自动更新功能将使Windows随时使用最新的补丁。Office等应用程序偶尔也需要使用补丁。可以查看应用程序厂商的网站寻找与应用程序相关的补丁。

需要提醒的是,补丁应该在所有应用程序安装完之后再安装,因为补丁程序往往要替换或修改某些系统文件,如果先安装补丁,可能无法达到应有的效果。

2.2 设置系统盘格式为NTFS

安装Windows时,应选择自定义安装,仅选择必需的系统组件和服务,选择Windows文件系统时,应选择NTFS文件系统,充分利用NTFS文件系统的安全性。NTFS格式比FAT/FAT32格式要安全得多,FAT/FAT32较NTFS格式缺少了安全控制功能,不能对不同的文件夹设置不同的访问权限。使系统失去访问保护措施。

NTFS文件系统可以将每个用户允许读写的文件限制在磁盘目录下的任何一个文件夹内。右击文件夹,选择“属性”,在文件夹属性的“安全”标签里设置哪些用户可以访问,以及访问的用户或用户组的权限。

2.3 加强用户账号和密码管理

由于系统安装后就存在Administrator超级用户,而且是没有密码的。很多用户都没有或者根本不知道去为其设置密码,入侵者就可以利用这一点,使用超级用户登录对方计算机,而且连密码都不需要。首先要禁用Guest帐号,将Guest来宾账户禁用,同时将Administrator用户名称进行更改并设置其密码,使用安全密码,并要注意经常更改密码,密码长度一般要达到10位左右,并且要包含字母、数字和特殊符号。平时要使用屏幕保护密码。

另外,要密切关注管理员组的用户,时刻保证只有一个Administrator是该组的用户。经常检查该组的用户,发现多增加的用户一律删除。同时要注意Guest用户,系统入侵者一般不会添加陌生的用户名,这样容易被人发现,他们通常是先激活Guest用户,然后更改它的密码,再放到管理员组,所以一定要删除管理员组里自己以外的用户。

2.4 充分使用安全策略功能

Windows操作系统对系统的安全性做了很多设置,但是有些设置在系统安装初期的默认值常常被攻击者利用,所以对系统进行安全策略的设置是系统加固的必要步骤。

2.5 关闭不必要的服务

为了方便用户,Windows操作系统对用户提供了非常丰富的功能,但是对于很多非专业的个人用户而言,很多功能和服务是不需要的,同时也打开了人侵系统的后门。根据自己系统的需要,把那无需使用和有危险性的服务都关闭,就会减少一些机器被攻击的可能性。

除非特别需要,否则一般情况下需要禁用以下一些服务:Alert,Clipbook,Computer Browse,DHCP Client,Messenger,Net logon,Network DDE,TCP/IP Net BIOS Helper Service,Workststion等。打开控制面板、管理工具、服务”,可以看到有关这些服务的说明和运行状态。要关闭一个服务,只需右键点击服务名称并选择“属性”菜单,在“常规”选项卡中把“启动类型”改成“手动”,再点击“停止”按钮。

Messenger:信使服务。此服务可以自动接收从网络上传来的信息。建议停止服务,并将启动类型改为手动。

Net logon:此服务用于在局域网上验证登录信息的选项、登录域名控制。建议停止服务,并将启动类型改为手动。

TCP/IP Net BIOS Helper Service:TCP/IP Net BIOS支持服务。在TCP/IP上提供Net BIOS支持,会被局域网中被感染病毒的机器或攻击者利用。建议停止服务,并将启动类型改为已禁用。

2.6 端口的管理和过滤

端口是计算机的第一道屏障,端口配置是否合理直接影响到计算机的安全,用端口扫描器扫描系统所开放的端口,可以发现开放的某些不必要的端口是黑客入侵系统的首要通道,许多网络蠕虫病毒也是利用一些不必要的端口进行传播的。

C:system32driversetservices文件中有知名端口和服务的对照表可供参考。

端口是网络数据交换的出入口,做好端口的管理和过滤,对系统的安全性有着极为重要的帮助。过滤的方法:打开控制面板—网络和拨号连接—本地连接—Internet协议(TCP/IP)—属性—高级—选项—TCP/IP筛选—属性,然后添加需要的TCP和UDP端口就可以了,但是如果对端口不是很了解的话,不要轻易进行过滤,不然可能会导致一些程序无法使用。

2.7 禁止空连接

Windows的默认安装允许任何用户通过空用户得到系统所有帐号和共享列表,任何一个远程用户可以通过此方法得到你的用户列表,并破坏网络。我们需要通过修改注册表来禁止空连接,点击“开始”—“运行”,在命令框里输入“regedit”打开“注册表编辑器”,进入“HKEY-LOCAL–MACHINESystemCurrent Control SetControlLSA,”,选中“Restrict Anonymous”,在右键菜单中选择修改,在“编辑DWORD值”中将“数值数据”设置为“1”,就可以禁止空连接。

2.8 关闭默认共享

Windows安装好以后,系统会创建一些隐藏的共享,通过“计算机名或IP地址、盘符”可以访问,这为系统攻击者提供了方便的途径。可以通过修改注册表来彻底禁止这些共享。方法是:进入“注册表编器”,在“HKEY-LOCAL MA-CHINESystemCurrent Control SetServicesLanman ServerParameters,下,选中“Parameters”,在其右侧列表的空白处,右键单击,出现“新建”,在菜单里选择“DWORD值”,数据名称为“Auto Share WKs”,数据数值设置为“0”。关闭注册表编辑器,然后重新启动电脑即可关闭默认共享。

2.9 安装必要的防护软件

任何一个操作系统都不可能做到防御所有攻击。在做好操作系统自身安全防护的前提下,安装必要的防护软件是对系统安全的重要保障。为系统安装一款优秀的杀毒软件和一款木马查杀软件是必要的,同时一定要注意及时更新病毒库,保证对最新的病毒和木马的查杀能力。另外,安装一款网络防火墙对于防止网络攻击很有效果。

3 结语

除了上述的安全措施外,要养成备份的习惯,一旦系统资料被破坏,备份盘将是你恢复资料的唯一途径。备份完资料后,把备份盘防在安全的地方。不要把资料备份在同一台服务器上。

摘要:针对Windows操作系统存在的一些漏洞,介绍Windows操作系统一些安全方面的操作策略,探讨了优化Windows操作系统性能的常用操作方法和技巧。

关键词:操作系统,安全策略,漏洞

参考文献

[1]韩俊伟,王少锋.基于P2P的流媒体直播系统研究与实现[J].计算机应用研究,2006,(6):227-229.

[2]王钊.基于P2P系统应用层组播在流媒体中的应用[J].计算机与现代化,2005,(2).35-37.

[3]杨明川,解冲锋.宽带网络流媒体技术和应用[J].中国新闻传播学评论,2005,25(4):15,19.

[4]狄明,戴琼海,丁嵘.对等网中的流媒体[J].有限电视技术,2005,23(7):36,41.

[5]汤子瀛,汤小丹.计算机网络技术及其应用[M].北京:电子科技大学出版社,2000.

Windows下操作 篇3

在windows的cmd下,可以通过php.exe来执行php文件,然后将这个命令写入到bat里来定时执行,大概比浏览器定时刷新什么的要可靠多了。

php.exe所在路径,以及待执行php文件路径即可(代码如下):

D:Program Fileswampinphpphp5.4.6php.exe D:Program Fileswampwwwphpinfo.php

保存为bat文件,即可利用windows的计划任务定时执行。有关cmd下php.exe的运行,可以随时使用 -h 参数来查看。

>>在windows服务端使用系统自带任务计划和bat配合或借用特定浏览器实现定时执行php或刷新可

方法一:

任务计划和bat配合

1.在织梦后台添加计划任务或自行写脚本,

2.新建文本文档填写bat脚本命令,修改txt扩展名为bat。

内容格式如下:

@echo off

rem 关闭回显

start C:“Program Files”“Internet Explorer”iexplore.exe www.skyhome.cn

rem 使用浏览器打开url地址www.111cn.net

ping 127.1 -n 10 >nul

taskkill /im chrome.exe /f

rem 10秒(单位秒)后执行结束chrome.exe进程关闭浏览器(默认浏览器为chrome即使用chrome打开)

Windows下操作 篇4

随着电脑产品的不断升级换代, 运算速度更快, 功能更强大, 实现海量存储的计算机已经走进人们的生活之中, 这就对计算机操作系统提出了更高的要求, 微软公司Windows 7可以说是适应飞速发展计算机技术的必然产物。

微软公司Windows 7操作系统分为Windows 7 Starter (简易版) ;Windows 7 Home Basic (家庭普通版) ;Windows7 Home Premium (家庭高级版) ;Windows 7 Professional (专业版) ;Windows 7 Enterprise (企业版) ;Windows 7 Ultimate (旗舰版) 此外还有Windows 7OEM版和Windows 7企业版之分, OEM, 又叫定牌生产和贴牌生产, 最早流行于欧美等发达国家, 它是国际大公司寻找各自比较优势的一种游戏规则, 能降低生产成本, 提高品牌附加值。Windows 7OEM版和Windows7企业版不对市场公开销售。Windows 7操作系统由于版本不同, 实现的功能也不一样, Windows 7 Ultimate (旗舰版) 和Windows 7企业版功能最强大。下面就以Windows 7 Professional (专业版) 为例, 介绍几个实用技巧。

在计算机应用中首先面对的是开机, 使用电脑者都希望自己的计算机开机速度快, 要解决这个问题, 一是右键“我的电脑”左键点“属性”, 再左键“高级系统设置”, 在“启动和故障恢复、系统启动和系统失败和调试信息”选项中左键“设置”, 把“显示操作系统列表的时间”设置为“0”, 这样可以减少开机时间30秒。二是利用第三方软件“360安全卫士”清理系统垃圾, 优化系统。360安全卫士全中文界面, 使用非常方便, 这个方法要根据计算机运行情况经常使用。

方法步骤:下载并安装、运行“360安全卫士”, 需要指出的是在安装过程中尽量把一些无用的插件去掉。

进行计算机体检, 左键“立即体检”, 软件开始进行计算机检测, 检测结束后将可优化项目列表显示, 根据不同计算机显示结果不尽相同, 区分情况进行必要的处理, 如果存在“风险项”是必须进行处理的, 对于“优化项目”建议点“清理”, 对“以下程序可以禁止自动启动以加快开机速度”建议选择“优化”, 对于“需要升级的软件”, 可以根据不同情况选择“升级”或者不升级。

查杀木马, 这一步非常简单, 选择“快速扫描”或者“全盘扫描”皆可, 需要说明的是“快速扫描”只对操作系统所在分区进行扫描。一旦扫描到“风险项”就要立即清除。

清理插件。左键“清理插件”, 软件对系统加载的插件进行扫描, 扫描结束后, 列表显示所有加载的插件并且给出“建议清理”或者“建议保留”选项, 对于建议清理的选项可以大胆选择清理, 对于建议保留选项, 根据情况作出选择, 建议尽量不要清理。

修复漏洞。左键“修复漏洞”, 软件对计算机进行漏洞扫描, 扫描结束列表显示漏洞。对于正版Windows 7操作系统, 建议尽量不要使用第三方软件修补漏洞。用Windows7自带的系统升级软件进行升级更为可靠, 并且Windows7自带的升级程序更加安全, 更加简洁。左键“开始”, 再左键“所有程序”再左键“Windows Update”, 再左键“检查更新”, Windows7自动进行检查, 检查结束列表显示可更新项目。选择这些更新项目, 即可进行系统更新, 更新完毕就把系统漏洞修补完了。

电脑清理。左键“点脑清理”, 软件对电脑进行扫描, 扫描结束列表显示垃圾文件, 左键“立即清除”, ok。

系统修复。左键“系统修复”, 再左键“立即扫描”扫描结束后, 对可修复选项列表显示, 根据软件提示进行操作即可。

360安全卫士提供了一个“功能大全”功能, 左键功能大全, 再左键“开机加速”, 把“建议禁止”选项统统“禁止启动”就可以。在“服务”选项中, 把“建议禁止”选项统统“禁止启动”只保留建议开启项即告完成。

360安全卫士提供了一个“功能大全”功能中一个“网速测试”功能也很实用, 点击这个功能即可测试你的运营商提供给你的网络带宽, 若与你购买的带宽不符, 可以找运营商进行协调。

Windows下操作 篇5

关键词:Windows系统,注册表,安全维护

一、引言

在对操作系统进行安装和维护的过程中, 经常会使用到注册表。作为Windows中的一个重要数据库, 注册表 (Registry) 被用来存放系统以及相关应用程序的设置信息。注册表最早出现在Windows 3.0推出OLE技术的时候随后被广泛应用在Windows NT系统中。

二、注册表的组成

注册表是Windows的核心组成部分。在硬件方面全部的硬件信息都会被保存在注册表中。Windows通过注册表中所描述的硬件驱动程序和参数来合理分配现有资源, 并装载硬件驱动。对于软件方面, Windows的系统性能、用户界面和网络功能等都受到注册表内信息的控制。系统中各种应用程序的安装、注册、启动参数、文件名关联等信息都需要使用到注册表。

1、注册表的组成一般包含数据库结构, 即层次结 构、注册表文件和数据类型三个部分

注册表的层次结构由项和子项、值项名称、值项数据类型和值项的值组成。类似于Windows系统中文件与文件夹的概念, 注册表中的数据信息也使用了层次结构, 结构如下图所示:

其中注册表的最顶层为系统定义的配置单元, 用HKEY来命名。在相值中名称的组成可以由任意数字、字符、空格和下划线构成, 单反斜杠不能使用。在相值中可存储不同类型的值, 数据包含64KB空间。项值中均含有一个为空或非空的缺省值, 即默认Default, 此外项值可以为空, 长度为零。

2、注册表文件

注册表中包含以下两个文件;

System.dat和System.da0, 前者主要包含了软件、硬件以及设备驱动等相关的计算机配置数据。后者是它的备份文件。当注册表文件由于各种原因损坏时, 系统可以通过重新启动来修复受损文件。

User.dat和User.da0, 在User.dat中主要含有系统桌面设置信息等用户特定的数据。User.da0为其备份文件。注册表文件的属性在系统中默认为隐藏, 在查看隐藏文件时需要现在组织选项布局中更改文件和文件夹的隐藏属性。

3、注册表数据类型

在Windows系统中常用的注册表数据类型有以下几种:

REG_BINARY, 该数据类型用来保存二进制数据, 可以用二进制数据来表示硬件信息和任意长度整数。

REG_DWORD , 用来保存双字节数据。在注册表编辑器中格式为二进制、十进制或十六进制。一般应用于设备服务的参数和驱动程序。数据所表达的整数范围为0至4294967296, 长度为4字节。

REG_EXPAND_SZ, 该数据类型可以存放扩展字符串, 数据类型包含在程序或服务使用该数据时确定的变量。

REG_MULTI_SZ, 可以储存多个字符串, 在多个字符串之间可以用逗号、空格等其他标记分开。

三、注册表的基本操作

在Microsoft中注册表的编辑器分为Regedit与Regedit32两种。两者的应用环境不同, Regedit32的功能与Regedit比较更全面一些。在打开注册表编辑器时先执行开始菜单中的运行命令, 在运行对话框中输入Regedit或Regedit32, 然后按回车键就可以进入注册表编辑器。

1、注册表项和项值的创建

在进行注册表项创建时先选定左侧窗口中的项, 然后依次运行编辑、新建、项命令。或是直接在所需创建子项的项上单击鼠标右键, 在弹出的快捷菜单中运行新建子菜单的项命令, 在所选定项的下方即会显示以“新项 #1”命名的子项。

项值的创建过程与项基本一致, 不同之处在于需要在新建子菜单中运行REG_SZ、REG_DWORD或REG_BINARY命令。所创建的项值名称默认为“新值 #1”。

2、注册表中项和项值的修改

项的修改是指修改项的名称, 项值的修改则涉及到名称和值两部分。在进行项值类型修改时只能通过删除再新建的方法来更改。项和项值的名称在更改时先选定所修改的区域, 然后运行编辑菜单中的重命名命令即可。在对项值的值进行修改时注册表编辑器会调用对应的编辑器来根据不同类型进行修改。

3、注册表中项和项值的删除

在删除项或项值时先要选定需删除的区域, 运行编辑菜单中删除命令即可。也可以直接使用Delete键, 在打开的确认项删除或确认项值删除对话框中选择是选项。

4、注册表的查找

注册表中包含有很多种内容, 查找是用户使用的比较多的操作, 对对象的查找操作步骤有以下三点:

(1) 首先确定所查找内容的起点。在查找整个注册表时, 需要在左侧窗口中选择“我的电脑”选项。

(2) 按Ctrl+F键或者下拉编辑菜单, 运行查找命令。

(3) 打开查找对话框, 将要查找的内容输入查找目标文本框中, 所查找的对象类型可以再查看栏中选择。之后运行查找下一个选项开始自动查找。继续查找时可以直接按F3键。

5、注册表项的导入和导出

在注册表中备份和修改等操作均可以利用注册表的导入和导出功能完成。注册表在导出后就可以成为使用文本编辑器的文本文件, 便于编辑和修改。在将经过修改的注册表导入, 对注册表进行修改。注册表文件在导出后一般后缀名为.REG, 即REG脚本文件或注册表脚本文件。

注册表的导入方式有两种, 一种是使用注册表编辑器, 另一种是使用资源管理器。在使用编辑器导入注册表时先运行注册表中导入注册表文件命令。将导入注册表文件对话框打开。然后在所打开的对话框中对所需导入的文件进行查找, 单击选中后运行打开命令即可完成导入。在使用资源管理器导入时先对要导入的文件进行双击操作, 在弹出的注册表编辑器对话框中会提示是否进行导入操作, 单击是选项即可完成操作。

在进行注册表导出时先在打开的注册表编辑器中首先选定需要导出的注册表项, 运行注册表中导出注册表文件命令。然后在弹出的导出注册表文件对话框中找到文件名文本框, 将需要导出的文件的文件名输入, 同时在保存类型的下拉框血象中确定文件的类型。

四、注册表安全性能的维护

注册表和系统中其他程序一样, 由于某些后台程序的漏洞在运行的过程中都会存在安全风险, 为了降低运行过程中的风险性, 注册表会提供一些内建的安全限制。例如对Regedit32注册表编辑器的应用范围做了限定, 对注册表中某一项或是整个表做权限设置。为了避免系统运行过程中用户对注册表的误操作, 可以使用注册表编辑器将注册表设置为只读模式。系统对注册表提供的基本权限有读取和完全控制两种。用户在被授予只读权限时无权修改注册表内的内容, 在授予用户完全控制权限后才可以对注册表进行编辑和修改。此外系统还提供了一些特殊权限, 例如数值的查询和设置、子项的创建和枚举、通知、创建连接、删除、写入和读取控制等。

1、对注册表设定权限

在进行注册表制定权限操作时首先要选定需要设定权限的注册表项。在安全项菜单栏中运行权限命令, 在打开的相关权限对话框中就可以对相关用户或用户组的权限进行设置。在对用户权限做特殊设置时可以通过权限界面中高级选项按钮来实现。如果希望父相和子项同时拥有可继 承权, 就可以复选允许将来自父系的可继承权限传播给该对象项, 如子项的现有权限需要被继承权限替换, 就需要选择重置所有子对象的权限并允许传播可继承权限。在做特殊权限设置时先在权限项目中选定用户或用户组, 然后单击查看 / 编辑按钮, 在打开的权限项目对话框中完成。

2、注册表项活动的审核

在审核注册表项的活动时首先选定所需审核的注册表项, 然后在安全菜单中运行权限命令。单击高级选项后选择审核标签, 在审核项目列表中添加用户或用户组。同样类似于权限的设置, 审核的项目也需要进行设置。在设置完成后返回到访问控制界面, 此时可以在审核项目列表框中看到已完成的审核项目。

3、注册表项所有者的更改

在进行注册表所有者更改时选择需要获得其所有权的注册表项, 然后在安全菜单中运行权限命令, 在高级选项按钮下打开所有者对话框, 将列表框下所有新用户做单击操作, 然后确定即可。注册表项的所有者可以对项的权限进行设置并授权给其他人, 作为管理员登陆时可以获得改注册表的所有权。

五、结束语

用户可以通过注册表定制桌面, 调整软件的运行性能以及检测和恢复系统。Windows中所有安装模块和应用程序在启动时都会根据注册表中的信息来设置运行环境, 注册表作为Windows系统操作系统中的重要组成部分对系统运行过程中的稳定和安全性都起到了很大的作用, 所以在日常的系统操作中注册表的应用也会越来越广泛。

参考文献

[1]一派注册表从入门到精通[J].北京:网络与信息, 2009年.

[2]汪振东.计算机注册表结构分析[J].河北:无线互联科技, 2012年.

Windows下操作 篇6

关键词:API,FSO,自动评分,上机测试

目前, 计算机基础课程考核一般都包括理论测试和上机操作测试。在上机操作测试中Windows操作题是对学生必须考核的内容之一。Windows操作题分为控制面板操作和文件操作。为了减轻教师的工作量和提高评卷的准确性, 有必要实现自动评分。利用VB的API函数可以方便的读取控制面板中的取值;利用利用VB中的FSO对象模型可获取文件及文件夹的各项信息。利用这两项技术即可简单完成Windows操作题的自动评分工作。

一、API (Application programming interface)

API (Application programming interface) 即应用程序编程接口。它是一些用C语言编写的用来控制Windows的各个部件外观和行为, 在Windows环境中可提供Windows应用程序调用的一组函数集合。这些函数是Windows提供给应用程序与操作系统的接口, 他们犹如积木块一样。可以搭建出各种界面丰富, 功能灵活的应用程序。所以可以认为API函数是构筑整个Windows框架的基石, 在它的下面是Windows操作系统核心, 而它的上面则是所有的华丽的Windows。Win32API也就是Windows32位平台提供的应用程序编程接口, API函数是对可视化编程工具的扩充, 是充分发挥系统功能的重要手段。

一般情况下API函数总是包含在windows系统自带的或是其它公司提供的动态连接库DLL中。VB一个强大的特性就是它具有调用驻留在动态链接库 (DLL) 文件中的函数的功能, 可以在应用程序中利用Windows API提供的数百个API接口进行扩充。在Visual Basic中使用API函数之前, 必须在相应模块中使用Declare进行声明。在声明了过程之后, 调用该过程的方法与调用Visual Basic自身的过程相同。

Windows API中包含了成千上万的函数、例程、类型和常数定义, 在Visual Basic工程中可以声明并使用它们。API函数的声明是比较复杂的, 尽管也可以自己进行声明转换, 但最简单的办法是使用Visual Basic专门提供的预定义Window API进行声明。位于Visual Basic主目录下Win API子目录中的Win32API.txt文件中包含了Visual Basic中经常使用的许多Windows API的过程声明。要使用该文件中的函数类型等定义时, 只需将其从该文件复制到Visual Basic模块中即可。

API声明有两种格式, 没有返回值的使用API过程声明, 有返回值的使用API函数声明。

1、API过程声明格式:Declare Sub API函数名Lib“库名”[Alias“别名”] ([参数列表])

2、API函数声明格式:Declare Function API函数名Lib“库名”[Alias“别名”] ([参数列表]) as数据类型

二、FSO (File System Object)

FSO (File System Object, 文件系统对象) 采用object.method这种在面向对象编程中广泛使用的语法, 将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。

FSO对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除, 而且可以检测是否存在指定的文件夹以及这个文件夹位于磁盘上的什么位置。FSO对象模型可以获取关于文件和文件夹的信息, 如名称、创建日期或最近修改日期等, 以及当前系统中使用的驱动器的信息, 如驱动器的种类是CD-ROM还是可移动磁盘, 当前磁盘的剩余空间还有多少。

FSO对象模型包含在Scripting类型库 (Scrrun.Dll) 中, 它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。

●Drive用来收集驱动器的信息, 如可用磁盘空间或驱动器的类型;

●Folder用于创建、删除或移动文件夹, 同时可以进行向系统查询文件夹的路径等操作;

●File的基本操作和Folder基本相同, 所不同的是Files的操作主要是针对磁盘上的文件进行的;

●FileSystemObject是FSO对象模型中最主要对象, 它提供了一套完整的可用于创建、删除文件和文件夹, 收集驱动器、文件夹、文件相关信息的方法;

●TextStream对象则是用来完成对文件的读写操作的。

要创建FSO对象可以采用两种方法:

1、一个变量声明为FSO对象类型:

Dim fsoTest As New FileSystemObject

2、通过CreateObject方法创建一个FSO对象:

Set fsoTest=CreateObject (“Scripting.FileSystemObject”) 。

三、使用API自动评阅控制面板操作题的解决思路

控制面板操作常规题目知识点包括:墙纸的设置;屏幕保护的设置;桌面快捷方式的添加;Windows时间格式、日期格式、数字格式、货币格式的改变。使用Windows Api函数可以简化程序设计。

1、通过API函数直接获取需要的数据。

(1) Getuserdefaultcid () 函数。作用:取得当前用户的默认系统区设置。返回针对当前用户的默认地方ID。

(2) Getlocaleinfo () 函数。作用:取得与指定地方有关的消息, 通过使用不同参数, 可以获得与区域选项有关的设置。如:Getlocaleinfo (locale, LOCALE_SCUR-RENCY, lplcdatavar, 0) 可获得当前的货币符号。

(3) Systemparametersinfo () 函数。作用:获取和设置Windows系统参数如:Systemparametersinfo (SPI-GETSCREENSAVETIMEOUT, VBNULL, INTVALUE, 0) 可通过intvalue得到屏幕保护的设置时间。而使用函数Systemparametersinfo (SPI-GETSCREENSAVE-ACTIVE, VBNULL, LNRETURN, 0) 可通过LNRETURN判断屏幕保护程序是否被设置。

(4) Osfremoveshelllink () 函数。作用:删除已经创建的快捷方式

2、使用注册表函数

Windows控制面板与注册表中HKEY_CUR-RENT_USERScontrol panel子键对应。如子键desktop列出了桌面和外观的所有设置, 子键international列出了区域选项的设置。本部分也可以通过读取注册表相应的值来进行评分。

阅卷常用的注册表操作函数有:

(1) Regopenkeyex () 函数。作用:打开一个现有的注册表项, 成功返回ERROR_SUCCESS, 其他任何值表示错误。

(2) Regqueryvalue () 函数。作用:获取一个注册表项的设置值, 成功返回ERROR_SUCCESS, 其他任何值表示错误。

(3) Regclosekey () 函数。作用:关闭系统注册表中的一个项, 成功返回ERROR_SUCCESS, 其他任何值表示错误。

3、应用举例

例如要获取学生设置的短日期格式可用通过如下代码:

四、使用FOS自动评阅文件操作题

文件操作常规题目知识点包括:文件、文件夹的建立、删除、复制、更名、移动、属性更改等10个考点。

在文件操作题的阅卷中, 核心是文件及文件夹是否存在的判断, 文件、文件夹的各种属性的设置。利用VB中的FSO (FileSystemObject) 对象模型获取文件及文件夹的各项信息。

利用FSO对象模型中的GetFile方法获取指定路径中的文件名、GetBaseName方法得到文件的主文件名、GetExtensionName方法得到文件的扩展名;利用FSO对象模型中的ParentFolder属性获取指定文件或文件夹的父文件夹对象、Size属性得到文件的大小、Attributes属性获取文件及文件夹属性等。

文件操作题评分时, 若判断“操作类型”字段值为“Rf”, 则在考生文件的源文件夹下, 有目标文件存在, 同时不存在源文件即可得分。若判断“操作类型”字段值为“mf”, 则在考生目标文件夹, 有目标文件存在, 同时源文件夹下不存在源文件 (即目标文件为空) 即可得分。其它复制、属性、删除等操作也应按类似规则评分。

如:文件改名题目的自动评卷部分程序:

文件移动题目的自动评卷部分程序:

五、总结

VB简单易学但功能强大。利用API函数可以实现多种复杂的功能。上文中的文件操作题也可以使用API函数加以解决, 不过编程复杂, 容易出错, 利用FSO更加简单。

参考文献

[1]、Windows API开发详解:函数、接口、编程实例[M].范文庆编著.北京:人民邮电出版社, 2011

Windows下操作 篇7

本文分析了Windows系统的进程调度机制,并设计了一种基于Windows操作系统内核驱动的多核CPU线程管理方法,实现了一个基于Windows内核驱动的线程管理服务系统,它能让用户根据每一个任务线程对CPU资源的需要程度和对实时性的要求,在多核CPU上合理为线程分配CPU核。

2 Windows系统的进程调度方法分析

Windows NT中的每一个进程都是EPROCESS结构体。此结构体中除了进程的属性之外还引用了其它一些与实现进程紧密相关的结构体。例如,每个进程都有一个或几个线程,线程在系统中就是ETHREAD结构体。简要描述一下存在于这个结构体中的主要的信息,这些信息都是由对内核函数的研究而得知的。首先,结构体中有KPROCESS结构体,这个结构体中又有指向这些进程的内核线程(KTHREAD)链表的指针(分配地址空间),基优先级,在内核模式或是用户模式执行进程的线程的时间,处理器affinity(掩码,定义了哪个处理器能执行进程的线程),时间片值。在ETHREAD结构体中还存在着这样的信息:进程ID、父进程ID、进程映象名。在E P R O C E S S结构体中还有指向P E B的指针。ETHREAD结构体还包含有创建时间和退出时间、进程ID和指向EPROCESS的指针,启动地址,I/O请求链表和KTHREAD结构体。在KTHREAD中包含有以下信息:内核模式和用户模式线程的创建时间,指向内核堆栈基址和顶点的指针、指向服务表的指针、基优先级与当前优先级、指向A P C的指针和指向T E B的指针。KTHREAD中包含有许多其它的数据,通过观察这些数据可以分析出KTHREAD的结构。图1描述了这些结构体之间的关系。

通过遍历KPROCESS结构体中的ETHREAD,找到系统中当前所有的KTHREAD结构,这个结构中的偏移量为0x124处的Affinity域(Windows XP sp3)即为设置CPU亲缘性掩码的内存地址。在此重点解释CPU亲缘性的概念,CPU亲缘性就是指在系统中能够将一个或多个进程或线程绑定到一个或多个处理器上运行,这是期待已久的特性。也就是说:“在1号处理器上一直运行该程序”或者是“在所有的处理器上运行这些程序,而不是在0号处理器上运行”。然后,调度器将遵循该规则,程序仅仅运行在允许的处理器上。

在Windows操作系统上,给程序员设定CPU亲缘性的接口是用一个32位的双字型数表示的,它被称为亲缘性掩码(Affinity bit Mask)。亲缘性掩码是一系列的二进制位,每一位代表一个CPU单元是否可执行当前任务。例如一个在具有四个C PU的PC机上(或四核C P U),亲缘性掩码的形式的二进制数如下式所示:

其中自右向左,每一位代表0到31号CPU是否可用,由于本机只有四个CPU,所以只有前四个位可用,X为1则代表当前任务可执行在此位代表的CPU上,X为0则代表当前任务不可执行在此位代表的CPU上,例如:

代表当前任务只能执行在1号CPU上(CPU下标记数从0开始),又如0x00000004代表当前任务只能执行在2号CPU上,0x00000003代表当前任务可以运行在0号和1号CPU上。

Windows的进程调度代码是在它的System进程下的,所以它不属于任何用户进程上下文。调度代码在适当的时机会切换进程上下文,这里的切换进程上下文是指进程环境的切换,包括内存中的可执行程序,提供程序运行的各种资源.进程拥有虚拟的地址空间,可执行代码,数据,对象句柄集,环境变量,基础优先级,以及最大最小工作集等的切换。而Windows最小的调度单位是线程,只有线程才是真正的执行体,进程只是线程的容器。Windows的调度程序在时间片到期,或有切换线程指令执行(如Sleep,Ke Wait For Single Object等函数)时,将会从进程线程队列中找到下一个要调度的线程执行体,并装入到KPCR(Kernel's Processor Cont r o l R e g i o n,内核进程控制区域)结构中,C P U根据KPCR结构中的KPRCB结构执行线程执行体代码。而在多核CPU下,当Windows调度代码执行时,从当前要调度执行的KTHREAD结构中取出Affinity,并与当前PC机上的硬件配置数据中的CPU掩码作与操作,结果写入到指定的CPU,例如双核CPU的设备掩码为0x03,如果当前KTHREAD里的Affinity为0x01,那么0x01&0x03=0x01,这样执行体线程会被装入CPU1的KPRCB结构中得以执行,调度程序不会把这个线程交给CPU2去执行。此过程如图2所示。这就是为线程选择指定CPU核的原理。

那么控制线程在指定CPU上运行的突破口就是修改Windows内核结构体KTHREAD下的Affinity域。然而Windows内核结构被放在虚拟内存线性地址的高2G(不同版本Windows下也可能是1G)地址空间,用户模式下的应用程序是无法访问这段内存空间的,所以必须编写Windows驱动程序,来访问Windows内核内存空间,这也是本文将要描述的重点。

3 线程管理服务系统

整个系统的结构如图3所示。该系统由两大部分组成,分别是内核模式下的管理服务系统设备驱动程序,和用户模式下的管理服务系统应用程序。管理服务系统应用程序通过调用Win32子系统API,向内核下的管理服务系统驱动程序传递IRP,内核收到IRP后,跟据收到的IRP的内部信息,执行相应的派遣函数,对相应内存进行读写,从而给管理服务系统应用程序提供可用的系统信息。

3.1 内核模式下读取系统信息

线程管理服务系统驱动程序中,读取系统信息的方法用到了微软没有公开文档的内核服务函数,Zw Query System Information,这个函数被封装在ntdll.dll模块中,通过链接ntdll.lib可得到此函数地址。通过一个枚举量System Process Information来得到进程线程相关信息,填入到第二个输入参数SYSTEM_PROCESS_INFORMATION结构中,这样就获得了当前系统关于进程线程的信息。

3.2 内核模式下枚举系统进程线程

SYSTEM_PROCESS_INFORMATION结构中存储了进程及其线程的所有相关信息,表1列出了它的具体内容,包括结构内域的地址偏移,数据类型和描述。

SYSTEM_PROCESS_INFORMATION的第一个DWORD型是下一个进程SYSTEM_PROCESS_INFORMATION相对于当前结构地址的偏移量,可以通过地址偏移来遍历所有的进程结构,当遇到某一个进程结构的0x00 00处的DWORD型值为0时,说明这个结构体是系统内最后一个结构体。线程管理服务在它的派遣函数中通过这种方式遍历所有进程,从中提取有用的信息,填入两个自定义结构体中。如图4所示,描述了一个具有两个线程的进程的数据结构,首先在MY_PROCESS_INFO结构中填入进程的相关信息,然后根据此进程所有的线程数,向系统申请足够大的分页内存空间,PVOID型指针指向的是第一个线程结构所在的地址空间,然后向线程结构体中_MY_THREAD_INFO中填入线程信息,再由线程结构体中的PVOID型指针指向第二个线程结构体所在的地址空间,以此类推,最后一个线程结构体的PVOID型指针指向NULL。这样一个过程描述了一个进程及其所属的所有线程的枚举过程,通过对所有进程的遍历,可以得到系统中的一个完整的进程线程表,存在一段分页内存中,这样在应用程序中便可以得到这些信息。

3.3 线程管理服务系统应用程序设计

进程管理服务系统应用程序是要通过调用Win32子系统的API函数Device Io Control来向线程管理服务系统驱动程序发送IRP的,然后在IRP结束之后把驱动程序中读出的所有有用进程线程信息填入到指定的内存中。这样线程管理服务系统应用程序就可以根据所获得的系统信息句柄来对线程CPU亲缘性属性进行设置。首先为Device Io Control中的Input Buffer申请一段内存空间传入给驱动程序,驱动程序读取内核空间进程线程信息写入到这段内存中,应用程序读到信息并显示给用户。

在系统中应用程序为每一个CPU维护一个结构体,内容包括该CPU是否运行实时线程,该CPU上运行的线程数(如果是实时线程CPU线程数为1),以及在此CPU上运行的线程结构数组的首地址。系统通过对此CPU结构数组的解析来对线程进行管理。并通过Device Io Control函数把设置后的CPU结构交给驱动程序内核。

3.4 修改Windows内核结构体

在驱动程序读回应用程序下用户的设置结果后,就需要按照用户的设定修改KTHREAD下的Affinity域的掩码值了。首先要找到KTHREAD的线性内存空间,Ps Get Current Process()内核函数可以返回内核下当前进程空间的E P R O C E S S结构。E P R O C E S S结构下的Active Process Links域是LIST_ENTRY结构,通过它可以遍历所有的ETHREAD结构,那么那到KTHREAD下的Affinity域就不难了,可以使用两个循环嵌套来得到所有线程的Affinity域并将其值设为应用程序中用户的设定值。线程CPU掩码就被成功的修改了。当CPU被设定为运行实时线程的CPU时,在它上面运行的线程只能是一个实时线程,这时的运行线程数被设定为1;当CPU被设定为非实时线程的时候,上面有可能除了任务线程运行之外,还有Windows系统进程下的线程。

4 软件使用及性能测试

4.1 驱动的加载及软件的使用

首先需要把本系统的驱动sys文件加载到Windows的服务管理器中,加载成功后打开应用程序,用户可以通过应用程序中显示出的当前系统内的进程和线程进行选择,并在GUI图形界面中对其CPU占用率及CPU亲缘性进行设置。

4.2 设置CPU亲缘性测试

测试运行在双核CPU的PC机上,系统运行一个要测试的任务线程(任务线程为一个108次加法运算),四个其它线程(为测试方便,设为while循环线程),限定了循环线程的CPU亲缘性掩码为0x0001,任务线程的CPU亲缘性为0x0002,这样任务线程与其它线程分别在两个核上运行,分别测试了任务线程单独运行,任务线程与其它线程不设定CPU亲缘性,任务线程与其它线程设定CPU亲缘性三种情况下下任务线程的运行总时间如表2所示。

从表2分析,设定任务线程的CPU亲缘性与其它线程所占用的CPU分开,真正意义上的实现了任务的异步执行,非常有效的提高了实时线程对CPU资源的使用率。

5 结束语

本文分析了Windows系统的内核进程线程调度表2CPU亲缘性设定三种情况下任务线程运行时间表机制,并在此基础上设计了一种基于Windows操作系统内核驱动的多核CPU线程管理方法,实现了这样一个软件系统。首先在Windows内核层获取系统进程线程信息,然后再把信息传入应用层,由应用层上的应用程序根据获取的信息句柄,对进程进行操作,用户在图形界面下按照仿真任务对CPU资源的不同需求,进行相应的设置,可以为指定线程设置CPU亲缘性的功能。在一定程度上为Windows系统下的任务合理地分配了CPU资源,为对实时性要求较高的任务提供了一个可靠的运行环境。

参考文献

[1]张帆,史彩成.Windows驱动开发技术详解

[2]Prasad Dabak,Milind Borate,Sandeep Phadke,Undocumented Windows NT.

[3]陈向群,马洪兵,王雷,林斌,王磊,张高.Windows内核实验教程.

[4]Intel Corporation,IA-32 Intel Architecture Soft-ware Developer’s Manual Volume 3:System Program-ming Guide

Windows下操作 篇8

信息技术的发展使得对信息处理与存储的要求越来越高, 随着数据量的剧增, 对数据存储技术提出了更高的要求。首先是存储介质, 由于信息的存储依托于一定的存储介质, 因此存储介质的特点决定了数据存储的稳定性、便携性。按存储原理可分为电存储介质, 如内存、闪存等;磁存储介质, 如磁盘、磁带等;光存储介质, 如光盘、DVD等。其次存储介质的应用离不开具体的应用环境, 即所处的操作系统环境, 因为不同的操作系统环境下对数据的组织方式不同, 即使同一存储介质上也可存在不同数据存储结构。组织方式的不同使用存储介质的利用率、可靠性、安全性等方面存在各自的差异。因此, 有必要掌握各种不同的数据组织方式, 才能更全面地了解数据存储技术、并使得存储介质的特点得以充分发挥。

本文主要从应用最广泛的操作系统-Windows操作系统出发, 以硬盘存储介质为主要分析对象, 介绍并对比分析两种文件系统类型FAT、NTFS, 分析其各自的数据组织方式, 全面掌握其数据存储的特点, 为后续的数据恢复、数据取证等研究提供理论参考与帮助。

2. FAT文件系统

FAT文件系统将硬盘分成主引导区 (MBR) 、操作系统引导记录区 (DBR) 、FAT表、FDT目录区和DATA数据区等5部分。

MBR (Main Boot Record) 即硬盘主引导记录区, 位于整个硬盘的0磁道0柱面1扇区。在系统引导过程中, 当BIOS交出系统控制权时首先找的就是该扇区, 而且是按照物理位置来寻找, 因此该引导记录区的意义相当重要, 一旦受损, 会影响整个硬盘的访问。其主要包括硬盘主引导程序和分区表 (DPT) 。其中主引导程序的作用就是检查分区表是否正确以及确定哪个分区为引导分区, 并调入内存

加以引导执行。分区表中以80H (表示引导分区) 或00H (表示普通分区) 为开始标志, 以55AAH为结束标志, 共64字节, 可描述4个分区的信息。

当某一硬盘的分区数据大于4时, 需采用虚拟MBR方式, 即让主MBR在定义分区时, 将多余的容量定义为扩展分区, 指定该扩展分区的起止位置, 根据起始位置指向硬盘的某一个扇区, 作为下一个分区表项, 接着在该扇区继续定义分区。如果只有一个分区, 就定义该分区, 然后结束。若不止一个分区, 就定义一个基本分区和一个扩展分区, 扩展分区再指向下一个分区描述扇区, 在该扇区按上述原则继续定义分区, 直至分区定义结束。这种用以描述分区的扇区会形成一个“分区链”, 通过该分区链, 可描述出硬盘中所有的分区。

DBR (Dos Boot Record) 操作系统引导区, 通常位于硬盘的0磁道1柱面1扇区, 是操作系统可以直接访问的第一个扇区, 包括一个引导程序和一个被称为BPB的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时, 判断本分区根目录前两个文件是不是操作系统的引导文件。BPB参数记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数, 分配单元的大小等重要参数。DBR由高级格式化程序产生。

FAT (File Allocation Table) 文件分配表, 是操作系统的文件寻址系统。FAT一般有两个, 第二FAT为第一FAT的备份。FAT采用链式存储结构, 其最小单位称为簇。即同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内, 往往会分成若干段, 像一条链子一样存放 (链式存储) 。硬盘上的文件常常要进行创建、删除、增长、缩短等操作, 因此文件可能被分得很零碎, 文件存储的最小单位称为簇, 每一段为簇的整数倍。但由于FAT (文件分配表) 记录着该文件中各段间的连接信息, 因此操作系统在读取文件时, 总是能够准确地找到各段的位置并正确读出。FAT表项中的值既指明了文件该部分内容在磁盘上的位置, 同时用其值乘以2得出文件在FAT表中下一个表项的位置, 从而构成一个FAT链表。FAT16指用16位二进制表示一个FAT表项值。FAT32则用32位进行描述。

FDT文件目录表, 在FAT区之后便是 (FDT) 目录区, 主要起定位作用。当对某一分区进行高级格式化时, 就在其根目录下创建了一个根目录的FDT。FDT中主要包括文件的许多基本信息, 包括文件名、文件大小、文件属性 (是普通文件还是目录) 、文件创建、访问及修改时间等。一般占用32字节。特别指出其中20、21、26、27字节中存放有文件存储在数据区中的起始簇号。并由此起始簇号进一步结合FAT表查找出某文件所有存储在数据区中位置及内容。

DATA数据区, 是实际存储文件数据的区域, 位于目录区之后, 占据硬盘上的大部分数据空间, 其组织与管理由系统依据前面四个区域的内容确定。

如图1所示, 为FAT文件系统下数据组织的各区域位置关系。

3. NTFS文件系统

NTFS在磁盘上的结构是以卷为基础的, 而卷是建立在磁盘分区基础上的, 一个磁盘可以有多个卷, 此时的一个卷对应一个分区 (基本分区或扩展分区中的一个逻辑分区) 。

当系统引导过程中BIOS交出控制权时, 首先找到MBR并找出引导分区, 然后访问引导分区的操作系统引导区 (DBR) , 这些与FAT文件系统基本相同。不同的是在NTFS卷上跟随BPB表后的数据字段形成一扩展BPB, 这些字段使用系统在启动过程中找到分区的MFT (主文件表) , 即确定MFT所在位置。

MFT (主文件表) , NTFS上文件通过MFT来确定其在磁盘上的存储位置上, 类型于FAT中利用FDT和FAT确定文件和存储位置。主文件表是一个对应的数据库, 由一系列文件记录组成。卷中每个文件在其中都有一个甚至多个记录项。文件记录项的大小一般是固定的, 均为1KB。NTFS卷中将每个文件作为属性/属性值的集合进行处理, 因此文件在MFT表中记录项内容包括文件的各属性及其属性值, 如文件名、文件拥有者、文件时间标记等。当属性及属性值能直接存放在MFT中时, 称为常驻属性, 当属性值不能存放在MFT表的称为非常驻属性, 如文件数据属性、属性列表属性等。可从MFT以外的存储区域为其分配空间, 这些区域称为运行或盘区。NTFS使用逻辑簇号 (logical cluster number, LCN) 和虚拟簇号 (virtualclusternumber, VCN) 来进行簇的定位。LCN是对卷中的所有簇从头到尾进行顺序编号, 起始为0, VCN则是对属于具体文件的簇从头到尾进行顺序编号, 以便于引用文件中的数据, VCN以0为起始值。其VCN-LCN的映射关系则保存在MFT的文件记录项中。

NTFS文件系统的中所有的数据都以文件的形式存在, 包括系统信息, 如引导程序、记录整个卷的分配状态位图和用于文件定位和恢复的数据结构等。且在MFT表中都有一个文件目录项进行描述。MFT表本身也是一个文件$MFT, 在MFT表中第一个记录项就描述其自身, 除些之外, 表中前16个记录都是操作系统使用的非常重要的元数据文件, 这些元数据文件的名字都是$开始, 是存储在卷上支持文件系统格式管理的数据, 由系统本身组织、架构使用, 不能被应用程序访问, 只能为系统提供服务, 是系统的隐藏文件。

除MFT表及系统文件存放区域外, 剩余空间用于用户数据的实际存储空间。因此NTFS各区域位置关系图如图2所示。

4. 分析与总结

4.1 FAT文件系统优缺点分析

(1) .FAT文件系统最早是MS-DOS操作系统中采用的, 而后在WINDOWS操作系统中也使用, 如果想实现WINDOWS NT或2000和MS-DOS或WINDOWS 95, 98的双重启动, 必须用FAT文件系统格式化系统分区。早期的FAT文件系统采用16位的文件分配表 (也称为FAT16文件系统) , 主要使用于DOS, WINDOWS 3.x/95中, 由于其在硬盘分区太大时所分配的簇的容量不合理, 只能管理2GB以下的硬盘。在WIN98中除可采用FAT16文件系统外, 新增了FAT32文件系统, 能有效地管理2GB以上的硬盘, 最多可以支持2TB的磁盘容量。

(2) .从系统支持来说, 从MS-DOS到Windows XP Professional都支持FAT16;windows 95 OSR2以后的版本 (Windows 95 OSR2、Windows 98、Windows me、Windows NT Workstation 4.0、Windows2000 Professional、Windows XP Professional) 中, 除去Windows NT Workstation 4.0, 其余都支持FAT32。

(3) .对簇的支持方面, 小簇可以减少硬盘的空间浪费, 采用FAT16的分区的簇大小为32KB, FAT32支持最小为16KB的簇, 比FAT16格式对空间的管理更有效。

(4) .FAT32文件系统可以重新定位根目录和使用FAT的备份副本。而且FAT32分区的启动记录被包含在一个含有关键数据的结构中, 减少了计算机系统崩溃的可能性。

4.2 NTFS文件系统优缺点分析

(1) NTFS文件系统只能在安装了Windows NT workstation 4.0版本以上的计算机上使用, NTFS文件系统与FAT文件系统相比, 功能更强大, 适合更大的磁盘和分区, 支持安全性, 是更为完善和灵活的文件系统。

(2) 对最大卷的支持上, FAT16只支持到2GB, FAT32和NTFS一样支持到32GB。通过扩展卷, FAT32和NTFS都能读取大于32GB的卷, FAT32的卷能被扩展到2TB, 但在Windows XP Professional中, FAT32被限定格式化最大卷为32GB, 而NTFS却能被用于格式化超过32GB的卷。

(3) 对簇的支持方面, NTFS能够支持比FAT32更小的簇, 因而在存储空间利用率上比FAT32更有效。当分区的大小在2GB以下时, 簇的大小比FAT32簇小;当分区的大小在2GB以上时 (2GB~2TB) , 簇的大小都为4KB。相比之下, NTFS可以比FAT32更有效地管理磁盘空间, 最大限度地避免了磁盘空间的浪费。

(4) .在可靠性和安全方面, NTFS由于采用日志和检查点信息来恢复信息的一致性, 出现坏道时会自动重新计算包含坏道的簇并为数据重新分配新簇, 所以可靠性比FAT32和FAT16都强。NTFS采用EFS和存取许可控制, 例如可以为共享资源、文件夹以及文件设置访问许可权限以及进行加密设置, 体现出更高的安全性能。此外, 磁盘限额、压缩等特性, 使得管理员可以方便合理地为用户分配存储资源, 避免由于磁盘空间使用的失控而造成的系统崩溃。

4.3 总结

由上述分析, 可知当前Windows中两种文件系统都有其自身的优缺点, 一方面应依据其实际应用环境进行选择应用。另一方面根据不同文件系统中数据的特点、支持的存储区域大小以及体现出的数据安全性与可靠性等状态信息, 帮助取证人员进一步分析判断出文件系统的类型, 从而为下一步进行的数据提取、数据恢复等研究工作奠定基础。

摘要:本文主要结合当前存储技术的发展特点, 以Windows操作系统为分析平台, 以硬盘存储介质为主要分析对象, 介绍了两种文件系统类型, 对并其各自的优缺点进行对比分析, 目的是让读者全面了解两种文件系统下数据的组织方式, 为后续的数据恢复、数据取证提供理论帮助。

关键词:FAT,NTFS,文件系统

参考文献

[1]戴士剑等.数据恢复技术 (第2版) [M].北京:电子工业出版社, 2005, 3.

[2]张京生等.数据恢复方法及案例分析[M].北京:电子工业出版社, 2009, 2.

[3]唐晓静等.盘点文件系统[J].科技信息, 2008, 18.

[4]王保成.Windows操作系统中的文件系统[J].农业网络信息, 2007, 7.

上一篇:资金计划管理下一篇:载体形式