介绍Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT),教程操作方法:

硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据。硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统。硬盘的主要行为就是数据的存放和取出。

构成硬盘的基本元件,主要可以分为实际存储数据用的磁盘(Plat Platter)、读取数据用的磁头(Head)、帮助磁头搜寻读取位置的马达等等,这些元件构成一个能够在不同磁盘上的任意位置读取数据的结构体。

1、磁盘(Plat Platter)

磁盘是硬盘中真正用来存储信息的部分,外观上如同圆盘一样,中间有孔可供马达运转轴通过(硬盘必须经过不断旋转磁盘才能找到数据),每个硬盘都有至少一个以上的磁盘。

一般来说硬盘中磁盘的大小,目前主要有 3.5 英寸和 5.25 英寸两种,而笔记本计算机所使用的磁盘大小一般为 2.5 英寸,有些甚至只有 1 英寸,大型磁盘防震的能力较差,而且一般来说磁盘越大硬盘的性能越差(因为磁盘的旋转速度降低,在磁盘上搜寻数据的事件会变长),不过因为表面积较大,所以能够存放的数据也就较多。

大部分磁盘都是以铝合金制成,而由于磁盘运转的速度较高,磁盘表面必须相当光滑,而重量的分布也必须相当均匀。而磁盘铝合金的表面,则涂了一层磁性物质,以供数据写入之用(写入或读取数据事实上都是在这层磁性物质上,与铝合金无关),这个磁性物质是利用电镀或溅镀的方法涂上,因此分布相当均匀,最后在磁性物质上,会再加上一层薄薄的保护膜,以提供润滑作用,避免磁头与磁盘不正常接触所造成的损坏。磁盘的两面都可以使用,因此每个磁盘上下共有两个磁头来读取数据。

在磁盘上可以感应到数字信息,是因为在磁盘上可以针对特定区域进行磁性的变动,因此我们只需要利用一些可以感应磁性变化的装置,可以依照磁盘上特定区域的磁性变化,来读取其中的内容。

2、硬盘数据单位

1. 磁道(Track)

一个磁盘划分为多个磁道,事实上一个磁道也就是指磁盘上的一圈数据区域(也就是说同一磁盘撒和国内所有的磁道都会以同心圆环的方式来排列),就像树木年轮中的一环。因此最靠近内圈的磁道上所能记录的数据量最小(由于越靠近内圈则圆圈越小)。

2. 柱面(Cylinder)

绕马达旋转轴旋转的多个磁盘,每个磁盘有两个盘面(片),每个盘面里有多个磁道(Track)。多个磁盘上相同大小的磁道在垂直空间上构成了一个柱面,可以想象成圆柱状的形体,视觉上构成了一个空心筒(柱面)。

3. 磁头(Header)

当需要使用磁盘中的数据时,需要利用磁头来读取或写入数据。因此磁头可以说是磁盘与计算机中其他数字设备之间的接口。磁头负责把数字的位数据转换为磁性的变动,以便将数据写入磁盘之中,而反过来的动作就可以把数据由磁盘中读取出来。磁头的质量严重影响整个硬盘的性能,例如当我们增加磁盘的密度以及磁盘旋转的速度来增加数据传输的速率时,一定要有精密的磁头才能将这些数据正确地读取出来,因此每当发展出新技术的磁头时,通常都会带动整个硬盘效率的提高。

4. 扇区(Sector)

事实上仅把数据分为磁道,还不能达到细分数据区的目的(一个磁道中的数据容量还是相当大,即使是最内圈最小的磁道也是一样),因此我们再把磁道分为许多的扇区。由于内圈磁道的数据容量较少,因此内圈磁道所分割出来的扇区数码会比外圈磁道要少。扇区是磁盘上能读取数据的最小单位,大小为 512Bytes,因此,即是是 1 个 Byte 的文件,也要占据一个扇区的大小,无论这个扇区的数据量是 2KB 还是 16KB 都是一样。每个扇区内部的数据被视为连续的数据,因此实际存取时,需要再指定扇区中数据的地址,就可以找到所需要的数据。

