对“传统BIOS”与“EFI/UEFI BIOS”的基本认识
硬盘(MBR磁盘)分区基本认识+Windows启动原理
大家常会看到硬盘分区中这样的几种说法:系统分区、启动分区、活动分区、主分区、拓展分区、逻辑分区,MBR、PBR、DPT、主引导扇区等。尤其是看到很多误导后,更会云里雾里,现在我力求用最简明的语言阐清几者之间的关系。若有错误之处还请不吝指出。
首先,每个独立的硬盘都只有一个主引导扇区MBR(共512字节),记录着硬盘分区的信息。主引导扇区包括:BOOT
LOADER(主引导程序,446字节)、DPT(硬盘分区表,64字节)、MN(幻数,2字节)。此扇区与是否已经分区无关,与安装的操作系统无关,硬盘都存在。PBR是分区引导记录,每个分区都有。
其次,说一下各个分区的基本含义,上面说到DPT即分区表,总共有64个字节,每个分区参数占用16个字节,做个简单的除法可知:硬盘最多可分4个分区(独立互不干扰)。我们看到的硬盘分区可能会出现很多个,这是何故?这是引入拓展分区的缘故。独立互不干扰的4个逻辑磁盘,可以全部是主分区,即通常说的最多可分4个主分区;如果只有三个主分区,剩下的那个逻辑磁盘设成拓展分区,而拓展分区包括很多相互连接的逻辑分区(不像主分区那样独立自主)。一言以蔽之,硬盘分区包括主分区+拓展分区。拓展分区=很多逻辑分区相加。
再次,系统分区、启动分区、活动分区这三个分区之间的关系。其中系统分区、启动分区这两个名字好像起反了,系统分区中包含“启动文件”(NTLDR、BOOTMGR等),启动分区包含系统文件(比如Windows文件夹)。每次电脑启动时,必须有且仅有一个活动分区,装载活动分区里面的“启动文件”,因此活动分区就是系统分区。活动分区也必须是主分区。
说到这基本澄清了“分区”的概念,下面介绍一下系统启动原理:
1.WindowsXP系统启动:开机自检——将MBR代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(NTLDR)——接着读取同目录下的BOOT.INI文件(系统启动菜单管理文件)——进入WindowsXP系统。
2..Windows7系统启动:开机自检——将MBR代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(BOOTMGR)——接着读取同目录下的BCD文件(启动配置文件)——交给启动分区的Winload.exe——进入Windows7系统。
3.WindowsXP和Windows7双系统启动:开机自检——将MBR代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(BOOTMGR)——读取同目录下的\BOOT\BCD和BOOT.INI文件——列出启动菜单:如果选择Windows7接下来由Winload.exe接管;如果选择WindowsXP接下来由NTLDR接管。
思考一个问题:为什么在Windows7的基础上装WindowsXP双系统后,只能进入WindowsXP?
答:系统安装过程中会更新PBR,WindowsXP系统将PBR修改成为适合WindowsXP的了,因此无法进入Windows7。
到这里系统分区以及Windows系统启动基本原理已经十分清楚了,想必分区也不是什么难事,只是用什么软件来分区的问题了,下面推荐两款分区软件“DG和ADDS”
对“传统BIOS”与“EFI/UEFI BIOS”的基本认识
传统BIOS的全称是Basic Input Output System,译为“基本输入输出系统”,是电脑主板ROM芯片上的一段代码。按下电源后,计算机会进行加电自检(检测硬件是否正常)、初始化硬件(使硬件按照PC的架构工作)、启动OS Loader加载操作系统(由BIOS读取MBR上的Loader)、向系统及软件提供服务、硬件中断处理(硬件出现错误指令->中断一下->由BIOS提供正确执行结果)。
有必要澄清一下BIOS和CMOS的概念,上文说到BIOS是一段“代码”,当属软件范畴;而
CMOS(Complementary Metal Oxide Semiconductor)译为“互补金属氧化物半导体”,是主板上的一块RAM芯片,当属硬件范畴。CMOS中存放系统参数,通常有“BIOS设置、CMOS设置”等不确切的说法,准确的说法应是:通过BIOS设置程序对CMOS参数进行设置。
新一代的电脑主板采用UEFI BIOS,EFI(Extensible Firmware Interfaces,译为可扩展固件接口)的概念最早由Intel提出,UEFI是EFI的升级版。EFI/UEFI BIOS与传统BIOS不同之处在于,可以用鼠标操作,具有多国语言版,开机自检后还会加载硬件在EFI中的驱动程序,不用操作系统负责驱动的加载工作,可视之为“微型系统”。
总结:新一代的BIOS取代传统BIOS是有依据的,坚信:新事物必将取代旧事物。但就目前来说仍是“传统BIOS”的天下。
“GPT分区方案”与“MBR分区方案”的相互比较
目前的大部分电脑硬盘都是采用“MBR分区方案”,前面详细介绍过MBR磁盘,现在说一下GPT磁盘。GPT全名Globally Unique Identifier Partition Table Format(GUID分区表),是源于EFI(可扩展固件接口) 使用的磁盘分区架构。现在用最直白的语言说明之——
二者比较:MBR磁盘最多允许存在4个主分区,并且支持磁盘最大容量为2TB;而GPT磁盘最多可允许存在128个主分区(在Windows系统中),支持磁盘的最大容量为18EB(1EB=1024PB=1024*1024TB)。每个GPT磁盘都存在Protective MBR,用来防止不能识别GPT分区的磁盘管理工具的破坏。对于Windows系统来说,“GPT分区方案”中的几个分区:MSR分区、ESP分区。前面提到的Protective
MBR,在Windows系统中即为MSR分区,是必须存在的一个分区;ESP分区(非必须存在),是采用UEFI BIOS电脑的系统中,存放启动文件的分区(当然,还有其他文件)。
GPT “优缺点”并存。优点:支持更大的硬盘、更多的分区、单个分区大小更大、每个分区存在GUID、分区表自带备份。当然,GUID分区表也存在着不足,如下图所示:
须知:硬件的发展速度总是令人吃惊的。几个TB的硬盘、EFI BIOS的电脑将会普及,GUID分区方案终将成为主流 。
from: http://sphrbeu2012.blog.163.com/
对“传统BIOS”与“EFI/UEFI BIOS”的基本认识的更多相关文章
- EFI/UEFI BIOS启动
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构.它是可扩展固件接口标准的一部分,用来替代BIOS中的主开机纪录分区表.但因为MBR分区表不支持容量 ...
- EFI/UEFI BIOS 入门
我们已经使用BIOS超过了二十年.可是直到今天还有许多朋友不知道BIOS到底是什么,以及它主要做些什么事情,它在整个个人计算机之中所处的地位如何.事实上,BIOS是整个计算机系统中最重要的底层系统软件 ...
- GPT vs MBR 分区 ,,, Legacy BIOS vs UEFI BIOS
MBR与GPT两种磁盘分区格式的区别 http://itoedr.blog.163.com/blog/static/120284297201378114053240 GPT Partition Tab ...
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
有关UEFI BIOS基础知识的简介,一年前在网易博客做过详细的概述.鉴于某些网友仍然对UEFI下Windows的启动过程不甚了解,虽然网上有各式各样的启动修复工具,但是对于新手来说,如果不明白其中的 ...
- BIOS中的UEFI和Legacy启动模式
BIOS即Basic Input/Output System,翻成中文是"基本输入/输出系统",是一种所谓的"固件",负责在开机时做硬件启动和检测等工作,并且担 ...
- UEFI BIOS Rootkit Analysis
catalog . BIOS简介 . UEFI BIOS . EFI编程简介 . UEFI Rootkit 1. BIOS简介 BIOS("Basic Input Output System ...
- 使用UEFI BIOS Updater(UBU)来更新CPU微代码
原文地址:http://www.win-raid.com/t154f16-Tool-Guide-News-quot-UEFI-BIOS-Updater-quot-UBU.html 链接: http:/ ...
- BIOS设置之UEFI/Legacy BIOS切换图文详解
近几年出现的电脑其中相当一部分都配置了UEFI BIOS,不过大多都默认以Legacy BIOS方式启动.而Win8正式上市后, 所有预装Win8(或Win8.1)的电脑都配置了UEFI BIOS并且 ...
- 惠普台式机在UEFI BIOS设置通电自动开机 影响电脑自动重启关不了机设置
设置通电自动开机 影响电脑自动重启关不了机设置 惠普台式机在UEFI BIOS中 1. 开机时不断点击F10键进入BIOS,选择Advanced(高级)然后选择Boot Options,点击回车 ...
随机推荐
- 关于return的一些了解
写return是一种清晰的风格,可以防止一些意外的错误. 所以书上只说应该写,而不是必须写. 如果符合某个条件要退出的话,可以用return返回,否则可以不写这句代码的,当程序执行到"}&q ...
- Mysql中where条件一个单引号引发的性能损耗
日常写SQL中可能会有一些小细节忽略了导致整个sql的性能下降了好几倍甚至几十倍,几百倍.以下这个示例就是mysql语句中的一个单引号('')引发的性能耗损,我相信很多朋友都遇到过,甚至还在这样写. ...
- python显示中文出错以及抛出UnicodeDecodeError的处理办法
程序开头粘贴如下代码即可: # -*- coding:utf-8 -*- import sys default_encoding = 'utf-8' if sys.getdefaultencoding ...
- jenkins部署.net平台自动化构建
在引入自动化部署工具的时候,我们对比了jenkins和gitlab CI,jenkins有非常丰富的插件,配置起来方便.gitlab CI更倾向于脚本配置,当然jenkins也可以使用pipeline ...
- 牛客网编程练习之PAT乙级(Basic Level):1041 说反话
直接分隔取反即可 AC代码: import java.util.Scanner; /** * @author CC11001100 */ public class Main { public stat ...
- Linux下使用MD5加密BASE64加密
这里以字符串123456为例子,它的md5密文值为:e10adc3949ba59abbe56e057f20f883e 这里以1.txt为需要被加密的文件. 一. 用oppnssl md5 加密字符串和 ...
- django之允许外部机器访问
开开启django时,使用0.0.0.0:xxxx,作为ip和端口例如: python3 manage.py runserver 0.0.0.0:9000 然后在settings里修改ALLOWED_ ...
- PHP If...Else 语句
PHP If...Else 语句 条件语句用于根据不同条件执行不同动作. PHP 条件语句 当您编写代码时,您常常需要为不同的判断执行不同的动作.您可以在代码中使用条件语句来完成此任务. 在 PHP ...
- Bootstrap3 排版-对齐
通过文本对齐类,可以简单方便的将文字重新对齐. Left aligned text. Center aligned text. Right aligned text. Justified text. ...
- 【mybatis深度历险系列】mybatis中的动态sql
最近一直做项目,博文很长时间没有更新了,今天抽空,学习了一下mybatis,并且总结一下.在前面的博文中,小编主要简单的介绍了mybatis中的输入和输出映射,并且通过demo简单的介绍了输入映射和输 ...