1、什么是分区?

分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。

分区表是一个硬盘分区的索引,分区的信息都会写进分区表。

2、为什么要有多个分区?

  • 防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。

  • 增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。

    fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系统等。

  • 数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。

3、Linux fdisk

Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。

fdisk是Linux下常用的磁盘分区工具。受mbr分区表的限制,fdisk工具只能给小于2TB的磁盘划分分区。如果使用fdisk对大于2TB的磁盘进行分区,虽然可以分区,但其仅识别2TB的空间,所以磁盘容量若超过2TB,就要使用parted分区工具(后面会讲)进行分区。

fdisk [选项] [设备名]

分区工具fdisk用法介绍
fdisk命令参数介绍
p、打印分区表。
n、新建一个新分区。
d、删除一个分区。
q、退出不保存。
w、把分区写进分区表,保存并退出。

3.1 fdisk -l 显示所有磁盘分区的信息

如果有多个磁盘,会依次显示全部的磁盘,每个磁盘信息会列出其分区信息。

# fdisk -l

Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sectors '// 磁盘名称 /dev/vda 对应的总大小、   扇区个数'

Units = sectors of 1 * 512 = 512 bytes                        '// 柱面单元大小 (一个扇区作为一个柱面)'

Sector size (logical/physical): 512 bytes / 512 bytes         '// 扇区大小'

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x00040353                 '// /dev/vda 划分的分区列表'

Device    Boot  Start End       Blocks    Id   System

/dev/vda1 *    2048   1026047   512000      83   Linux   '// 分区  /dev/vda1'

/dev/vda2     1026048 209715199 104344576 8e  Linux LVM

参数解释:

Device: 分区,这里有2个分区;
Boot:   启动分区,`用*表示的是启动分区`;
Start:  表示开始的柱面:
End:   表示结束的在面;
Blocks:block 块数量;
Id:     分区类型Id;
System: 分区类型。
  1. 总磁盘大小: 107374182400 bytes(B) / 1024 = 104857600 KB / 1024 = 102400 MB / 1024 = 100 GB

  2. 每个柱面的大小Units: 512 bytes (这里一个柱面一个扇区)

  3. 扇区个数是sectors: 107374182400 bytes / 512 bytes = 209715200

  4. /dev/vda1的大小是:柱面数=1026047(结束位置)-2048(起始位置) = 1023999 约等于1024000.

    那么/dev/vda1的大小 = 1024000 × 512 bytes = 524288000 bytes / 1024 = 512000 K / 1024 = 500M

  5. /dev/vda2的大小是:(209715199 - 1026048) × 512 bytes / 1024 / 1024 / 1024 = 99.5G

3.1.1指定特定分区

还可以直接指定特定分区查看信息。

在这里插入图片描述

参考:《linux磁盘分区fdisk命令详解》
《fdisk:磁盘分区工具》
《fdisk -l 参数详解》

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