目录

一、简介

1)分区简介

2)磁盘的组成

3)磁盘分区表

二、为什么分区?

三、MBR和GPT的优缺点

1)MBR优缺点

2)GPT的优缺点

四、分区命令fdisk之MBR

五、MBR分区演练

1)磁盘主分区分区

第二步、识别磁盘

第三步、主分区分区

第三步:分扩展分区

2)格式化

3)挂载

4)永久挂载

5)卸载永久挂载磁盘(待测试)

六、分区命令之parted之GPT

七、参考网址


一、简介


1)分区简介

linux磁盘分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件

2)磁盘的组成

磁盘由盘片,机械手臂,磁头,主轴马达组成,而数据的写入主要是在盘片上面,盘片上又细分为扇区与柱面两种单位,扇区每个为512bytes那么大 [2]  ,其中,磁盘的第一个扇区特别重要,因为磁盘的第一个扇区记录了两个重要的信息:

  • 主引导分区(BMR):可以安装引导加载程序的地方,有446bytes。
  • 分区表:记录整块硬盘分区的状态,有66bytes。

3)磁盘分区表

在分区表所在的64bytes容量中,总共分为四组记录区,每组记录区记录了该区段的起始与结束的柱面号码。

假设上面的硬盘设备文件名为/dev/hda时, 那么这四个分区在Linux系统中的设备文件名如下所示,重点在于文件名后面会再接一个数字,这个数字与该分区所在位置有关:

由于分区表只有64bytes而已,最多只能容纳四个分区,这四个分区被称为主或扩展分区 [3] 。根据上面的图示与说明,我们可以得到几个重要信息:

  • 磁道:上图中硬盘被一圈圈分成18等分的同心圆,这些同心圆就是磁道,但打开硬盘,用户不能看到这些,它实际上是被磁头磁化的同心圆.这些磁道是有间隔的,因为磁化单元太近会产生干扰。
  • 扇区:每个磁道中被分成若干等份的区域.扇区是硬盘数据存储的最小单位。
  • 柱面:假如一个硬盘只有上图中的3个磁盘片,每一片中的磁道数是相等的.从外圈开始,这些磁道被分成了0磁道、1磁道、2磁道...具有相同磁道编号的同心圆组成面就称作柱面.为了便于理解,柱面可以看作没有底的铁 桶.从上图可以看出,柱面数就是磁盘上的磁道数.柱面是硬盘分区的最小单位.因此,一个硬盘的容量=柱面*磁头*扇区*512。
  • 簇:扇区是硬盘数据存储的最小单位,但操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理.每个簇可以包括2、4、8、16、32、64个扇区。
  • P1:/dev/hda1
  • P2:/dev/hda2
  • P3:/dev/hda3
  • P4:/dev/hda4
  • 其实所谓分区,只是针对那个64bytes的分区表进行设置而已。
  • 硬盘默认的分区表仅能写入四组分区信息。
  • 这四组分区信息我们称为主或扩展分区
  • 分区的最小单位为柱面
  • 当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。

二、为什么分区?


① 优化I/O 性能

② 实现磁盘空间配额限制

③ 提高修复速度

④ 隔离系统和程序

⑤ 安装多个OS

⑥ 采用不同文件系统


三、MBR和GPT的优缺点


【参考】https://blog.csdn.net/z_yttt/article/details/53020797

1)MBR优缺点

MBR全称为Master Boot Record

优点:

1、主引导记录,是传统的分区机制,应用于绝大多数使用BIOS的PC设备

2、MBR+BIOS

3、MBR支持32位和64位系统。

缺点:

1、MBR支持分区数量有限。

2、MBR(主引导记录),最大分区不能超过2T,4个主分区,3个主分区+1个扩展分区-逻辑分区。

2)GPT的优缺点

GPT全程GUID Partition Table

【参考】https://www.linuxidc.com/Linux/2013-06/85717.htm

优点:

1、全局唯一标识分区表,是一个较新的分区机制,解决了MBR很多缺点。

2、支持超过2T的磁盘(64位寻址空间)。fdisk最大只能建立2TB大小的分区,创建一个大于2TB的分区使用parted。

3、向后兼容MBR。

4、GPT(全局统一资源定位符),超过2T 使用该分区模式,最大支持128分区

