Linux磁盘分区、格式化
在进行磁盘管理操作时,必须慎重,要清楚自己在做什么。建议在操作之前对文件进行备份,或创建硬盘的快照、镜像,以便在出现意外时,最大限度的恢复数据。
本文主要介绍在 CentOS 7.x 下如何对磁盘进行分区、格式化操作。
如需创建云服务器CVM的云硬盘快照,可参考教程:【云硬盘】云硬盘手动创建快照备份
相关命令
lsblk:显示磁盘列表
fdisk:磁盘分区(用于 MBR 分区表)
mkfs:磁盘格式化
显示磁盘列表命令 lsblk
lsblk 命令用于列出设备的信息,展示系统中的磁盘和分区信息,使用户能够快速了解磁盘的布局、分区的大小和挂载情况等。
命令格式:
lsblk
命令示例:
# 输入命令
lsblk
# 可能会返回以下内容
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 208M 0 rom
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
# vda 对应的 TYPE 为 disk ,表示是一块磁盘,下面的 └─vda1 对应的为 part ,表示依赖的分区
NAME:设备的名称
MAJ:MIN:设备的主次设备号,每个设备都有唯一的设备号,用于在内核中识别它
RM:设备是否可移除。0表示不可移除,1表示可移除
SIZE:设备的总大小
RO:设备是否为只读。0表示可读写,1表示只读
TYPE:设备的类型,例如磁盘(disk)、分区(part)或 rom 等
MOUNTPOINT:设备挂载的位置。如果设备没有被挂载,这一列将是空的
磁盘分区命令 fdisk(用于 MBR 分区表)
fdisk 命令用于创建、删除、查看和修改磁盘分区的命令,用于 MBR 分区,支持最大2TB的磁盘容量,且最多只能有四个主分区。如果分区表为 GPT ,则不能使用该命令。
需要注意的是,在进行磁盘分区操作时务必谨慎,做好备份、快照,以免数据丢失。
命令格式:
# -l 参数:列出系统中所有磁盘设备的分区表信息以及设备名称
fdisk -l
# 表示对设备进行分区操作(慎重)
fdisk 设备名称
以下对几种常见情况进行说明,并对数据盘进行分区操作。
1、仅有1块系统盘
# 示例
fdisk -l
# 可能返回以下内容
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
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: 0x0009ac89
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83886046 41941999+ 83 Linux
Disk /dev/vda: 42.9 GB:表示硬盘 vda 有 42.9GB 大小
Disk label type: dos:表示硬盘分区表类型是DOS,也称为MBR
/dev/vda1:表示硬盘 vda 有1个分区为 /dev/vda1
2、1块系统盘+1块数据盘,并且数据盘未分区
# 示例
fdisk -l
# 可能返回以下内容
Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors
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: 0x0009ac89
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 104857566 52427759+ 83 Linux
Disk /dev/vdb: 75.2 GB, 75161927680 bytes, 146800640 sectors
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 /dev/vda: 53.7 GB:表示 vda 硬盘有 53.7 GB 大小
/dev/vda1:表示硬盘 vda 有1个分区为 /dev/vda1
Disk /dev/vdb: 75.2 GB:表示 vdb 硬盘有 75.2 GB 大小
该示例中并未出现 Disk label type :表示该硬盘没有分区信息
3、1块系统盘+1块数据盘,并且数据盘未分区,运行命令进行分区操作(慎重)
# 格式
fdisk 设备名称
# 示例
fdisk /dev/vdb
# 可能返回以下内容
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x364c6ac4.
Command (m for help): (光标停留此处,等待指令输入)
# 输入 m 显示帮助信息,可能返回以下内容
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help):
常用指令功能如下
d:delete a partition,删除一个已存在的分区
n:add a new partition,创建一个新的分区
p:print the partition table,列出所有的分区信息
q:quit without saving changes,不保存更改退出
w:write table to disk and exit,保存更改并退出
# 输入指令 n ,创建一个新的分区
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): (光标停留此处,等待指令输入)
p 代表主分区(primary partition),e 代表扩展分区(extended partition)
假设此时要创建主分区,并将硬盘全大小都建立为一个分区,完整操作如下所示:
Command (m for help): n (新建分区)
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p (创建主分区)
Partition number (1-4, default 1): 1(分区编号,默认为1)
First sector (2048-146800639, default 2048): (起始扇区值,直接回车使用默认值)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-146800639, default 146800639): (结束扇区值,直接回车使用默认值)
Using default value 146800639
Partition 1 of type Linux and of size 70 GiB is set
Command (m for help): w(保存对分区表的更改并退出)
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# 此时再使用命令查看
fdisk -l
# 可能返回以下内容
Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors
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: 0x0009ac89
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 104857566 52427759+ 83 Linux
Disk /dev/vdb: 75.2 GB, 75161927680 bytes, 146800640 sectors
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: 0x364c6ac4
Device Boot Start End Blocks Id System
/dev/vdb1 2048 146800639 73399296 83 Linux
该示例中较之以前新出现了 Disk label type: dos:表示硬盘分区表类型是DOS,也称为MBR
该示例中较之以前新出现了 /dev/vdb1 ,表示硬盘 vdb 有1个分区为 /dev/vdb1
磁盘格式化命令 mkfs
磁盘格式化命令 mkfs 是 make file system 的缩写,可以将一个空的磁盘分区或者已经存在的文件系统格式化为指定的文件系统类型,如ext2、ext3、ext4、xfs等,需要特别注意的是:格式化命令会将操作的分区所有文件全部清除,务必谨慎操作,做好备份、快照,以免数据丢失。
文件系统格式中 ext4 是目前主流 Linux 发行版的默认文件系统,xfs 则适用于大型文件服务器、数据库和高性能计算环境。
命令格式及示例:
# 格式写法一
mkfs [-t 文件系统格式] 分区名称
# 示例,将指定分区格式化为 ext4 格式
mkfs -t ext4 /dev/vdb1
# 格式写法二
mkfs.系统格式 分区名称
# 示例,将指定分区格式化为 ext4 格式
mkfs.ext4 /dev/vdb1
# 可能返回以下内容,表示格式化操作成功
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4587520 inodes, 18349824 blocks
917491 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2166358016
560 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
以上两种格式化命令的写法都可以用来创建 ext4 文件系统。
mkfs.ext4 命令是专门为创建 ext4 文件系统而设计的,使用相对简单,只需指定要格式化的分区名称即可。
mkfs -t ext4 命令是使用 mkfs 命令并指定 -t ext4 参数来创建 ext4 文件系统。
版权声明:本文为原创文章,版权归 本站 所有,未经许可,不得转载。
本文地址:https://www.yiisu.vip/linux_fdisk.html
如对本文有疑问可在评论区留言,博主会尽力解答,同时欢迎关注微信公众号“云计算课代表”。