2009年03月04日

  1、永远不要放过网页的title,这个地方永远是你网站优化的重点。告诉搜索引擎你是那条道上的相当重要

  2、请不要在title,description,keyword里写太多东西,越是贪婪,得到的就越少。搜索引擎可不是饭桶~

  3、网页的头部和底部是很重要,对于搜索引擎来说,尽量将关键字加到里面。

  4、关键字需要认真选择,不要选太宽,太宽你做不赢门户,也不要选太窄,太窄就算做到第一了,也没多少流量。就算来了流量也促成不了交易

   5、做SEO至少要照顾访客的用户体验,就算你做垃圾站,至少在视觉上像个正规站,不要一进去就内衣,性用品广告满天飞,就算不被K,用户也会鄙视你。

  6、不要去在乎所谓关键词密度,只要你的密度不超过50%,只要你提供的内容是符合的,只要你的内容对于你的用户来说是重要的,不可缺少的,适当的加入些关键词在页面里,只是更好地提醒搜索引擎。

  7、外链是非常重要的,尽量去找,找不到PR5的,找个PR0的吧,关键在于你找的外链要相关性强,原创度高,更新频繁的站~ 那才是值得做链接的~

  8、群发就相当于在自己基地丢烟雾弹,卡的要死不说,还看不到人,最后,死都不知道是怎么死的,所以说群发也是有技巧的

  9、不要在QQ群发群邮件,很无聊,就算不被T,也得不到多少IP。

  10、大家都在说内容为王,如果你没有时间做内容,就改改转载的内容,好歹也是中国人,汉语博大精深,一句话换成另外一种方式说不难吧?不要一次采集个几万篇直接上,那样被k只会得不偿失。

  11、SEO的确是不讨论图片和flash,不过要是图片和flash能够使你的网站增色,适当的还是用一用,不要整个网页就是颜色和文字组成,和死了一样,什么修饰都没有。

 这样的话会忽视网站的另外一个宝贵的东西:用户体验。

  12、搜索引擎竞价绝对是个好东西,不要盲目的就认为竞价不好~是个无底洞~做搜索引擎营销的时候,seo和竞价排名是一对好兄弟~在你的网站优化效果还没出来的时候,先要客户做竞价排名可以保证一些客户不流失~ 同时也使客户的利益最大化~

  13、软文是重要的,不会写软文,不会增加外链的SEO不是真正的SEO,当然,你也可以雇人写。

  14、重复以上1到13条~

 

2006年03月01日