缺点:

1、必须在支持UEFI的硬件上才能使用(Intel提出,用于取代BIOS)。

2、GPT+UEFI必须使用64位系统。

3、Mac、Linux系统都能支持GPT分区格式。

4、Windows 7/8 64bit、Windows Server 2008 64bit支持GPT。


四、分区命令fdisk之MBR


【分区】http://man.linuxde.net/fdisk

fdisk 是Linux下硬盘的分区工具,是一个非常实用的命令,但是fdisk只能划分小于2T的分区。
语法 : fdisk [-l ] [设备名称] 选项只有一个。
b               编辑bsd disklabel;
c               切换dos兼容性标志;
d               删除一个分区;
g               创建一个新的空GPT分区表;
G               创建一个IRIX(SGI)分区表;
l               列出已知的分区类型;
m               打印帮助菜单;
n               添加一个新分区;
o               创建一个新空DOS分区表;
p               打印分区表信息;
q               退出而不保存更改;
s               创建一个新的空的Sun磁盘标签;
t               更改分区的系统ID;
u               更改显示/输入单位;
v               验证分区表;
w               将分区表写入磁盘并退出;
x               额外功能。

五、MBR分区演练


1)磁盘主分区分区

第一步:添加磁盘

实验环境:centos7.4 IP:192.168.80.120 新增磁盘:2T

第二步、识别磁盘

!!!重启虚拟机才能看见新增磁盘

#扫描 SCSI总线并添加 SCSI 设备
for host in $(ls /sys/class/scsi_host) ; do echo "- - -" > /sys/class/scsi_host/$host/scan; done
#重新扫描 SCSI 总线
for scsi_device in $(ls /sys/class/scsi_device/); do echo 1 > /sys/class/scsi_device/$scsi_device/device/rescan; done
#查看已添加的磁盘,能够看到sdb说明添加成功
lsblk

第三步、主分区分区

yum install util-linux-ng

[root@localhost ~]# fdisk /dev/sdb

命令(输入 m 获取帮助):m
重要命令d   delete a partition                          #删除分区l   list known partition types             #显示已知的分区类型m   print this menu                           #显示帮助菜单n   add a new partition                      #添加分区  p   print the partition table                #查看分区表q   quit without saving changes               #不保存退胡t   change a partition's system id           #该表分区的系统idw   write table to disk and exit              #保存分区并退出
命令(输入 m 获取帮助):
命令(输入 m 获取帮助)n                                #添加一个分区
Partition type:p   primary (0 primary, 0 extended, 4 free)       #主分区e   extended                                      #扩展分区
Select (default p):
Using default response p
分区号 (1-4,默认 1):                                 #1-4个主分区                   #选择分区起点柱面 (默认为2G,如果选择2048就是2048到多少,如果选择其它数字,例如+200,然后分区区+200G,意思就是200G-400G分一个区
起始 扇区 (2048-104857599,默认为 2048): #默认开始最合适
将使用默认值 2048#!!!#设置分区大小20G,+表示往起点后添加,-表示往起点前添加分区
Last 扇区, +扇区 or +size{K,M,G} (2048-104857599,默认为 104857599):+20G
分区 1 已设置为 Linux 类型,大小设为 20 GiB#修改磁盘格式
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):L
。。。8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
。。。
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”#查看
命令(输入 m 获取帮助):p设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41945087    20971520   8e  Linux LVM#保存退出
命令(输入 m 获取帮助):w

第三步:分扩展分区

1、分200G扩展分区

2、输入l开始逻辑分区

分区完毕w保存

2)格式化

mkfs
fs                  #指定建立文件系统时的参数;
-t<文件系统类型>        #指定要建立何种文件系统;
-v                  #显示版本信息与详细的使用方法;
-V                  #显示简要的使用方法;
-c                  #在制做档案系统前,检查该partition是否有坏轨。
#查看分区的磁盘
[root@localhost ~]# lsblk |grep sdb
sdb               8:16   0   50G  0 disk
└─sdb1            8:17   0   20G  0 part
#格式化
[root@localhost ~]#  mkfs -t ext3 /dev/sdb1

3)挂载

