设备类型 | 设备名称 |
---|---|
SCSI / SATA / USBDrive | /dev/sd[a-p] |
USB 接口的打印机 | /dev/usb/lp[0-15] |
鼠标 | /dev/input/mouse[0-15] |
CDROM / DVDROM | /dev/scd[0-1] |
当前 CDROM/DVDROM | /dev/cdrom |
其他默认的设备名称:major number - Kernel.org
- 盘面
- 磁道
track
:每个磁盘上的同心圆 - 磁柱
cylinder
:若有多块盘面组成磁盘,则同一垂直位置上的磁道组成磁柱 - 磁道扇区
sector
:每个磁道上的最小分区单元 - 簇
cluster
:数个扇区组成一个最小的逻辑单元
- MBR 分区中,每个 sector 固定为 512byte 大小
- GPT 分区中,每个 sector 的大小可以为 4kbyte 大小
每块磁盘的 第一个扇区 记录了磁盘的重要信息
在以 MBR(Master Boot Record)
作为分区形式的磁盘,第一扇区记录了中记录了 启动信息 和 磁盘分区表
其中启动信息占用 446 bytes,磁盘分区表占用 64 bytes
MBR 的磁盘第一个扇区的分区表可以记录 4 个分区表,每个分区表都记录了各自的 起始磁柱的编号 和 结束磁柱的编号
在 MBR 磁盘中,可以使用 EBR(Extended Boot Record)
来增加 逻辑分区 以拓展分区数量
EBR 信息被记录在每个逻辑分区的分区头部
一般来说,受到操作系统的限制,一块硬盘只能有一个扩展分区
在 Linux 中,对于 MBR 类型的硬盘
/dev/sd[a-p][1-4]
是保留给主分区的
/dev/sd[a-p][5-]
是给逻辑分区使用的
为了兼容 512 bytes 和 4 kbytes 大小的硬盘,GPT 分区表使用 LBA(Logical Block Address)
来定义磁盘的位置
- LBA 从 0 开始编号,即 LBA[0-]
- LBA 默认将扇区分作 512 bytes 大小
- LBA 使用硬盘的 头部 34 块区块 来说记录分区
同时使用硬盘的 最后 33 块区块 来备份分区表
- LBA 0 作为 MBR 磁盘的兼容区块(Rpotective MBR) 而存在,首先是放入了 引导程序,接着在后面放入了 GPT 磁盘的标记
如果引导程序不识别GPT磁盘标记,就不会接着执行下面的命令 - LBA 1 记录了硬盘的可用空间、分区表自身的大小、分区表备份的位置、分区表的校验码,如果分区表的的校验值与校验码不一致,就会从备份区恢复分区表
- LBA [2-33] 记录了实际的分区位置,默认情况下,每个 LBA 区块可以记录 4 个分区位置
每个分区记录占用128byte,其中有64byte用来记录开始与结束的扇区号
-
Legacy BIOS 搭配 MBR
- BIOS 识别硬件设备与启动硬盘
- 从启动硬盘的第一个扇区读取启动程序(
boot loader
) - 从 boot loader 中启动引导菜单、引导系统核心文件或者启动其他启动器
-
Legacy BIOS搭配GPT
- BIOS 识别硬件设备与启动硬盘
- 从启动硬盘的 LBA 0 读取启动程序(boot loader)
- 从 boot loader 中启动引导菜单、引导系统核心文件或者启动其他启动器
boot loader 的引导菜单将会指向 扇区内的引导文件 或 下一个系统的引导扇区,再从应道扇区指向对应的引导文件
对于 MBR 磁盘而言,每个分区都具有一个 Boot Sector
-
UEFI BIOS搭配GPT
与Legacy BIOS搭配GPT类似注意部分UEFI BIOS会开启secure boot来保证引导的系统被 Microsoft 签名 过的,会导致部分 Linux 系统不能正确引导,需要关闭后才能正常使用
挂载就是将某一个磁盘分区制定到一个路径下面,这样这个路径就是用户访问这个磁盘分区上的文件的顶层目录
在 Linux 中,必须有一个分区挂载到 根目录 /
下,如果有其它的分区,则这些分区需要被分别挂在至不同的文件夹中