EXIT(热键Alt+X):退出到DOS。
ID:硬盘检测,包括硬盘容量、磁头数、扇区数、SN序列号、Firmware固件版本号、LBA数值、支持的DMA级别、是否支持HPA、是否支持AAM、SMART开关状态、安全模式级别及开关状态……等)。
INIT:硬盘初始化,包括Device Reset(硬盘重置)、Setting Drive Parameters(设定硬盘参数)、Recalibrate(重校准)。
I(热键F2):同时执行ID命令和INIT命令。
ERASE:快速删除功能,每个删除单位等于255个扇区(数据恢复无效)。
AERASE:高级删除功能,可以将指定扇区段内的数据逐扇区地彻底删除(比ERASE慢,数据恢复同样无效),每个删除单位等于1个扇区。
HPA:硬盘容量剪切功能,可以减少硬盘的容量,使BIOS检测容量减少,但DM之类的独立于BIOS检测硬盘容量的软件仍会显示出硬盘原始容量。
NHPA:将硬盘容量恢复为真实容量。
RHPA:忽略容量剪切,显示硬盘的真实容量。
CLS:清屏。
PWD:给硬盘加USER密码,最多32位,什么也不输入表示取消。被锁的硬盘完全无法读写,低格、分区等一切读写操作都无效。如果加密码成功,按F2键后可以看到Security一项后面有红色的ON。要注意,设置完密码后必须关闭电源后在开机才会使密码起作用;
UNLOCK:对硬盘解锁。先选择0(USER),再正确输入密码。注意:选择1(Master)无法解开密码。
DISPWD:解除密码,先选择0(USER),再正确输入密码。在用DISPWD之前必须先用UNLOCK命令解锁。要注意,除了用UNLOCK和DISPWD命令可以解密码之外,没有任何办法可以解锁。而且一旦将密码遗忘(或输入错误),也没有任何办法可以解锁。如果解密码成功,按F2键后可以看到Security一项后面有灰色的OFF。注意:选择1(Master)无法解开密码。
RPM:硬盘转速度量(非常不准,每次测量数值都不同)。
TOF:为指定的扇区段建立映像文件(最大2G)。
FF:从映像文件(最大2G)恢复为扇区段。
AAM:自动噪音管理。可以用AAM(自动噪音管理)命令“所听即所得”式的调节硬盘的噪音。按F2键后如果有AAM字样,就表示硬盘支持噪音调节。键入AAM命令后,会显示出当前硬盘的噪音级别,并且可以马上就听到硬盘的读写噪音,要注意硬盘的噪音和性能是成正比的,噪音越大,性能越高,反之亦然。进入AAM命令后,按0键可以关闭AAM功能,按M键可以将噪音调至最小(性能最低),按P键可以将噪音调至最大(性能最高),按+加号和-减号可以自由调整硬盘的噪音值(数值范围从0到126),按L键可以获得噪音和性能的中间值(对某些硬盘如果按+加号和-减号无效,而又不想让噪音级别为最大或最小,可以按L键取噪音中间值),按D键表示关闭AAM功能,按ENTER键表示调整结束;
FDISK:快速地将硬盘用FAT32格式分为一个区(其实只是写入了一个MBR主引导记录),并设为激活,但要使用还需用FORMAT完全格式化。
SMART:显示SMART参数,并可以对SMART进行各项相关操作。SMART ON可以开启SMART功能,SMART OFF可以关闭SMART功能,SMART TEST可以对SMART进行检测。
PORT(热键Shift+F3):显示各IDE口上的硬盘,按相应的数字即可选择相应口的硬盘,之后该口会被记录在/CFG目录下的MHDD.CFG文件中,1表示IDE1口主,2表示IDE1口从,3表示IDE2口主,4表示IDE2口从,下次再进入MHDD后此口就成了默认口,编辑MHDD.CFG文件改变该值就可以改变MHDD默认的检测端口。所以,如果进入MHDD后按F2提示Disk Not Ready,就说明当前硬盘没有接在上次MHDD默认的那个口上,此时可以使用PORT命令重新选择硬盘(或更改MHDD.CFG文件)。
CX:对昆腾CX和LCT(包括LA、LB、LC)系列硬盘进行寻道测试,可以考验这两类硬盘上的飞利浦TDA5247芯片的稳定性(因为质量不好的5247芯片在频繁寻道时最容易露出马脚)。按ESC键停止。此命令也可用在其他硬盘上,它主要通过频繁随机寻道来提升硬盘电机驱动芯片的温度,从而测试硬盘在强负荷下的稳定性。
WAIT:等待硬盘就位。
STOP(热键Shift+F4):关闭硬盘马达。
IBME:查看IBM硬盘缺陷表(P-LIST)。此时要记录大量数据,缺陷表越大,生成的文件(在IBMLST目录下)越大,如果MHDD存在软盘上的话,有可能会空间不足;
FUJLST:查看富士通硬盘缺陷表(P-LIST)。此时要记录大量数据,缺陷表越大,生成的文件(在FUJLST目录下)越大,如果MHDD存在软盘上的话,有可能会空间不足;
MAKEBAD:人为地在某个指定区域内制造坏道。注意,由它生成的坏道很难修复。
RANDOMBAD:随机地在硬盘的各个地方生成坏道,按ESC键停止生成。注意,由它生成的坏道很难修复。
BATCH(热键F5):批处理。
R(热键F3):硬盘复位。比如使用了PWD加密码后,为了使密码马上生效,可以用此命令。
FUCKFUJ、KILLFUJ、AKILLFUJ:都是刻意破坏富士通硬盘的命令,一定谨慎使用,否则硬盘将被彻底损坏,无法修复。某一切正常的富士通硬盘,在使用FUCKFUJ命令后,仅一、两秒种,就提示破坏成功,重新启动后,连自检动作都消失了,主板检测不到,硬盘彻底报废。
SCAN(热键F4):盘面扫描,可以用特定模式来修复坏扇区,其中:
                 [Scan in: CHS/LBA]:以CHS或LBA模式扫描。CHS只对500M以下的老硬盘有效。
                 [Starting CYL]:设定开始扫描的柱面。
                 [Starting LBA]:设定开始扫描的LBA值。
                 [Log: On/Off]:是否写入日志文件。
                 [Remap: On/Off](重新映像):是否修复坏扇区。
                 [Ending CYL]:设定终止扫描的柱面
                 [Ending LBA]:设定终止扫描的LBA值。
                 [Timeout(sec)]:设定超时值,从1到200,默认值为30。
                 [Advanced LBA log](高级LBA日志):此项不支持。
                 [Standby after scan]:扫描结束后关闭硬盘马达,这样即可使SCAN扫描结束后,硬盘能够自动切断供电,但主机还是加电的(属于无人职守功能)。
                 [Loop the test/repair]:循环检测和修复,主要用于反复地修复顽固型坏道。
                 [Erase WAITs](删除等待):此项主要用于修复硬盘坏道,而且修复效果要比REMAP更为理想,尤其对IBM硬盘的坏道最为奏效,但要注意被修复的地方的数据是要被破坏的(因为Erase WAITS的每个删除单位是255个扇区)。Erase WAITS的时间默认为250毫秒,数值可设置范围从10到10000。要想设置默认时间,可以打开/CFG目录下的MHDD.CFG文件,修改相应项目即可更改Erase WAITS数值。此数值主要用来设定MHDD确定坏道的读取时间值(即读取某扇区块时如果读取时间达到或超过该数值,就认为该块为坏道,并开始试图修复),一般情况下,不必更改此数值,否则会影响坏道的界定和修复效果。