#创建挂载目录
[root@localhost ~]# mkdir -p /jia-test/
#挂载
[root@localhost ~]# mount /dev/sdb1 /jia-test/
[root@localhost ~]# lsblk |grep sdb1
└─sdb1            8:17   0   20G  0 part /jia-test

4)永久挂载

[root@localhost ~]# umount  --help
用法:umount [-hV]umount -a [选项]umount [选项] <源> | <目录>选项:-a, --all               卸载所有文件系统-A, --all-targets       卸载当前名字空间内指定设备对应的所有挂臷点-c, --no-canonicalize   不对路径规范化-d, --detach-loop       若挂臷了回环设备,也释放该回环设备--fake              空运行;跳过 umount(2) 系统调用-f, --force             强制卸载(遇到不响应的 NFS 系统时)-i, --internal-only     不调用 umount.<类型> 辅助程序-n, --no-mtab           不写 /etc/mtab-l, --lazy              立即断开文件系统,所有清理以后执行-O, --test-opts <列表>  限制文件系统集合(和 -a 选项一起使用)-R, --recursive         递归卸载目录及其子对象-r, --read-only         若卸载失败,尝试以只读方式重新挂臷-t, --types <列表>      限制文件系统集合-v, --verbose           打印当前进行的操作-h, --help              显示此帮助并退出-V, --version           输出版本信息并退出
#永久挂载
# vim  /etc/fstab      设置系统自动挂载硬盘,加入一行:
cat >>/etc/fstab<<EOF
/dev/sdb1               /jia-test         ext3    defaults      0 0
#设备(UUID或路径指定)  挂载点  文件系统类型   defaults  转储标志  fsck顺序
EOFcat >>/etc/fstab<<EOF
UUID="d17e3928-e858-4b3b-8716-22c2d08b8f13"   /jia-test         ext3    defaults   0 0
EOF

【挂载参数详解】

  • 第一列可以是实际分区名,也可以是实际UUID。
  • 第二列为挂载目录
  • 第三列为此分区的文件系统类型

#Linux可以使用ext2、ext3等类型,此字段须与分区格式化时使用的类型相同。也可以使用 auto 这一特殊的语法,使系统自动侦测目标分区的分区类型。auto通常用于可移动设备的挂载

  • 第四列是挂载的选项,用于设置挂载的参数。

  • 第五列是dump备份设置

#当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;

  • 第六列是fsck磁盘检查设置。

#其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。

#第一个字段最好用UUID,因为路径中块设备标识符可能会发生变化。
sudo blkid 路径#查看最新挂载磁盘UUID
[root@localhost ~]# sudo blkid /dev/sdb1
/dev/sdb1: UUID="d17e3928-e858-4b3b-8716-22c2d08b8f13" TYPE="ext3" 

UUID查看方法如下:

  • 第二个字段要先手动创建挂载点目录,不会自动创建。
  • 第三个字段为文件系统类型,由之前的mkfs确定。
  • 第四个字段为挂载时应该应用于设备以便自定义行为的选项列表。defaults为常用选项,其他记录在mount man page中。
  • 第五个为转储标志,与dump命令结合生成备份。
  • 第六个为fsck顺序字段,确定了文件系统未完全卸载时是否启动时运行fsck以及检查多个磁盘时检查的顺序。
#不开机使得配置生效
mount -a
  • 此命令会挂载/etc/fstab中新文件系统,如该文件存在错误,会无法启动计算机
  • 所以重启前必须输入此命令,如果报错应在重启前改正错误。
#重启
[root@localhost ~]# reboot
#查看
[root@localhost ~]# lsblk |grep sdb
sdb               8:16   0   50G  0 disk
└─sdb1            8:17   0   20G  0 part /jia-test#闲着没事,检测一下硬盘坏道吧
badblocks -v /dev/sdb1 > result.txt 

5)卸载永久挂载磁盘(待测试)

  • umount 存储设备位置
  • umount 挂载点 目录