Boot sector是硬盘(严格来说是所有可引导的存储介质)上的第一个扇区,大小为512字节,这个扇区对于计算机启动来说至关重要。这个小小的512字节包含了很多内容,主要分为三个部分,分别是: 

  1. MBR(master boot record,主引导记录)446字节。

  2. DPT(disk partition table,磁盘分区表)64字节,每16个字节标识一个分区(所以只能划分4个主分区)

  3. BRID(boot record ID引导记录标识)2字节,作用标记MBR是否有效(常见的55AA

Linux 的所有设备都被抽象为一个文件,保存在 /dev 目录下。根据接口可以分为:IDE、SATA、SAS、SCSI、USB。硬盘名称一般为:设备类型 + [a-z],其中 [a-z] 表示第几块硬盘。

IDE 硬盘的名称一般是:hd[a-z]。

SATA 硬盘、SAS 硬盘、SCSI 硬盘和 USB 硬盘的名称一般为:sd[a-z]。

例如,第一块 SATA 硬盘名为 /dev/sda,第二块 SATA 硬盘名为 /dev/sdb,以此类推...

柱面是分区的最小单位,把一块硬盘的磁盘逻辑地分为几个区,每个区当作独立磁盘,以方便使用管理,目录是逻辑上的区分。分区是物理上的区分。

不同的分区用:“设备名 + 分区号”来表示,如第一块 SATA 硬盘的两个分区 sda1,sda2。

主流的分区机制有 MBR 和 GPT。

5、  MBR(Master Boot Record,主引导记录)

MBR 是传统的分区机制,应用于绝大多数使用 BIOS 引导的 PC 设备(苹果使用EFI的方式)

MBR 支持 32 位和 64 位的操作系统 MBR 支持的分区数量有限 MBR 支持不超过 2T 的硬盘,超过 2T 的硬盘只能使用 2T 空间(有第三方解决办法),因为MBR的寻址空间只有 32 位长 MBR 结构:

占用硬盘最开头的 512 字节,即 0 柱面 0 磁道 1 扇区。前 446 字节是引导代码,不同操作系统的引导代码不一样。然后是 4 个 16 字节的主分区 表信息。最后 2 个字节 55 AA,是操作系统的启动标识。

主引导分区之所以如此重要,因为其涉及到开机与文件加载,因为操作系统也是软件,COMS记录了各项硬件参数且嵌入在主板上的存储器中,而BIOS则是写到主板上的一个程序,这个BIOS是开时系统主动调用的第一个程序,BIOS根据计算机的设置找到能开机的第一个硬盘中的第一个扇区的MBR位置,MBR这个仅有446bytes的硬盘容量里面放置基本的引导加载程序,这个引导加载程序是为了加载内核文件,由于引导加载程序是操作系统在安装时所提供的,所以他能够识别硬盘中的文件系统各式,就可以读取内核文件,因此整个流程如下:

BIOS:开机执行的第一个程序

MBR:第一个开机设备的第一个扇区内的主引导分区块,里面包含引导加载程序

引导加载程序(Boot Loader):可读取内核文件的软件

内核文件:执行操作系统的功能

主分区与扩展分区最多只能有4个,扩展分区最多只能有一个,IDE硬盘最多有59个逻辑分区(5~63),SATA硬盘有11个逻辑分区(5~15)

6、  磁盘分区表(partition table)

由前文可知,柱面是文件系统和分区的最小单位,这里假设使用的这块磁盘有400个柱面,如下图:

如果是SATA硬盘,则这4个分区在系统中的设备文件名如下:

P1:/dev/sda1     P2:/dev/sda2    P3:/dev/sda3    P4:/dev/sda4

Linux之磁盘概述相关推荐

  1. linux 使用了哪个存储阵列卡,Linux中RAID概述及配置实验

    Linux中RAID概述及配置实验 一.RAID磁盘阵列概述 RAID 0 (条带化存储) RAID 1(镜像存储) RAID 5 RAID 6 RAID 1+0(先做镜象,再做条带) RAID 0+ ...

  2. Linux共享库概述

    Linux共享库概述 共享库是一种将库函数打包成一个单元使之能够在运行时被多个进程共享的技术.这种技术能够节省磁盘空间和RAM. 在继续阐述共享库之前,先来说说静态库,它是比共享库更早的存在.静态库也 ...

  3. Linux基础——磁盘配额

    Linux基础--磁盘配额 一.磁盘配额概述 1.实现磁盘限额的条件 2.Linux 磁盘限额的特点 3.磁盘配额步骤 二.磁盘配额管理 1.设置磁盘配额 2.具体步骤 一.磁盘配额概述 1.实现磁盘 ...

  4. Linux驱动开发概述

    第 1 章 Linux驱动开发概述 设备驱动程序是计算机硬件与应用程序的接口,是软件系统与硬件系统沟通的桥梁.如果没有设备驱动程序,那么硬件设备就只是一堆废铁,没有什么功能.本章将对Linux驱动开发 ...

  5. 自动驾驶QNX,Linux,Autosar概述

    自动驾驶QNX,Linux,Autosar概述 QNX是一个分布式.嵌入式.可规模扩展的实时操作系统.遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具).部分遵循POSIX.1b( ...

  6. 关于Linux服务器磁盘空间占满问题的解决方法

    下面给大家分享一篇关于Linux服务器磁盘占满问题解决方法(/dev/sda3 满了),需要的的朋友参考下吧 下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了),希望 ...

  7. Linux 下磁盘配额(RHEL5)

    Linux 下磁盘配额 1.#vim /etc/fstab 2.保存退出 3.#/rebootor #mount -o remount  /home 4.#mount |grep  /home     ...

  8. 认识Linux的磁盘配额(转载)

    认识Linux的磁盘配额(转载) 对于管理Windows系统的网络管理员来说,配置磁盘配额是一件比较容易的事情,那么,如何在Linux下配置磁盘配额,在配置磁盘配额时需要注意哪些问题,可能有些读者朋友 ...

  9. linux 重新分区挂载,Linux:挂载磁盘分区,linux已挂载磁盘重新分区

    Linux:挂载磁盘分区,linux已挂载磁盘重新分区 查看挂载的分区 df 命令主要用来了解系统中已经挂载的各个文件系统的磁盘使用情况. 常用选项: "-h" ,显示更易读的容量 ...