关键字:数据恢复技术与资料
如果你的硬盘被病毒损坏,如果你的数据丢失,你是不是自认倒霉,从头来过?其实大可不必,如果我们在这之前,稍稍做一些防范工作,也许就可以挽回损失,得与失就在这一线之间,你愿意尝试一下吗?

  《金山毒霸》附带的磁盘工具KAVFix就是一个备份和恢复硬盘分区的小工具,它可以在DOS、Windows9x/2000/NT系统中直接使用(大小为110KB,在毒霸的安装目录中能够找到,我个人喜欢用毒霸2001版带的DOS版的KAVFix,后来的那个图形界面的我不习惯)。

  首先运行KAVFix命令,会看到如图所示的提示(都是E文的,不过毒霸的说明书中有简单的翻译)。

  

  一、失去方知珍贵

  要想数据失而复得,首先要对硬盘分区进行备份:

  运行KAVFix,选择0修复硬盘,提示选择物理硬盘:

  Pleaseinputharddisk(0,1,2,…):
  输入待修硬盘盘号(第一块硬盘为0,其他的顺延)。

DoyouwanttobackupMBRforundo(Y/N)?
提示备份主引导区数据用于修复失败后恢复,选择“Y”。

PleaseinputMBRbackupfilename:
输入备份文件名称。

**建议使用可靠的软盘,将一张干净的磁盘插入软驱,输入路径和一个文件名如a:mydisk1。

ReadingMBRsector…ok!
Savingtofile…ok!
表示备份成功。

Doyouwanttobackupthebootrecordoflogicdrive(Y/N):
是否备份逻辑分区(一般是指后面的分区),选择“Y”。

BackupfileOK!
备份完成。

二、得到就是最好

  一旦硬盘损坏,备份的小文件也许就是你的救命稻草了!

  DoyouwanttoRebuildtheCDrive(Y/N)?
  为了确保只进行分区的调整,建议您使用“N”的选项,不要重新RebuildC盘。

  Doyouwanttobackupsectorforundo(Y/N)?
  提示备份修复时将被修改的数据,用于修复失败后恢复:

  如果我们不选择RebuildC盘,那么这个备份也可以省了。

  DoyouwanttowriteRebuildPartitionTabletoMBR(Y/N)?
修复后KAVFix将问您是否将已修好的数据写入硬盘的主引导区,请按“Y”确认。

  至此KAVFix已经修复了您的硬盘,请按“Q”键退出。

  重新启动机器,根据我的经验应该说有70的可能,可以找回您的硬盘和数据了。另外根据测试,KAVFix在Windows2000系统中使用时对于大于8GB的硬盘的恢复效果比DOS方式要好。您可以将有问题的硬盘挂在其他Windows2000系统中作为从盘,通过在主盘的Windows2000中使用KAVFix来进行恢复(当然了选择硬盘编号时注意选择1就是了)。

  这里不得不提的是KAVFix的9号功能“DestoryHardDiskMBR(清除主引导记录扇区标志)”这是删除当前分区信息的命令,在当前分区信息出错的情况下清除出错信息,平时请大家不要使用,否则可就不得不自己动手进行恢复了。

  如果硬盘中真的有重要数据的话,也可以考虑到专业的公司进行处理,金山好像就有(不过听说数据恢复的价格比买块硬盘的价格还高呢,倒是恢复不了不收费)。还是使用KAVFix自己先做个备份吧!