#先通过umount命令卸载掉挂载目录
[root@localhost ~]# umount  -l /jia-test/
#修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来
vim /etc/fstab
将永久挂载干掉,防止不能开机启动。
#UUID="d17e3928-e858-4b3b-8716-22c2d08b8f13"   /jia-test         ext3    defaults   0 0
#生效
[root@localhost ~]#mount -a
#清楚磁盘数据
[root@localhost ~]# dd if=/dev/sdb1  of=devdir bs=512 count=1
#删除分区,保存退出
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):p磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x16f4960f设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41945087    20971520   8e  Linux LVM命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除命令(输入 m 获取帮助):p磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x16f4960f设备 Boot      Start         End      Blocks   Id  System命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。#查看是否删除成功
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk
├─sda1            8:1    0  474M  0 part /boot
└─sda2            8:2    0 49.5G  0 part ├─centos-root 253:0    0   40G  0 lvm  /├─centos-swap 253:1    0  512M  0 lvm  [SWAP]└─centos-data 253:2    0    9G  0 lvm  /data
sdb               8:16   0   50G  0 disk            #磁盘并为分区
sr0              11:0    1  4.2G  0 rom

六、分区命令之parted之GPT


parted用法和常用选项:
用法:parted [选项]... [设备 [命令 [参数]...]...]
将带有“参数”的命令应用于“设备”。如果没有给出“命令”,则以交互模式运行.
-h                      --help显示此求助信息
-l                      --list列出所有设别的分区信息
-i                      --interactive在必要时,提示用户
-s                      --script从不提示用户
-v                      --version显示版本GPT(全局统一资源定位符),超过2T 使用该分区模式,最大支持128分区
help:
检查 MINOR                                            #对文件系统进行一个简单的检查
cp [FROM-DEVICE] FROM-MINOR TO-MINOR                    #将文件系统复制到另一个分区
help [COMMAND]                                          #打印通用求助信息,或关于 COMMAND 的信息
mklabel 标签类型                                            #创建新的磁盘标签 (分区表)
mkfs MINOR 文件系统类型                                   #在 MINOR 创建类型为“文件系统类型”的文件系统
mkpart 分区类型 [文件系统类型] 起始点 终止点                #创建一个分区
mkpartfs 分区类型 文件系统类型 起始点 终止点            #创建一个带有文件系统的分区
move MINOR 起始点 终止点                                  #移动编号为 MINOR 的分区
name MINOR 名称                                       #将编号为 MINOR 的分区命名为“名称”
print [MINOR]                                           #打印分区表,或者分区
quit                                                    #退出程序
rescue 起始点 终止点                                      #挽救临近“起始点”、“终止点”的遗失的分区
resize MINOR 起始点 终止点                                #改变位于编号为 MINOR 的分区中文件系统的大小
rm MINOR                                                #删除编号为 MINOR 的分区
select 设备                                           #选择要编辑的设备
set MINOR 标志 状态                                         #改变编号为 MINOR 的分区的标志

七、参考网址


【MBR参考】

https://blog.csdn.net/u010000716/article/details/50043757?utm_source=blogxgwz8

https://blog.csdn.net/zhuyingqingfen/article/details/8126282?utm_source=blogxgwz0

http://www.cnblogs.com/brianyi/p/7937633.html

https://www.linuxidc.com/Linux/2015-11/125397.htm

https://www.linuxidc.com/Linux/2015-11/125398.htm

https://blog.csdn.net/pi9nc/article/details/21740319?utm_source=blogxgwz1

https://blog.csdn.net/ggxiaobai/article/details/59114740

https://blog.csdn.net/xyang81/article/details/51745683

https://www.cnblogs.com/vathe/p/6748131.html

https://www.linuxidc.com/Linux/2013-06/85717.htm

【重点参考】https://www.cnblogs.com/jackadam/p/8213712.html#_label0_6

【GPT参考】http://man.linuxde.net/parted

https://www.cnblogs.com/onlybobby/p/7018788.html

https://www.jianshu.com/p/8b13f4459a83


此文章是学习笔记,发布时复制粘贴,读者如果发现问题请留言,我会及时更正。


