当前位置:   article > 正文

Linux 磁盘挂载1(硬盘分区)

磁盘挂载

目录

Linux硬盘分区基本概念 

硬盘设备的文件名 /dev/sd[a-z]

Linux磁盘分区类型

MBR分区介绍

分区编号

GPT分区介绍

GPT分区结构

GPT分区编号

磁盘查看命令 

df     显示磁盘空间使用情况

lsblk 查看系统的磁盘使用情况

磁盘分区命令

fdisk   命令

gdisk  命令

parted 命令


Linux硬盘分区基本概念 

Linux中硬盘需要挂载之后才可以使用,挂载步骤:添加硬盘-分区-格式化文件系统-挂载

Linux 磁盘挂载2(文件系统格式化、磁盘挂载)-CSDN博客

硬盘设备的文件名 /dev/sd[a-z]

/dev

根据FHS了解这是一个设备文件

sd

根据udev 这是一个硬盘文件

a-z

指的是识别号码(内核识别硬盘),并不是指插槽的位置,与插槽没有直接关系

此字母是由内核的识别顺序来决定的(而大部分主板的插槽顺序就是系统内核的识别顺序)

 即:如果识别码为b,并不代表此硬盘在第二个插槽,也有可能是在第一个插槽

     只是代表此硬盘是内核识别的第二个硬盘(硬件设备)

分区的编码

如果硬盘分区后,就会存在分区编号

这个编号并不代表分区的个数,以编号5举例子

5并不代表这是设备上的第5个分区,5只能表示编号为5的分区(对于MBR分区来说,编号5一定是逻辑分区)

注意:分区的编号可以手工指定,所以编号5也不能表示此硬盘最少有5个分区

Linux磁盘分区类型

磁盘分区主要分为MBR分区和GPT分区两种类型

MBR分区特点

主引导记录,将硬盘分区划分为主分区、扩展分区、逻辑分区

最大支持4个主分区(逻辑分区不限数量),最大只支持对2T硬盘进行分区

分区信息存储在主引导扇区

GPT分区特点

GPT的分区信息存放在单独的分区中

GPT的每一个分区都是独立存在的,都是主分区;没有扩展分区、逻辑分区的概念

分区在理论上没有限制,但是实际上一般最大配置128个主分区

最大支持对18EB的硬盘进行分区

GPT的分区表以及GPT头都有备份,可靠性更高


MBR分区介绍

硬盘设备是由大量的扇区(一般一个扇区为512字节)组成的,其中第一个扇区最重要,保存着主引导记录和主分区表信息

其中主引导记录(MRB)占用446字节,主分区表占用64字节(有4个分区,每主个分区16字节),结束符占用2字节

其余扇区存放着用户的实际数据

扩展分区的作用

此时我们看到主分区只有4个,这个分区的数量显然是不够的,所以我们设计了扩展分区的概念,扩展分区的作用就是扩展更多的分区

扩展分区与主分区一样都是存在于主分区表中,它会占用一个主分区号(即如果使用扩展分区的话,主分区表中变为3个主分区,1个扩展分区;如果不创建扩展分区的话,主分区表就可以创建4个主分区)

逻辑分区的作用

扩展分区必须分成若干个逻辑分区来使用(扩展分区不存放信息,逻辑分区才存放信息)

扩展分区并不是一个真正的分区,因此扩展分区不能够直接使用,它更像是一个指针,能够指到另一个全新的扇区上面的分区(逻辑分区),通过全新的逻辑分区来存储更多的数据

硬盘分区可以分为三类

主分区(可以马上使用但是不能再分区)

扩展分区(必须再次进行分区后才可以使用(需要再次分为逻辑分区))

逻辑分区(由扩展分区再次分区而建立起来的分区)

注意事项

主分区+扩展分区的数量加起来最多4个(其中主分区最少1个,最多4个;扩展分区最少0个,最多1个);一般为3个主分区+1个扩展分区

逻辑分区的数量没有限制,不过所有逻辑分区加起来的总容量无法超过扩展分区

分区编号

1-4为主分区/扩展分区(主和扩展分区共同占用1-4,即编号1可以为主,也可以为扩展)

5以后的分区为逻辑分区

识别硬盘的文件名

/dev/sda4

 表示此硬盘是设备第一个识别的硬盘,并且是编号为4的分区(此分区可能是主分区,也可能是扩展分区)