SCOUNIX文件卷结构分析及误删文件的恢复

关键字:数据恢复技术数据恢复资料
摘要该文以SCOUNIX3.2.4.1版本为例,分析其文件卷结构和磁盘块管理方式,并在此基础上讲述了误删文件恢复的方法。
我们知道,UNIX操作系统是以文件卷作为其文件系统的存储格式的。对于UNIX用户尤其是系统管理员而言,要想更好地掌握UNIX操作系统,熟悉文件卷的结构是很有必要的。由于SCOUNIX在全球的微机UNIX操作系统市场中所占份额最大,在我国更是处于垄断地位,而它的文件卷结构和磁盘块管理方式都和其它UNIXSYSTEMV不完全一样,介绍这方面信息的资料也很少。本文就以SCOUNIX3.2.4.1版本为例,彻底分析它的文件卷结构和磁盘块管理方式,并在此基础上,讲述一个数据恢复应用–恢复误删的文件。

一、文件卷的结构
文件卷是由大小相同的磁盘块序列组成的。在文件卷偏移量512字节处,有一个长度为512字节的超级块,其后是若干i节点块、位图索引块、位图块、数据块等,如图1所示。
图1
其中,位图索引块和位图块是SCOUNIX专有的,它们含有关于磁盘块管理的重要数据,一般情况下,位图块不止一个,它们的数量和块号是由位图索引块中的数据决定的。4.1版本中,磁盘块的大小是1024字节,因此引导块和超级块合占0号磁盘块。若块尺寸为512字节,则0号块是引导块,1号块是超级块。其中超级块含有文件卷的许多重要信息,如文件卷的大小、位图索引块的位置等。其数据结构放在文件中,具体结构如下:
structfilsys
{
ushorts-isize;
daddr-ts-fsize;
shorts-nfree;
daddr-tsfree[NICFREE];

};
其中:s-nfree、sfree[NICFREE]是SCOUNIX涉及磁盘块管理的两项重要数据,在其它UNIXSYSTEMV中也有这两项数据,但二者的含义不同。s-nfree是SCOUNIX的文件卷标志,恒为-1;sfree[NICFREE]是位图索引块地址表,表中的数据是位图索引块的块号,对于容量小于2GB的文件卷,只有sfree[0]含有数据。
我们来看一看子文件卷/dev/user的超级块内容:
#hd-abx-s0×200-n0×200/dev/user
02001d060000a0860100ffff00001e060000
021000000000000000000000000000000000
*
02d000000000000000008d008c008b008a00
02e089008800870086008500840083008200
02f0810080007f007e007d007c00***007a00
030079007800770076007500740073007200
0310710070006f006e006d006c006b006a00
032069006800670066006500640063006200
0330610060005f005e005d005c005b005a00
034059005800570056005500540053005200
0350510050004f004e004d004c004b004a00
036049004800470046004500440043004200
0370410040003f003e003d003c003b003a00
038039003800370036003500340033003200
0390310030002f002e002c0010001d000000
03a00000000074650e310100900100000000
03b0747f0100866100000000000000000000
03c00000000010000000010000001d060000
03d01d06000000e014f10000000000000000
03e000000000000000000000000000000000
03f000000000c437184b217e18fd02000000
0400
从上可见,文件卷/dev/user只有一个位图索引块,其块号是0×61e它在文件卷中的偏移量是0×61e*0×400=0×187400字节。位图索引块的数据结构是长整型数组,数组中的数据是它所管理的位图块的块号。
下面是位图索引块0×61e的数据。
#hdalx-s0×187800-n0×400/dev/user
1878000000061d0000261d0000461d0000661d
1878100000861d0000a61d0000c61d0000e61d
1878200001061d0001261d0001461d0001661d
1878300001861d000000000000000000000000
18784000000000000000000000000000000000
*
187c00
由此可见,该位图索引块管理的位图块有0×61d,0×261d,……,0×1861d。位图块的数据结构可以看作是一个长度为1024字节的二进制数。该数中的每一位都是反映某个磁盘块使用情况的标志位。若该位为1,则表明该磁盘块未被使用,是空闲块;若该位为0,则表明该磁盘块已被使用。该标志位所代表的磁盘块的块号等于位图块号加上标志位在二进制数中的偏移量。下面是位图块0×61d的数据。
#hd-abx-s0×187400-n0×400/dev/user
187400001c00000000200080ff0000079cffff
187410f8ff80fffffffffffffffffffffffeff
1874200000ffff00000000000000000000ffff
187430ffffbfff000000000000f8ffffffffff
187440ffffffffffffffffffffffffffffffff
*
187800

