SanCi

说说windows 7 的100M隐藏空间
1.Windows 7的100MB的隐藏分区是Windows 7的活动分区,类似于Linux的/boot.这其实有...
扫描右侧二维码阅读全文
12
2014/07

说说windows 7 的100M隐藏空间

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

类似地,Windows 7的这个隐藏分区是它的主分区,系统分区,活动分区。Windows 7在启动过程中会从这个分区启动,然后再启动C盘目录。安装的时候强制分区(可见微软对其设置的重要性)隐藏分区需要分配一个盘符

  1. 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中它们被单独存放在保留分区里。

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

1) 、全新安装Windows 7;
2) 、使用Windows 7分区画面进行分区格式化;
以下任意一种情况发生,100MB的系统隐藏分区都不会产生:
1) 、升级安装Windows 7;
2) 、在全新安装之前使用其他工具(比如gdisk.exe)先对硬盘进行分区格式化;

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

  1. 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盘执行内核的加载过程了。

  1. 如何删除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的支持,普通用户用不上,但是引导文件的安全是大家都需要的。


随机一言(显示内容与本文关)
Last modification:May 3rd, 2018 at 11:23 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment