一、设备文件的分类
在Linux下的/dev目录中有大量的设备文件,根据设备文件的不同,又分为字符设备文件和块设备文件。
字符设备文件的存取是以字符流的方式来进行的,一次传送一个字符。常见的有打印机,终端(TTY)、绘图仪和磁带设备等等,字符设备文件有时也被称为"raw" 设备文件。
块设备文件是以数据块的方式来存取的,最常见的设备就是磁盘。系统通过块设备文件存取数据的时候,先从内存中的buffer中读或写数据。而不是直接传送数据到物理磁盘。这种方式有效的提高了磁盘的I/O性能。
二、MBR和GPT
MBR(Master Boot Record):即硬盘的主引导记录分区列表,硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT和硬盘有效标志(55AA)。在总共512字节的主引导扇区里,主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。
GPT(GUID Partition Table):即全局唯一标识分区列表,是一个物理硬盘的分区结构。它用来替代BIOS中的主引导记录分区表(MBR)。
传统BIOS主要支持MBR引导,UEFI则是取代传统BIOS,它加入了对新硬件的支持。
三、UEFI和BIOS
UEFI(Unified Extensible Firmware Interface):全称"统一的可扩展固件接口",它定义了一种在操作系统和平台固件之间的接口标准。这种接口用于操作系统自动从预启动的操作环境(在系统启动之后,但是操作系统开始运作之前)加载到一种操作系统上,从而使开机程序化繁为简,节省时间。需要注意,UEFI最准确的说它仅是一种规范,不同厂商根据该规范对UEFI的实现,并做出PC固件后,该固件就称为UEFI固件。
BIOS(基本输入和输出系统):是最古老的一种系统固件和接口,采用汇编语言进行编程,并使用中断来执行输入/输出操作,在出现之初即确定了PC 生态系统的基本框架。
UEFI比BIOS先进在三个方面:
(1) 读取分区表
(2) 访问某些特定文件系统中的文件
(3) 执行特定格式的代码【可以说UEFI像一个简易的操作系统】
四、UEFI、BIOS和MBR、GPT之间的关系?
MBR的特点:
MBR分区的分区表保存在硬盘的第一个扇区,而且只有64字节,所以最多只能有四个表项。也就是说,我们只能把硬盘分为4主分区,或者分成小于等于3个主分区再加一个扩展分区。
MBR分区的优点就是简单,支持度高,很多操作系统都可以从MBR分区的硬盘启动。缺点就是MBR分区不能识别大于2T的硬盘空间,也不能有大于2T的分区.
MBR支持32位和64位系统。
GPT的特点:
没有4个主分区的限制,对分区的数量没有限制。
GPT可管理硬盘大小最大18EB
要从GPT分区的硬盘启动,则需要UEFI主板、硬盘使用GPT分区、操作系统支持GPT这三个条件。
必须使用64位系统。
UEFI的目标是取代传统BIOS,它不支持MBR模式,仅支持GPT格式。不过,近年出现的UEFI主板,采用UEFI+BIOS共存模式,并且BIOS中集成UEFI启动项。