/dev/sdb6

 表示此硬盘是设备第二个识别的硬盘,并且是编号为6的分区(此分区一定是逻辑分区)


GPT分区介绍

GPT(GUID Partition Table)全局唯一标识分区符,是一种比MBR分区更灵活、先进的磁盘分区模式

GPT分区结构

主GPT记录分区表与分区表项的简要信息

分区表可以细分为分区表项(主分区),记录分区表项的详细信息

分区区域实际主分区存储的数据

Protective MBR 保护MBR

第一个扇区,0号扇区;存储的也是MBR主引导信息(与MBR分区不同的是不存储分区信息)

前446字节存储的是MBR主引导记录,中间64字节用来表示此磁盘为GPT格式,防止磁盘错误识别,最后2字节为结束符

这个表项GPT基本不用,主要是为了让系统认为这个磁盘是合法的

主部分

Promary GPT Header 主GPT分区表标头

第二个扇区,1号扇区;在创建GPT磁盘时生成

记录了每个分区表的位置(起使位置与结束位置)以及其校验和,每个分区表项的大小、总个数等信息

系统可以根据该校验码来判断GPT是否正确,如果GPT错误可以通过备用记录区来取得备份的GPT来恢复GPT的正常运行

长度(字节)

含义

8

签名  固定为ASCII码

4

版本号

4

GPT头的字节总数

4

GPT头的CRC校验和

4

保留

8

GPT头所在的扇区号

8

GPT头备份所在的扇区号

8

GPT分区区域的起始发扇区号

8

GPT分区区域的结束扇区号

16

磁盘GUID

8

GPT分区表起始扇区号

4

分区表项数

4

每个分区表项的字节数

4

分区表的CRC校验和

420

保留

分区表

GPT磁盘上的第3个扇区到第34个扇区(共32个分区表),也就是2到33号扇区

分区表存放的就是分区表项信息(也就是主分区信息)

理论上可以在该分区表下创建无限个主分区,但是实际上最大创建128个分区后,之后创建的分区无法格式化

所以一般来说,每个分区表会存储4个分区表项(每个表项128字节),一共可以划分32*4=128个分区表项(即128个主分区)

每个分区表项记录的内容为分区的起始、结束地址,分区类型的GUID,分区的名字,分区的属性和分区的GUID

长度(字节)

含义

16

分区类型GUID(标识每个分区)

16

分区GUID

8

分区起始地址

8

分区结束地址

8

分区属性

72

分区名

分区区域

实际进行用户数据存储的区域

分区区域的起使地址和结束地址由GPT头定义

备用部分

分区表备份

对分区表32个扇区的完整备份,如果主的分区表被破环,系统会自动读取分区表备份,保证正常识别分区

分区表备份的地址在GPT头的备份扇区中有描述

Seconday GPT Header 备GPT分区表标头

在GPT磁盘的最后一个扇区,对主GPT分区表标头进行备份

不过该备份并非完整的GPT头备份,可能某些参数不一致,恢复的时候根据实际情况更改即可

GPT分区编号

GPT分区只有主分区,最大128个主分区


磁盘查看命令 

df 显示磁盘空间使用情况

df 【参数】 【文件或目录】————列出文件系统的整个磁盘空间使用情况,并查看磁盘已用空间和剩余空间

   -a  显示所有系统文件(包括隐藏文件)

   -h 以容易阅读的方式显示

   -t  只显示指定类型的文件系统

   -T  输出时显示文件系统类型

 文件系统名/路径               总量         使用      可用  使用比例  挂载点

lsblk 查看系统的磁盘使用情况

新加入的硬盘是没有分区和挂载点的

lsblk -a  查看所有磁盘设备的使用情况

lsblk -f   显示磁盘设备的文件系统信息

lsblk -m  查案磁盘设备的归属以及权限信息

lsblk -s   查看系统所有SCSI类型的磁盘信息


磁盘分区命令

fdisk 命令

默认通过MBR分区方式进行磁盘分区,也可以进行GPT分区

更改磁盘分区类型可以通过parted命令来更改

可以将磁盘设备划分为多个分区(主、扩展、逻辑)

命令格式

fdisk 【参数】 磁盘文件   为此磁盘创建分区(fdisk是交互式的配置方式来配置分区的)

 fdisk -l  查看当前系统分区情况

