|
贝壳系统救护在发布这几年来,一直都有用户建议增加在安装时,自动在硬盘后面划分一个分区作为隐藏备份分区的功能。
我这说说我的看法。
首先,建议这样的人都会举例来说,例如XX一键还原,XX精灵等!
但是你真以为在硬盘最后一个分区里再划一个分区出来就是那么简单的分区划分吗?
如果认为是就大错特错了,看我下面的解释吧!
我这先说一下如果在已划分分区里的硬盘里再划分分区的技术要求。
例如一个500G的硬盘,划分5个分区,分别为c,d,e,f,g盘,每个100G,那么最后一个分区G也是100G。
现在要在最后的100g的g盘里划分出20G出来作为h盘,那么怎么做呢?
正常划分步骤,应该是这样的:
1:先把g盘里分区后面的数据移动到分区前面,例如g盘100g,如果有数据在最后20g里,那么应该先把最后20g里的那些数据移动到前80g里。
2:调整g盘里的文件系统大小,例如,g盘是ntfs分区,那么就应该调整ntfs文件系统大小(注意,这里是调整文件系统大小不是分区大小,第3步才是调整分区大小)。
3:第3步也就是最后一步,才是调整分区大小,将g盘调整成80g,那么硬盘后就会多一个20g的空白空间,然后把这20g空白分成h盘。
但是,现在那些号称可以自动在硬盘后面划一个分区的一键还原,其实大多的也只是仅仅只做最后一步,也就是直接调整分区大小,而忽略了前面两个步骤。
忽略前面两个步骤,只做划分分区这第三个步骤,这样会出现下面两种问题:
1、如果后20g里没有数据,那么直接调整分区再划分分区,可以成功。
2、如果后面20g里有数据,那么后面的20g后面的数据就损坏或者丢失了,如果是文件系统里的元数据,那么这个文件系统就损坏了,分区里的数据都完蛋。
那可不可以做完前面三个步骤来划分分区呢?答案是当然可以,但是有个缺点。
移动数据不是简单的文件拷贝问题,移动的数据有可能是看得见的数据,也有可能是看不见的元数据,而且要移到的地方是分区里的空余处,就像磁盘碎片整理那样移动,如果数据很多,那么移动会很慢,而且也不是100%能完成这一移动的,如果有那么一点数据在分区后面20g里移动不不到前面80g内,特别是元数据,冒冒然就划分分区,就会造成数据就丢失或者文件损坏,也可能破坏整个分区的文件系统,整个分区数据丢失。
移动数据是一个很慢的过程,数据越多,或者分区里数据越满,就越慢,成功率也越低。
还有另外一点是不同的文件系统有不同的移动步骤,例如NTFS,FAT32等,他们移动的方式不一样,那么就需要针对不同的文件系统来开发移动的代码来完成这个功能,需要支持的文件系统越多,开发的难度就越大,不是一个简单调整分区就可以的。
那些一下子就完成划分出来的,肯定是只做第3步,只调整分区大小,不做数据移动和文件系统调整。
如果一个号称可以划分硬盘最后一个分区来作为隐藏分区的,如果不解决数据移动问题,就没有解决数据丢失或者文件损坏的问题。
硬盘有价,数据无价,建议大家不要乱在已有的分区里划分分区!
[ 本帖最后由 贝壳 于 2013-1-21 16:14 编辑 ] |
|