liunx中磁盘分区格式化相关推荐

  1. linux分区格式8e,linux磁盘分区格式化

    乱世风云剑之磁盘分区格式化 在进行磁盘分区格式化之前,先介绍一些基础常识,虽说是常识,但隔行如隔山,外行人看了,不一定懂.不扯了,步入正题. 磁盘分区格式化是相对于硬盘而言的,硬盘属于随机存储设备,在 ...

  2. RedHat 7.8磁盘分区/格式化/挂载

    RedHat 7.8磁盘分区/格式化/挂载 查看磁盘分区表 以树状列出所有块设备 进入 /dev目录查看当前块设备 查看指定磁盘分区表 创建主分区 创建扩展分区 创建逻辑分区(在扩展分区的基础上) 使 ...

  3. linux 如何打包分区文件,Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接...

    作业一: 1)将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt 2)将用户信息数据库文件和用户 ...

  4. linux 磁盘分区,格式化,挂载

    在操作系统中,磁盘管理属于设备管理的范畴,一块硬盘安装到主机之后称为裸设备,若要能够linux系统中使用必须对其进行如下步骤: 分区 --> 格式化 --> 挂载 1. linux 系统中 ...

  5. 新磁盘分区格式化挂载

    演示背景 公司运维很忙,给开好了服务器,又不知道具体的磁盘挂载位置时,于是引发了以下问题: 必要了解 硬盘分区有三种:主分区,扩展分区,逻辑分区 一个硬盘主分区至少有1个,最多4个,扩展分区可以没有, ...

  6. 硬盘-磁盘-分区-格式化-lvm-raid

    硬盘类型和磁盘管理 硬盘结构 /dev/sd* SAS STAT SCSI IDE USB /dev/nvme0n* NVME协议硬盘 /dev/xvd* 虚拟硬盘 /dev/vd* 虚拟硬盘 hea ...

  7. linux磁盘分区格式化与挂载

    磁盘的可细分为扇区(Sector)和圆柱(Cylinder) 扇区大小为512bytes,磁盘的0扇区,不属于任何分区. 0扇区主要记录了两个记录: MBR:主要启动记录,占用446bytes,可以安 ...

  8. 【linux磁盘分区--格式化】fdisk,parted,mkfs.ext3

    磁盘分区完成后,一般就需要对分区进行格式化 磁盘分区命令主要有两个: fdisk :最大支持不超过2T分区: parted :支持GPT,适用于大容量分区: 分区指令的选择: 在RHEL系统上,用fd ...

  9. Linux中磁盘分区的管理

    1. 本地存储设备的识别 fdisk -l 真实存在的设备 cat /proc/partitions 系统识别的设备 blkid 系统可使用的设备 df 系统正在挂载的设备 真实存在的设备不一定可识别 ...

最新文章

  1. 【预告】1月6日下午14:30 CLR开发系列课程(3):COM Interop基础 (Level 300)
  2. 发布订阅之topics
  3. STS的安装教程-鹏鹏
  4. 融资租赁业务的基本知识
  5. 8.0ble设备 android_蓝牙自动连入附近设备?海凌科解答不同蓝牙区别
  6. Debian Gnu/Linux 9 安装remmina软件过程记录
  7. 显示器接口_显示器带全能Type-C接口用起来有多爽?
  8. Python:anaconda3/bin/activate: Permission denied
  9. 字符串太长 pep8_Python f字符串– PEP 498 –文字字符串插值
  10. 短视频剪辑如何入门?短视频剪辑常用的配音软件
  11. ionic android 教程,Ionic Capacitor Android环境搭建 创建项目
  12. 纯前端实现人体抠图背景融合-调用Face++抠像接口API实现人像抠图
  13. 请收下这 72 个炫酷的 CSS 技巧
  14. P and V
  15. 哪种深度学习框架发展最快?
  16. iphone照片恢复至android,绝招!如何恢复苹果/安卓手机上误删的照片,详细教程奉上!...
  17. Katex一些常用使用方法
  18. ThinkPad E460c安装触摸板驱动未找到未发现synaptics设备
  19. 在APP盛行的移动时代,域名还有用吗?
  20. 「前端」webp图片适配流量优化 1

热门文章

  1. TSM泛读【TSM: Temporal Shift Module for Efficient Video Understanding】
  2. Linux平台Wiznet w5500移植
  3. ffmpeg:一个简单的格式转换器
  4. 连接本地项目接口报错 Could not get any response
  5. MOS管不能关断的原因!!!
  6. 例26:利用递归方法求5!。
  7. Java 线程线程状态流程图
  8. 子网192.168.15.19/28的主机地址范围怎么算?
  9. JavaGUI 10 初识 Swing 类库
  10. Microsoft Security Essentials