磁盘交互指令

   d  删除分区

   l   列举分区的标识符

   n  新建分区

   p  查看此硬盘的分区表

   t   修改分区的标识符

   w  保存并退出

   q   退出

分区类型(p表示主分区、e表示扩展分区,l表示逻辑分区-前提是扩展分区已经创建)

输入结束的扇区时,可以简写 +300M 表示此扇区300M

注意事项

当分区表显示不全时,进行一下操作

使用partprobe更新分区表

如果更新分区表后还是显示不全,此时需要重启系统

如果以上操作都不行,可能是用户的配置错误

通过/dev/sdb为磁盘创建1个5G的主分区,然后创建1个10G的扩展分区,1个5G的逻辑分区

创建5G的主分区

创建10G的扩展分区

创建5G的逻辑分区(逻辑分区的容量是在扩展分区容量中分出来的)

查看分区创建结果并保存退出

查看内核是否识别新分区

cat /proc/partitions

如果内核没有识别新分区,则需要通知内核重新读取硬盘分区表

partx -a /dev/sdb

之后进行文件格式化和挂载

gdisk 命令

只可以通过GPT分区方式进行磁盘分区,也是通过交互式的配置方式来进行磁盘划分

对于硬盘的交互指定与fdisk类似

交互指令

   d  删除分区

   c  更改分区名称

   b  将GPT数据备份到一个文件

   l   列举分区的标识(列出已知的分区类型)

   i   显示分区的详细信息

   n  新建分区

   u  改变显示记录单位

   p  查看此硬盘的分区表项

   t   修改分区的标识符

   o  创建一个新的空白的GPT分区表

   w  保存并退出

   q   退出

  ? 显示帮助信息

安装gdisk

yum -y install fdisk

创建磁盘分区

创建2G的主分区1

创建1G的主分区2

查看分区结果并保存退出

查看内核是否识别新分区

cat /proc/partitions

如果内核没有识别新分区,则需要通知内核重新读取硬盘分区表

partx -a /dev/sdb

之后进行文件格式化和挂载

parted 命令

parted为高级分区工具,主要体现在以下方面

支持创建多种分区类型:既可以做GPT分区,也可以做MBR分区;不过主要是用来做GPT的分区类型

允许用户调整分区大小、移动和复制分区

支持命令行配置方式和交互指令方式来配置分区

parted两种配置方式

命令行模式—一般不使用此模式,本次不做重点介绍

parted 【参数】 【设备-磁盘】 【指令】

参数

描述

h

显示求助信息

l

列出系统中所有的磁盘设备

m

进入交互模式(如果不加设备则对第一个磁盘操作)

s

脚本模式

v

显示版本

指令

描述

mkpart  分区类型   起始点  终止点 

创建一个分区

mkpartfs 分区类型 文件系统类型 起始点  终止点 

创建一个带有文件系统的分区

print 【devices|free|list|all|number】

显示分区表、活动设备、空闲设备、所有分区等

交互指令

parted -m 设备 或者 parted 设备————进入到交互界面

常用交互指令

描述

help 【指令】

显示所有的命令帮助

mklabel/mklable  分区类型

创建新的分区表-表示后续通过哪种分区类型进行分区(msdos为mbr分区,gpt为gpt分区)

mkpart

在分区表下创建分区表项(主分区)

print 【devices|free|list|all|number】

显示分区表、活动设备、空闲设备、所有分区等

set NUMBER

改变分区标记

rm NUMBER

删除分区

name

给分区命名

version

显示版本

unit

设置默认单位(两次Tab键可以查看有哪些单位)

quit

退出

注意事项

当通过mklabel更改分区类型后,当使用fdisk对新的硬盘分区是,也采用该分区类型

即:mklabel的更改对fdisk也生效,对gdisk不生效

创建gpt分区1,5G大小

更改分区类型

进行磁盘分区的创建(此处指定了文件系统,在进行格式化时也需要格式化为该文件系统)

之后可以直接q退出

parted相比于fdisk和gdisk,parted在配置后会自动保存,配置完成后直接退出就可以

查看内核是否识别新分区

cat /proc/partitions

如果内核没有识别新分区,则需要通知内核重新读取硬盘分区表

partx -a /dev/sdc

之后进行文件格式化和挂载

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/504700
推荐阅读
相关标签
  

闽ICP备14008679号