Keep on going, never give up.

Windows 7隐藏分区的初步分析及删除方法

这两天把WINDOWS 7进行了多次安装测试,对Windows 7的隐藏分区也称保留分区有了一些初步的认识,虽然对其很多机理还需要进一步的实验研究,不过思路还是比以前明晰多了,本文就先把知道总结一下,隐藏分区是可以删除的,但是网上的很多转载方法,可能对7000前后的版本或许有效,但是对于MSDN的7600版本还是有点问题。

一、Windows 7的隐藏分区情况介绍

我们在安装Windows 7的时候,如果您的C盘不是提前分区好,在安装时候让Windows 7分区安装,默认将会分出一个首要的系统保留分区(System Reserved Bitlocker partition),Windows 7会根据硬盘大小划出100M或200M的隐藏分区。之前天缘一直建议不要轻易删除,主要是因为该分区的参数“有些怪异”,尤其是DOS很多分区管理软件都会识别错误,经过天缘的测试已经明白一二,但想搞清楚具体原理可能不是那么容易的事,因为你都弄清楚了,windows 7的加密机制就打水漂了。

下面来看一下这个隐藏分区的一些特征,天缘双硬盘,windows 7安装在第二块硬盘上,所以分区盘符表较大。

图中盘符F就是100M的系统保留分区,该分区在Windows 7上是隐藏的,但是在其它系统下显示并非是隐藏的,也可以自动分配驱动器号,由于测试太快就没专门查该分区的其他状态是不是标准的,下次留意看一下。在Windows 7如果安装带有系统保留分区,那么默认的C盘将被修改为非活动分区00,而系统保留分区则是80活动分区。在MBR的分区表中仍然是按照把系统盘当主盘(分区表信息标志为00A3140D....)。

再看一下该保留分区的起始扇区非常怪异的,从柱面0磁头32扇区33开始,天缘做过多次安装,每次都是从这个位置开始,暂不清楚在其他硬盘上该位置是否相同,尤其是200M保留分区下的windows 7情况,如有遇到,欢迎留言反馈一下,是否也是柱面0磁头32扇区33开始的保留分区。

本来按照标准的第一分区应该是从柱面0磁头1扇区1开始的,根据C/H/S到LBA的换算公式,换算后得到柱面0磁头1扇区1到柱面0磁头32扇区33之间总共2048-63=1985个扇区,大约1M的空间被隐藏掉,这1M的空间在各分区上层都是看不到的。

保留分区中有boot目录、bootmgr、BOOTSECT.BAK三个文件(文件夹),当然这些可以在Windows 7上使用c:\windows\system32\bcdboot c:\windows /s c:命令得到,如果使用bitlocker加密之后就不知道了,还没试过。

一旦把这个隐藏分区删除掉,那么空闲空间会立即变成从柱面0磁头1扇区1开始,也就是说对于分区管理软件,该1M空间就是按照空闲空间来处理,实际上是否是Windows 7的Bitlocker一部分,测试方法也很简单,只需要在隐藏分区下,把从柱面0磁头1扇区1到柱面0磁头32扇区33之间,间断或部分以0填充再确认bitlocker是否工作正常、Windows 7是否启动正常并支持修复功能就可以看出来(暂未测试)。

由于删除后,空闲空间会自动计入前面的1M空间,不会导致扇区丢失,所以这个保留分区就可以删除,删除方法网上的也有很多,几乎都是转载的甚至自己都没试过就发出来。

二、Windows 7的保留分区删除方法

1、网络一说,在Windows 7环境下,使用diskpart先把隐藏分区设置为非活动状态inactive,然后把Windows 7的系统盘(一般是C盘)激活active,再运行C:\windows\system32\bcdboot.exe C:\windows /s C:命令,该命令目的是重新修复C盘的引导记录和相关文件,生成boot目录及语言包、BCD等文件和根目录下的bootmgr启动文件。该方法的确是支持删除保留分区,但是要想合并到C盘就没有办法再进Windows 7进行修复操作了,不合并总不可能扔了或合并到其它分区吧,所以这个方法纯粹是忽悠人的——不推荐大家使用

2、网上二说,用WinPE启动系统,然后使用Partion Manager删除该分区,但是到把分区合并到C盘,并设置C盘为活动状态,再使用c:\windows\system32\bcdboot c:\windows /s c:修复启动,估计原作者是用7000版本测试的,当时候是没问题,现在大家再在Windows 7 7600的旗舰版上测试就不灵了(bcdboot这个文件被改了)。无论是在PE 2.0还是完整的WINDOWS XP SP3系统下,bcdboot命令都是无法执行的,感觉可能在PE 3.0下应该可以。提示的错误如下:

A、无法定位程序输入点_except_handler4_common于动态链接库msvrt.dll

B、无法定位程序输入点_swprintf_s于动态链接库msvrt.dll

具体原因,天缘没有深究,此路不通就换一种方式了。

所以如果大家在PE 2.0上已经删除了保留分区,而且机子上没有第二系统,就只有一个办法就是使用WIN7的MSDN安装盘进行修复或采用下文方式进行修复,估计PE 3.0应该可以直接运行,暂未测试。——不推荐大家使用

3、本文提供的完整删除、合并保留/隐藏分区方法

A、使用WINPE 2.0或Xp、Vista等第二系统启动进入系统,随便哪个都可以,如果是WINPE,启动分区管理工具Partion Manager,其它系统类似处理,通过上文可以看出,只管删除就可以了(实在删不了的用Unlocker冰刃、粉碎机、安全模式等都可以),如下图:

B、选中系统保留分区,鼠标右键点击删除命令,确认删除需输入卷标回车即可,将100M或200M的保留分区删除。

C、删除后再把Windows 7的系统分区鼠标右键调整分区大小,然后把游标拉到最左端,就是把原删除的分区空间都合并到Windows 7分区去。

D、点击标题栏的应用按钮,大约6分钟左右即可合并完毕。

E、再在Windows 7系统分区上鼠标右键激活该分区,这个步骤很重要不要漏掉了。

F、然后需要进行启动修复,使用c:\windows\system32\bcdboot c:\windows /s c:这个命令无法执行的,只能使用原安装光盘来修复

G、如果有安装光盘,只需要使用安装光盘启动进入启动修复模式修复即可,下面就不用看了。如果有硬盘ISO镜像,只需要把Boot目录和bootmgr拷贝到Windows 7系统盘,然后再创建一个sources目录,把ISO下sources目录下的boot.win拷贝到C盘下。

H、然后执行c:\boot\bootsect.exe /nt60 c:命令即可,然后从带Windows 7硬盘启动即可进入安装模式,选中修复启动就可以了。

总结一下删除合并方法:删除——合并——设置活动——拷贝文件——执行命令——重启修复——OK。

 

Windows 7隐藏分区的使用及修复请参考:

Windows 7系统保留隐藏分区的使用说明及注意事项

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.