二、误删文件的恢复
在UNIX系统下,常常发生误删文件的情况,造成意外损失。其实,只要在文件恢复之前不向系统申请分配磁盘块和写数据,误删的文件是完全可以恢复的。因为删除一个文件,只是释放了该文件所占用的i节点和磁盘块资源,而记录文件数据的磁盘块的内容还未被清除。只要找到这些磁盘块,重建文件的i节点,便可恢复误删的文件了。

1.SCOUNIX分配磁盘块算法
由于一个磁盘块的大小为1024字节,所以一个位图块可以管理0×400*8=0×2000个磁盘块。那么,下一个位图块的块号就是0×61d 0×2000=0×261d。这与位图索引块中的数据是相符的。那么,位图块0×61d管理着块号为0×61d-0×261c的磁盘块。由以上数据可见,在这个位图块中,第一个被使用的磁盘块块号是0×61d,即位图块本身。第一个空闲块块号由0×187401处字节0×1c的第2位指示,是0×627。由于该位图块是文件卷中的第一个位图块,所以0×627号磁盘块也是文件卷中的第一个空闲块。当我们向系统申请磁盘块时,系统通过超级块、位图索引块、位图块来寻找那些标志位为1的块,然后将相应的标置位置0。当释放一个磁盘块时,系统就将相应的标志位置1。现在,我们就可以判断出文件卷中的每一个磁盘块是否被使用了。但是仅赁这些还不能完全恢复误删的文件,我们还得了解SCOUNIX分配磁盘块的算法。为了使一个文件所占用的磁盘块相对集中,SCOUNIX是按照特定的算法来选择空闲块分配给文件的。假设某文件所占用的最后一个磁盘块的块号为m,现在要再分配一磁盘块给该文件,若该文件是新文件则m=0。分配算法的流程图如图2。
图2
现在我们在文件卷/dev/user下创建一个新文件1.tmp,根据以上磁盘块分配算法,可以推测它将占据磁盘块0×627,那么0×187401处的字节的第2位将置0,变为0×18。
#cat>1.tmp
1234567^c
#hd-abx-s0×187400-n0×400/dev/user
187400001800000000200080ff0000079cffff
187410f8ff80fffffffffffffffffffffffeff
1874200000ffff00000000000000000000ffff
187430ffffbfff000000000000f8ffffffffff
187440ffffffffffffffffffffffffffffffff
*
187800
磁盘块0×627的内容如下:
#hd-s0×189c00-n0×400/dev/user
189c00313233343536371a00000000000000001
234567……
189c1000000000000000000000000000000000
……………
*
18a000
我们再把1.tmp删除,释放磁盘块0×62f,则0×187401处字节又成为0×1c。
#rm1.tmp
#hd-abx-s0×187400-n0×400/dev/user
187400001c00000000200080ff0000079cffff
187410f8ff80fffffffffffffffffffffffeff
1874200000ffff00000000000000000000ffff
187430ffffbfff000000000000f8ffffffffff
187440ffffffffffffffffffffffffffffffff
*
187800
磁盘块0×627的内容没有丢失:
#hd-s0×189c00-n0×400/dev/user
189c00313233343536371a0000000000000000
1234567……
189c1000000000000000000000000000000000
……………
*
18a000
由于系统每次分配磁盘块给文件时,都遵循这一算法,所以当文件被删除后,我们同样可以按照这一算法推算出原本属于该文件的磁盘块号,这样我们就能完全恢复误删的文件了。

