zoukankan      html  css  js  c++  java
  • Windows 7的100M隐藏分区

    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:windowssystem32winload.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:windowssystem32cdboot.exe C:windows /s C:


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


     

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

  • 相关阅读:
    VS Code中编写C
    Latex
    JAVA学习-----容器和数据结构
    Markdown2最最基本操作说明(未完待续)
    [lua] table.sort(_table, comp)使用要点
    [coco2d]pageView:addPage时,page无法对齐
    [cocos2d]修改富文本文本和高度
    [cocos2d]格式化获取当前layer的控件名
    [c++]牛客刷题记录2.18
    [c++]STL学习
  • 原文地址:https://www.cnblogs.com/vinsonLu/p/3627617.html
Copyright © 2011-2022 走看看