这其实有点类似Linux的做法,Linux在安装过程中可以专门分出一个100MB左右的分区作为它的引导分区(/boot) : _/ K0 v7 T7 V& a5 e+ X! D4 l, N
这个分区主要用来存放grub.exe,menu.lst, *fs_stage_1.5, initrd,以及内核文件vmlinuz的等Linux启动引导过程会用到的文件。
% @- E, Y) a& R c8 t0 }
' T' e: C* {6 W# l% G4 Z 类似地,Windows 7的这个隐藏分区是它的主分区,系统分区,活动分区。Windows 7在启动过程中会从这个分区启动,然后再启动C盘目录。 6 k( Q8 w4 C4 F
[- p/ _- F7 C1 \ K
Windows 7 隐藏分区的内容
8 c$ T+ ~; w1 ~6 F; ~
- F- t% E0 s7 x1 T* B, T6 {8 L/ hWindows 7的100MB系统隐藏分区在系统下是不会自动分配盘符的,但是我们可以手动给它分配一个盘符
M) @ f- L% k7 m2 A: m P8 G: }运行具有管理员权限的CMD.exe,然后输入: % R8 B) d" I. i
0 t8 y+ o5 J8 s* [3 S, l# o
diskpat ; D% g m. t' u4 A
sel disk 0
/ P" H7 H3 V/ w4 e list vol
6 E( L* ^7 T( J sel vol 1
' Q l. h x1 b; ~8 B1 u' g0 U9 y assign letter=R
' V) W; Q$ F4 b# C9 f' E- q5 \
' U! x4 p& d: s" d" Z通过这几行命令会给这个隐藏分区分配盘符R,你也可以通过磁盘管理工具来给它分配盘符。 分配好盘符之后,打开R盘,结果发现里面竟然空空如也
# S* b6 [4 T& g" ?这是因为这个分区下的文件是隐藏的,系统的文件, 在”文件夹选项”将系统文件,隐藏文件都设置为显示就可以看到boot目录, bootmgr, bootsect.bak 0 k. V t N9 T0 T2 w1 @
- {: E/ [* V- N; p2 H 1) 、boot目录下主要是不同语言的字体文件,BCD以及memtest.exe
3 ] C( z( T, }% ]5 N) Q) \ 字体文件是开机过程中会显示的字体。
* @/ [- H6 Q) O# t }& p, ` BCD是非常重要的文件,它是Windows Vista和Windows 7的启动配置数据文件,类似WinXP下的boot.ini
& |+ O, J- N9 k+ x3 f6 q* l Memtest是内存测试工具,你可以在”控制面板à 管理工具 à内存诊断工具”里设置它在下次开机时运行
: v" ~. O) o' t 2) 、bootmgr也是非常重要的文件,它是Windows Vista和Windows 7的启动管理器,类似WinXP下的NTLDR * X. p3 ^5 y& G
3) 、bootsect.bak是该活动分区的前16个扇区的备份文件,所以它的大小是8KB $ b) k( v( b: o4 r3 x) M
其实Windows 7保留分区的这些文件和Windows Vista都是相同的,唯一不同的是Vista下这些文件都放在C盘下,而Windows 7中它们被单独存放在保留分区里
: k, a; \/ [3 S9 S! Q( p# ]2 k0 P2 x% x( v, e$ f) l5 _
什么情况下会产生100MB的系统隐藏分区?
% B) u# {* ?2 u: ]- D1 v. G
3 ?: S9 L6 _; M& U/ J$ L$ G! m 是不是在安装Windows 7的过程中一定会产生这样一个100MB的隐藏分区呢?不是的。一般来说,100MB的系统隐藏分区只有在以下两种情况都发生时才会产生:
) E/ j* V8 P( t5 k7 E 1) 、全新安装Windows 7
6 o& c" l; j$ F4 Z 2) 、使用Windows 7分区画面进行分区格式化
# }9 y0 l) x8 z: A# i( o( {( E 以下任意一种情况发生,100MB的系统隐藏分区都不会产生: 0 H; G) [8 T3 O$ f$ } p0 [
1) 、升级安装Windows 7
1 M: A) }7 r$ {, \5 f 2) 、在全新安装之前使用其他工具(比如gdisk.exe)先对硬盘进行分区格式化
; k I! D: N8 o, G. t% M 3) 、在全新安装过程中使用diskpart.exe对硬盘进行分区格式化
- s/ H! U. S& k% q; P4 D' Y% B+ O/ f* A5 u p$ Q3 L% V
Windows 7的启动过程
* o* T% A8 H1 ~" c5 V$ o" c# y, z" X4 l2 j
BIOS-->MBR--> Bootmgr-->BCD-->Winload.exe-->内核加载
7 ?+ W8 n7 [" E' j/ A 1) 、开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬盘的MBR并把控制权交给MBR(MBR是硬盘的第一个扇区,它不在任何一个分区内);
, H/ W; e% V; X8 Z4 _ 2) 、MBR会搜索64B大小的分区表,找到4个主分区(可能没有4个)的活动分区并确认其他主分区都不是活动的,然后加载活动分区的第一个扇区(Bootmgr)到内存;
' s" `8 Y) |* h$ Q 3) 、Bootmgr寻找并读取BCD,如果有多个启动选项,会将这些启动选项反映在屏幕上,由用户选择从哪个启动项启动。 * j) b& M" {! l# F! K$ o$ z4 u) }
4) 、选择从Windows 7启动后,会加载C:\windows\system32\winload.exe,并开始内核的加载过程,内核加载过程比较长,比较复杂,这里就不一一讲了。 # c1 ?8 x+ Y; v
在这个过程中,bootmgr和BCD存放在Windows 7的隐藏分区里,而从Winload.exe开始,就开始进入到C盘执行内核的加载过程了。
0 H8 A$ D9 J8 e8 g
% w0 |7 e- }6 W; C' `3 b5 M9 }如何删除Windows 7的保留分区
- y2 o, \4 x8 E, O2 O: y9 M! F1 ~+ j: x
Windows 7的隐藏分区可以删除吗,删除之后我还能正常启动码?可以删除,但是必须小心。
8 n! ^; ~# N/ ^+ D1 g5 n 1) 、启动到Windows 7,运行具有管理员权限的CMD.exe,然后输入: , Z7 |* G& r B. [7 T( P) x/ w
( k; i3 k9 g" c1 V' U& n" v0 K diskpart ) I. m: S1 F0 @, j3 T7 P6 J
sel disk 0
2 T: f q! R. E; `4 J# ?' g list vol " z. ~0 j' X* G) X6 k
sel vol 0
1 e* N7 X- h/ Z4 B inactive
7 K* T! r% p' n& [$ s t- ~1 ? sel vol 1 7 u4 S! ?% N" b. J1 q( R5 n3 n
active ! D5 L* J$ A8 ^* _: z8 X
+ ~# o3 Z" {6 Y- b+ ?4 K
2) 、退出diskpart之后,继续在CMD.exe输入下列命令:
0 j2 _& F7 O* A. R' s1 m- P# f C:\windows\system32\bcdboot.exe C:\windows /s C:
1 B9 k. M1 ^+ u# E
7 z7 j4 w1 Y3 \$ u) g 当屏幕提示你操作成功之后,你就可以放心删除这个隐藏分区了,下次开机,你的系统就会从C盘直接启动而不需要这个隐藏分区了。 3 H9 H+ b: ~2 h% c
2 ]2 V. |& }2 }% _( k+ C$ {0 W# ?/ N# W/ I5 U
这个隐藏分区的大小在Windows 7的各个版本中是不同的。在Windows 7的bate版本中该隐藏分区是200M,
: Z$ G- U4 Y" h& U$ V* }从Windows 7 的RC及其以后版本中该隐藏分区大小改为100MB,但是不管怎样,其作用是一样的。在Windows 7
, ^2 z% Y5 n2 t安装过程中,它会首先在磁盘的开始位置创建一个100M左右的隐藏分区,然后将Windows 7装在另外的一个分区里。 % y* J7 o6 K, m* e1 g$ a3 r; t
这样做的好处是:
: P) e# `/ G/ I/ O- k) T3 a7 L3 ^3 E
E; n, a+ t- C1 x: W6 G+ f6 V# v (1).当我们在Windows 7中启用了Bit-Locker或者在进行系统恢复时,这种分区模式为我们提供了便利, 1 X- C7 R& N( f$ j2 `* X# V
也保证了系统的安全。因为,Bit-Locker以及系统恢复都不会对该分区进行操作,从而保证在其中
) P" t3 L1 ?2 ^; N# b$ P' v 保存的系统启动引导文件免遭破坏,以保证计算机的正常引导。
0 G G3 ?5 h3 n0 C8 p \
2 A ]# r3 q8 U* d$ U' d) b% N (2).实现了系统引导文件和系统文件的隔离,避免的一方遭到破坏而殃及池鱼。通常,我们习惯上系统
% ^7 P1 ?& C7 S( D' ^: I 将整个Windows装在C盘中。其实,从技术上来说Windows的启动过程是分成两个步骤:Windows
) x; R9 o! S4 u# i9 L! ? 的System分区和Boot分区。其中System分区保存了Windows启动时所必须的启动文件,比如引导
. ~* t3 ~# ]$ ]0 @8 r9 x u 扇区(mbr)里的东西,相应的引导文件,第三方驱动比如对RID硬盘支持等等。所谓Boot分区,其实 5 j( B9 V4 O4 V& H# m, [
就是我们通常所说的C:中的东西,包含了Windows运行是所需要的绝大多数文件。所以说,windows . A9 U8 h4 c1 Z+ {) ~, s( c1 S5 s- u
的System分区是一个比较小的分区,而这个隐藏分区就是从通常的系统分区中隔离出去的Windows的System分区。
4 y; a; W; E% g5 d
1 D% m7 m! m K3 j3 `( Z3 j# x (3).还有一个好处是显而易见的:当我们的系统出现故障,或者我们要做双系统的安装,以及启用Bit-Locker时, # e& w+ U/ G7 W/ P! Y5 g
将引导相关的文件保存在该隐藏分区中就避免了在进行上述操作时对System分区的修改或者破坏,使得所 7 u' X, B$ F6 _8 e$ b. b; e! P
有的操作都是针对Windows的Boot分区的。
3 d! [# L; I: i. p' d _ K3 \# N8 c4 c$ X1 S
基于上面对于该隐藏分区的重要性和作用的分析,建议在安装Windows 7时保留该分区。
4 b) e$ l7 B% C 毕竟它占不了多少空间,而且其对于系统的安全、稳定至关重要。 |