2.误删文件的恢复
根据以上SCOUNIX文件卷结构和磁盘块管理的特点,笔者编制了一恢复误删文件的程序并投入使用,挽救了许多数据。限于篇幅,这里只给出软件的构思和磁盘块分配算法函数getNextFreeBlock(longBN)的源代码。软件构思是这样的,首先在被误删文件的文件卷下,创建一新文件,不向该文件写任何数据即关闭它,然后调用系统函数stat(char*path,structstat*buf)得到该文件的i节点,再根据磁盘块分配算法在文件卷上寻找将分配的空闲块,将块号填入i节点的磁盘块地址表并把相应位图块中的标志位置0;由于SCOUNIX把已分配磁盘块中未被使用的字节全部署0,所以我们只要找到一个尾部字节全部为0的磁盘块,就可以认为它是文件的最后一个磁盘块了,由这些磁盘块的数量和最后一个磁盘块中有效字节的长度,可以算出文件的字节长度,将此长度值也填入i节点,再把该i节点写回文件卷即可。i节点的数据结构在文件中,如下:
structdinode
{
ushortdimode;
shortdinlink;
ushortdiuid;
ushortdigid;
off-tdisize;
chardiaddr[40];/*磁盘块地址表*/
.
.
.
};
对于大文件的一次间址块、二次间址块和三次间址块的块号,只要稍做处理即可找到,这里不再赘述,留给读者思考。
函数getNextFreeBlock(longBN)的返回值是文件卷中下一个将要分配的空闲块的块号,失败时返回-1,表明已无空闲块可分配。输入参数是起始块号,若是分配给文件的第一块,则BN为0。源代码如下,其中BBIT存放的是文件卷位图索引块的数据。函数readABlock(longBN,void*buf)的功能是将文件卷的BN号磁盘块的内容读入缓冲区buf。
externlongBBIT[0x100];
longgetNextFreeBlock(longBN)
{
longlg;
ushortuBuf[0x200];
inti,k,m,n;
if(BN>superBlock,s-fsize)
return-1;
sync();
for(k=BN{
readABlock(BBIT[k],uBuf);
for(m=(BBIT[k]{
n=(BBIT[k] m*0×10)>BN?0:(BN-BBIT[k]-m*0×10 1);
while(n<0×10

2005年11月18日

公司一块80G 迈拓金九硬盘,某天突然进不了分区,提示为“无法访问X: 参数错误”。硬盘上为该公司为本市摄制和编辑的运动会视频和音频文件,摄录磁带中已清除,运动会也不可能再开一次。先前到某电脑公司去试过,结果没能解决问题。广告公司经理和我的一个朋友是朋友,知道此事后就转来我处。

  修复过程:该硬盘为只有一个NTFS分区的数据盘,先在DOS下用扇区编辑软件查看LBA0–63扇区,结果发现分区表和63扇区都有错误,1—62扇区间有大量扇区被写上不明代码,87-102扇区不正常,先手工修复分区表,恢复63引导扇区,删除1—62扇区间的代码。87-102扇区之间暂不处理,到WINDOWS下检查,结果还是出现同样的提示,试用恢复软件1,可以看到目录结构,再试FINALDATE,这个软件此时太不尽人意;用恢复软件1选择某目录进行试恢复,结果28个试恢复文件只恢复2个,其余的全部为0字节,恢复工作陷入困境。再次对79-102扇区进行分析,79扇区面目全非,被严重篡改破坏,80-86扇区被清空,87-102扇区的内容也不正常。经过一番苦思冥想,对某些扇区进行备份后做清除,备份被放到1-62扇区之间,以备不测时改回原样。

  再次在WINDOWS下用恢复软件1进行恢复,让其读该盘约10秒钟,停止扫描,看到的内容和前面提到的相同,试恢复一个文件夹,从恢复过程能看到这时恢复动作正常了,随后对其余的文件和文件夹进行恢复,近3个多小时后,63.9G资料全部恢复,文件中几乎就AVI、WAV、PSD和其它格式的图形文件,逐个打开完全正常。恢复工作顺利结束,大功告成。

  后来一个朋友说这个分区应该是2000格式化出来的,mft在分区的前面,很容易被破坏,象此案里里面87-102扇区里大约有6个左右的用户文件/文件夹是恢复不出来的,但102~~以后的文件应该能完全恢复的。在ntfs里面,一般90扇区以后的mft才是用户的文件信息,前面的是系统的一些元文件,对数据恢复影响不大的。

  个人觉得ntfs还是比较先进的,文件碎片都放在一个mft里面,只要这个扇区没有被破坏,就可以恢复。

  NTFS的结构确实比较复杂,正常情况下所有的操作MFT中有记录。但是,那些扇区被使用,那些没被使用,这些概念还是很有用的。

  实验盘被删除79-102扇区内容后,开机后不需要第三方软件,文件和目录直接可以读出拷贝到其它地方。查看被删除扇区内容,95扇区后的内容都自动修复了,80-94嘛。。。。看来MFT中应该还有一个备份,或是具有自动修复功能。

  故障盘为何就不能自动修复?且不让访问。故障盘中某些扇区看来是被利用了。它的数据恢复是通过第三方软件得到的,对第三方软件来讲,就算格式化了,绝大部分数据还是能找回来的。

  

俗话说得好,请神容易送神难,出于某种需要安装了一些软件,当不再需要使用它们时,诸如非法删除、软件非法关闭、软件自身的BUG等方面的原因,常常会出现该软件不能卸载或卸载不完全等现象,有时候我们在删除某个文件或文件夹时,系统提示无法删除,这的确令人十分头疼,现在我们就来看看解决的办法。

一、常规解决办法

1.注消或重启电脑,然后再试着删除。

2.进入“安全模式删除”。

3.在纯DOS命令行下使用DEL、DELTREE和RD命令将其删除。

4.如果是文件夹中有比较多的子目录或文件而导致无法删除,可先删除该文件夹中的子目录和文件,再删除文件夹。

5.如果是在“添加或删除程序”选项卸载一个软件后,发现软件的安装目录仍旧存在,里边残留着几个文件,直接删除时,系统却提示文件正在使用无法删除。

此时可首先打开“命令提示符”窗口,按“Ctrl+Alt+Del”组合键打开任务管理器,在进程中将“explorer.exe”进程关闭掉(在这之前最好将所有程序关闭掉,如图1),切换到命令提示符窗口,使用DOS命令进入无法删除的文件夹,输入“Del 文件夹名”就可以将该文件夹删除了。删除完成后,在任务管理器中选择“文件→新任务”,输入“explorer.exe”重新建立系统的外壳。

 

二、高级解决方案

1.磁盘错误

运行磁盘扫描,并扫描文件所在分区,扫描前确定已选上修复文件和坏扇区,全面扫描所有选项,扫描后再删除文件(图2)。

 

2.预读机制

某些视频、图像文件播放中断或正在预览时会造成无法删除。在“运行”框中输入:REGSVR32 /U SHMEDIA.DLL,注销掉预读功能。或在注册表中删除[HKEY_
LOCAL_MACHINESOFTWAREClassesCLSID{87D62D94-71B3-4b9a-9489-5FE6850DC73E}InProcServer32]键值。然后即可删除文件。

3.防火墙

由于反病毒软件在查毒时也会导致执行删除时提示文件正在使用,这时可试着停止或关闭它再删。

我常常在想,如果数据库不用考虑数据恢复,对我们这些做数据库的人来说,日子也许将变过美好很多。

  没有一种软件会象数据库这样,需要面对如此恶劣的环境。你需要考虑各种可能的错误和故障,例如系统断电、磁盘损坏、甚至是地震火灾。而给你的目标非常明确:不论发生何种故障,数据都不能被丢失,你可能觉得这有些小题大做,可对于许多商业应用(如银行、火车订票系统等)来说,这只不过是最基本的要求。

  要保证每一步操作都不会丢失,既无必要,也无可能(除非你能发明一种和硬盘一样大,和内存一样快,同时断电时数据不丢失的东东)。因此同并发控制中一样,数据库同样也利用了事务的概念。事务是这样一组操作,这组操作要么都做,要么都不做(我们通常把这叫做事务的原子性)。而当你决定结束一个事务时,你可能会选择:是提交(COMMIT)这个事务,还是应该滚回(ROLLBACK)它。如果你选择提交,那么你在这个事务中所做的全部修改都会被存入数据库中,如果这个数据库系统足够强壮,它将保证:只要事务提交完成,不管今后发生何种故障,事务所做的修改都不会丢失。如果你选择滚回,那么系统将回到事务开始的状态,你在该事务中所做的所有修改都将丢失。如果在事务运行当中,系统发生了任何故障,你会期望它的结果应该和你滚回这个事务一样。

  恢复的本质是数据的冗余,在众多的冗余手段中,日志(log)也许是我们最常使用的技术(尽管我们还有许多其它的选择,如影子页面等)。在我们对数据库进行修改之前,系统会将数据修改前的影象(前项)和你要修改的数据影象(后项)保存在日志当中。在这个过程中,有两点需要保证。一是日志必须先于它对应的修改被写入数据库,我们把这叫做先写日志(WAL)协议,这很容易理解,想象一下,如果修改被先写入数据库,而系统在日志被写入之前崩溃了,那么它将无法把该事务恢复到开始的状态。二是在事务提交之前,必须将它的日志写入数据库。否则,系统无法保证后续的故障不会丢失该事务的修改。我们将不能实现我们在前面对用户所做出的承诺。

  我们继续上文的讨论,看看我们到底有哪些故障需要应付。

  首先是应用故障,例如用户不小心错删了一张表,或者应用破坏了完整性约束。这种故障的恢复非常简单,对于前者,你可以显式地滚回事务(利用日志的前项),如果你不小心提交了事务,那么问题就麻烦了,系统也许只能把它当作介质故障(利用备份)来恢复了;对于后者,系统会强迫把该事务滚回。只要数据库还在运行,在系统看来,事务的滚回与其它正常操作并没有什么区别。

  然后是进程故障,假如在系统运行时,一个client崩溃了,或者网络断了(通常服务器无法区别这两种状态);或者服务器端的某个进程死了。这时我们恐怕得为系统配置一个监视进程,由它来定期地检查系统状态,恢复或清除失败的进程(连接),同时把对应的事务滚回。我们会希望这个监视进程是所有进程的父进程,因此假设连它也死了,我们就能把这种情况归结到后面将要讨论的系统故障。

  接着是系统故障,假如系统因为内部错误(例如数据库或操作系统含有bug),或者发生断电。这时缓冲区里的数据全部丢失,但幸运地是磁盘上的数据还在。因此系统在重新启动(RESTART)后,首先重做所有事务的修改(利用日志的后项),这就让数据库回到了发生故障时的状态,这时再将所有在这一点上未提交的事务滚回就完事了。注意这一过程是自动完成的,你完全不需要去关心它。

  再接着是介质故障,假如磁盘出现了坏磁道,或者整个磁盘报销了。这时上面的数据肯定已经丢失了。由于介质故障只能在你试图再次存取磁盘时被发现,而这时故障可能早已发生。因此对介质故障的恢复需要你的参与才能完成。你必须定期地备份(BACKUP)数据库,这样,当介质故障发生时,你可以先用备份重新覆盖整个数据库(RESTORE过程),然后利用日志重做从备份那点到当前的数据库的更新(ROLL-FORWARD过程),接下来的事情就和系统故障完全一样了。你可能会问,那要是日志也坏了怎么办呢?没办法,鸡生蛋、蛋生鸡,总得有个头吧。所以你最好祈祷日志不要坏,为了保证这一点,你应该对日志文件进行镜象,或者干脆用RAID。

  除了这种恢复方式,我们还有一种叫做逻辑恢复的方式,也就是利用我们常常在用的IMPROT/EXPORT工具对数据进行备份/恢复。当然我们只把它看作是介质故障恢复的一种辅助形式(也许它更适合于恢复我们前面说的那种应用故障),因为你只能把数据恢复到你备份的那一点。

  最后是灾难,象发火灾、被人黑了什么的,这时整个系统可能被完全破坏。你当然仍然可以对数据库进行备份,然后把备份(磁盘)放到另一个安全的地方,但这样做,备份以后数据库所做的修改可能就永久丢失了。一个更为稳妥的办法是我们在远程建立一个备份系统,所有在本地产生的日志同时也送往这个远程系统,为了防止网络发生故障,本地与远程系统之间应该同时建立几条相互独立的网络连接。这听上去好象有点超前,可实际上许多关键应用早就用上了。

  应该明白的是,恢复毕竟是一种非常耗时的工作,特别是进行后三种故障的恢复时,数据库对用户不可用。而这对象银行这样的部门来说,损失实在太大了。因此在很多情况下,我们只把恢复看作是最后的一道防线,我们希望最好永远也别需要用到它。因此现在就出来了各种各样的容错设备,象RAID、双机系统什么的,它们会把故障发生的概率降低到一个实际上可能永不发生的程度。