最新文章

  1. 在web html页面中,打印、预览当前页面
  2. 洛谷 1541 乌龟棋
  3. 把Array说透(续一)
  4. 矩阵低秩张量分解_【线性代数】张量-张量的计算
  5. ITU-RBT.656视频标准接口
  6. Windows查找JDK的路径
  7. 面试 | #面试面试面试 做#Java 就是要这种不要脸的…
  8. CSDN 创始人蒋涛:AI 定义的开发者时代
  9. Flash Builder4.7安装破解
  10. win7 更新失败解决方案一
  11. android音频切换到蓝牙耳机,在Android上将音频路由到蓝牙耳机(非A2DP)
  12. python、pygame开发的太空大战游戏源代码
  13. 强弱类型,动态静态语言比较(JAVA,C,C++,Python,Ruby,PHP,Perl)
  14. 《ShareX 》截图神器
  15. 虚拟机中安装vmtools工具的命令和相关问题解析
  16. 单片机设计:基于stm32智能语音识别蓝牙音响(ld3320语音识别模块+mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)
  17. 中国石油大学(北京)-《 油气藏经营管理》第二阶段在线作业
  18. Matlab 断供哈工大,国产替代软件挺身而出,霸气!
  19. mysql字符集以及字符集错误
  20. 职场造富是坑吗?有人28岁财务自由,2022年这个行业值得关注

热门文章

  1. Python 34(进程重点)
  2. SQL调优--记一次表统计信息未及时更新导致查询超级慢
  3. Python__封装
  4. hdu 4352 XHXJ's LIS
  5. stm32f102 SPI口重复初始化引起的问题及解决办法
  6. AB1601安装新版本IDE后工程编译可以通过单无法连接的问题排查解决过程
  7. AB1601 IO口反应延时的问题
  8. cmake (4)多个子目录
  9. 最长重复子数组最长公共子序列不相交的线
  10. 【Flask】Flask-RESTful 风格编程