1.Windows 7的100MB的隐藏分区是Windows 7的活动分区,类似于Linux的/boot.


       这其实有点类似Linux的做法,Linux在安装过程中可以专门分出一个100MB左右的分区作为它的引导分区(/boot),这个分区主要用来存放grub.exe,menu.lst, *fs_stage_1.5, initrd,以及内核文件vmlinuz的等Linux启动引导过程会用到的文件。 


       类似地,Windows 7的这个隐藏分区是它的主分区,系统分区,活动分区。Windows 7在启动过程中会从这个分区启动,然后再启动C盘目录。

 

 

安装的时候强制分区(可见微软对其设置的重要性)


隐藏分区需要分配一个盘符

 

2.  Windows 7 隐藏分区的内容。


  Windows 7的100MB系统隐藏分区在系统下是不会自动分配盘符的,但是我们可以手动给它分配一个盘符,运行具有管理员权限的CMD.exe,然后输入:
  diskpat
  sel disk 0
  list vol
  sel vol 1
  assign letter=R


  通过这几行命令会给这个隐藏分区分配盘符R,你也可以通过磁盘管理工具来给它分配盘符。

 
  分配好盘符之后,打开R盘,结果发现里面竟然空空如也。这是因为这个分区下的文件是隐藏的,系统的文件,在”文件夹选项”将系统文件,隐藏文件都设置为显示就可以看到如下的画面:

 


这个分区里的文件主要有boot目录, bootmgr, bootsect.bak。


  
1) 、boot目录下主要是不同语言的字体文件,BCD以及memtest.exe。
字体文件是开机过程中会显示的字体。
BCD是非常重要的文件,它是Windows Vista和Windows 7的启动配置数据文件,类似WinXP下的boot.ini。
Memtest是内存测试工具,你可以在”控制面板à 管理工具 à内存诊断工具”里设置它在下次开机时运行。

 
2) 、bootmgr也是非常重要的文件,它是Windows Vista和Windows 7的启动管理器,类似WinXP下的NTLDR。

3) 、bootsect.bak是该活动分区的前16个扇区的备份文件,所以它的大小是8KB。
其实Windows 7保留分区的这些文件和Windows Vista都是相同的,唯一不同的是Vista下这些文件都放在C盘下,而Windows 7中它们被单独存放在保留分区里。



3. 什么情况下会产生100MB的系统隐藏分区?


是不是在安装Windows 7的过程中一定会产生这样一个100MB的隐藏分区呢?不是的。一般来说,100MB的系统隐藏分区只有在以下两种情况都发生时才会产生:


1) 、全新安装Windows 7;


2) 、使用Windows 7分区画面进行分区格式化;


以下任意一种情况发生,100MB的系统隐藏分区都不会产生:


1) 、升级安装Windows 7;


2) 、在全新安装之前使用其他工具(比如gdisk.exe)先对硬盘进行分区格式化;


3) 、在全新安装过程中使用diskpart.exe对硬盘进行分区格式化;



4. Windows 7的启动过程


BIOS-->MBR--> Bootmgr-->BCD-->Winload.exe-->内核加载
1) 、开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬盘的MBR并把控制权交给MBR(MBR是硬盘的第一个扇区,它不在任何一个分区内);


2) 、MBR会搜索64B大小的分区表,找到4个主分区(可能没有4个)的活动分区并确认其他主分区都不是活动的,然后加载活动分区的第一个扇区(Bootmgr)到内存;


3) 、Bootmgr寻找并读取BCD,如果有多个启动选项,会将这些启动选项反映在屏幕上,由用户选择从哪个启动项启动。


4) 、选择从Windows 7启动后,会加载C:\windows\system32\winload.exe,并开始内核的加载过程,内核加载过程比较长,比较复杂,这里就不一一讲了。


在这个过程中,bootmgr和BCD存放在Windows 7的隐藏分区里,而从Winload.exe开始,就开始进入到C盘执行内核的加载过程了。



5. 如何删除Windows 7的保留分区。


Windows 7的隐藏分区可以删除吗,删除之后我还能正常启动码?可以删除,但是必须小心。

 
1) 、启动到Windows 7,运行具有管理员权限的CMD.exe,然后输入:
diskpart
sel disk 0
list vol
sel vol 0
inactive
sel vol 1
active


2) 、退出diskpart之后,继续在CMD.exe输入下列命令:
C:\windows\system32\bcdboot.exe C:\windows /s C:


当屏幕提示你操作成功之后,你就可以放心删除这个隐藏分区了,下次开机,你的系统就会从C盘直接启动而不需要这个隐藏分区了。


 

不过还是建议一般用户不要这样去做,微软采取这样的做法也是处于保护引导文件的安全的考虑,另外也与Bitlocker加密有关。Bitlocker加密需要硬件TPM的支持,普通用户用不上,但是引导文件的安全是大家都需要的。

posted on 2014-03-27 09:59  vinsonLu  阅读(828)  评论(0编辑  收藏  举报