news 2026/7/5 21:31:00

Linux如何磁盘分区

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux如何磁盘分区

需知一:Linux对磁盘分区的解决方案

MBR分区方案(寄存器)
GPT分区方案(全局唯一标识磁盘分区表)

需知二:MBR分区方案特点

最多支持四个主分区
在Linux上使用扩展分区和逻辑分区最多可以创建15个分区
由于分区中的数据以32位存储,使用MBR分区是最大支持单盘 2T 空间
fdisk管理工具只能创建MBR分区,但是在较新的发行版系统重 fdisk 命令已经不默认自带了,也通常不直接去专程创建 MBR 分区,工作中多数使用 PV 操作服务器储存介质的管理

需知三:GPT分区方案特点

GPT的优势是分区列表中,单个分区逻辑上最大支持 18 EB(1 EB = 1,048,576 TB),可以定义128个分区,分区的限制是不同系统决定的,没有主分区、扩展分区和逻辑分区的概念,所有分区都能格式化。通常使用 parted 管理工具创建GPT分区

需知四:如何区分MBR和GPT分区

注意:linux中的磁盘接口一般都在 /dev/ 下 ,格式为 sda、sdb、sdc 这种接口文件,分区会存在对应的 sda1 、sda2 这种接口文件

方法一:

[root@node3 ~]# fdisk -l----------主磁盘 sda 的信息 Disk /dev/sda:53.7GB,53687091200bytes,104857600sectors Units=sectors of1*512=512bytes Sector size(logical/physical):512bytes /512bytes I/O size(minimum/optimal):512bytes /512bytes Disk label type: dos ---------这里就是该磁盘用的分区方式 gpt 或者 dos(MBR)Disk identifier: 0x0008f1dc -----------------它下面有两个分区 Device Boot Start End Blocks Id System /dev/sda1 *204841164720480083Linux /dev/sda2411648104857599522229768e Linux LVM -----------新磁盘未分区时也会展示在这里 Disk /dev/sdb:21.5GB,21474836480bytes,41943040sectors Units=sectors of1*512=512bytes Sector size(logical/physical):512bytes /512bytes I/O size(minimum/optimal):512bytes /512bytes ------------下面展示的是所有系统现在有的逻辑卷分区 Disk /dev/mapper/centos-root:51.3GB,51325698048bytes,100245504sectors Units=sectors of1*512=512bytes Sector size(logical/physical):512bytes /512bytes I/O size(minimum/optimal):512bytes /512bytes Disk /dev/mapper/centos-swap:2147MB,2147483648bytes,4194304sectors Units=sectors of1*512=512bytes Sector size(logical/physical):512bytes /512bytes I/O size(minimum/optimal):512bytes /512bytes

方法二

[root@node3 ~]# parted -l--------------------开头这部分指的是主磁盘信息,主磁盘叫 sda Model: VMware, VMware Virtual S(scsi)Disk /dev/sda:53.7GB 《----磁盘大小 Sector size(logical/physical): 512B/512B Partition Table: msdos 《----分区方式MBR Disk Flags: ------------主磁盘有两个分区,展示了它们的扇区位置,还有他们的类型(boot内核引导分区、lvm是逻辑卷)Number Start End Size Type File system Flags11049kB 211MB 210MB primary xfs boot2211MB53.7GB53.5GB primary lvm -----------------这个是未分区的新盘,只展示大小,其他的同时识别不到 Error: /dev/sdb: unrecognised disk label Model: VMware, VMware Virtual S(scsi)Disk /dev/sdb:21.5GB Sector size(logical/physical): 512B/512B Partition Table: unknown Disk Flags: -----------------系统逻辑卷分区 Model: Linux device-mapper(linear)(dm)Disk /dev/mapper/centos-swap: 2147MB ----------centos-swap意思是这个分区是个交换分区 Sector size(logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags10.00B 2147MB 2147MB linux-swap(v1)Model: Linux device-mapper(linear)(dm)Disk /dev/mapper/centos-root:51.3GB ------------centos-root 是默认挂在根路径的总空间 Sector size(logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags10.00B51.3GB51.3GB xfs

注意,除了磁盘信息下方带序号的分区外。较新的 Linux 发行版已经不在显示逻辑卷了,它的信息确实对运维有影响,信息素比较乱。甚至 AlmaLinux 这些较新的发行版,已经默认不带fdisk命令了

如果你想看一个磁盘具体的分区信息,需要通过lsblk命令

[root@core opt]# lsblk /dev/sdbNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdb8:160931.5G0disk ├─sdb18:1701K0part └─sdb58:210931.5G0part /opt/wy

顺便说一个补充知识,当你将一个 Windows 上用的移动硬盘插在 linux 系统上,默认是不能用的,需要安装一个兼容插件

# 先启用 EPEL 源(如果还没启用)yuminstallepel-release-y# 安装 ntfs-3gyuminstallntfs-3g-y# 两种挂载方式都可以mount-tntfs-3g /dev/sdb5 ./wymount/dev/sdb5 ./wy# 用完后卸载umount/dev/sdb5

下面我们开始分区

分区前你首先要知道当前服务器有几块盘,以及那些盘现在没有被使用可以用来分区的。

运行fdisk -l命令,可以看到如下图的输出信息

上图中的信息可以看到目前总计有两块盘,/dev/sda由于已经在使用,所以它有了标签类型和标识符,以及可以看到它被分了三个区且挂载在了不同的地方,而/dev/sdb由于是刚插到服务器上没有使用,因此没有相关的信息。

我们直接使用parted工具,该工具可以操作多种不同的分区方式,下面演示如何用它操作gpt分区

1、使用parted 加目标磁盘命令进行分区

[root@hdp3 opt]# parted /dev/sdbGNU Parted3.1使用 /dev/sdb Welcome to GNU Parted!Type'help'to view a list of commands.(parted)

2、输入mklabel指令,定义分区格式,之后随着输入提示输入gpt,末尾可能有的时候会出现一个警告,输入y确定进行

(parted)mklabel New disk label type? gpt Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? y

3、mkpart定义磁盘分区名称和文件系统类型,这里演示只分一个,实际操作时,3、4两步需要多次重复完成多个分区

(parted)mkpart Partition name?[]? gpt1 File system type?[ext2]? ext4

4、定义当前分区盘符大小,同时此步完成之后会在/dev自动生成对应的类似于/dev/sdb1这样的配置文件。这一步你可以写百分比或者是具体的扇区大小地址

Start?0% End?100%

一定要带百分比符号,不带的话,按照磁盘指点扇区识别,会报如下提示,输入 Cancel 后重新执行 mkpart 即可

Warning: The resulting partition is not properly alignedforbest performance. Ignore/Cancel?

5、使用print命令进行查看

(parted)print Model: VMware, VMware Virtual S(scsi)Disk /dev/sdb:21.5GB Sector size(logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name 标志11049kB21.5GB21.5GB gpt1

此时要说一点:parted操作到这里,如果你操作觉得不对,想要从新来过,需要执行umount /dev/sdb1命令先取消已经挂载的分区。如果你是分区文件类型写的不满意,并不需要去取消挂载,后期格式化时,使用实际的命令就行,标签会自动更新。如果某个分区没分对,在parted交互窗口中执行p得到分区号后rm即可。如果你是在给一块已经有分区,且已经对分区做了文件系统类型格式化的老盘重新分区,需要先执行parted /dev/sdb mklabel gpt/msdos格式化它

6、quit退出,并使用mkfs.分区格式格式化你建好的所有分区,注意mkfs后面的分区格式是linux根据不同的分区类型有不同的格式化命令,你分区时设置的什么类型就用什么命令,你可以输入“mkfs.”时用tab查看一下你能用的命令

(parted)quit Information: You may need to update /etc/fstab.[root@hdp3 opt]# mkfs.ext4 /dev/sdb1meta-data=/dev/sdb1isize=512agcount=4,agsize=1310592blks=sectsz=512attr=2,projid32bit=1=crc=1finobt=0,sparse=0data=bsize=4096blocks=5242368,imaxpct=25=sunit=0swidth=0blks naming=version2bsize=4096ascii-ci=0ftype=1log=internal logbsize=4096blocks=2560,version=2=sectsz=512sunit=0blks, lazy-count=1realtime=noneextsz=4096blocks=0,rtextents=0

7、为刚才的所有分区做挂载

[root@hdp3 opt]# mkdir /opt/oracleData[root@hdp3 opt]# mount /dev/sdb1 /opt/oracleData

8、将挂载信息添加到配置文件/etc/fstab中,这样就可以随着系统启动自动挂载,注意这个文件里面内容标准是制表符tab分隔,不过你可以用空格

UUID=1aa586ac-c177-4037-a587-e965192b95fe /opt/oracleData ext4 defaults00

注意,第一列是磁盘分区对应的标识,一定一定要使用 UUID ,不要使用磁盘分区名称,会导致重启时可能无法正常识别测盘而导致系统起不来,可以用如下的命令查看磁盘分区的 UUID

[root@wangyang ~]# lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINT vda └─vda1 ext4 c8b5b2da-5565-4dc1-b002-2a8b07573e22 / vdb └─vdb1 ext4 1aa586ac-c177-4037-a587-e965192b95fe /opt/gpt1

总计六列信息,从左到右分别为:磁盘标识(配置路径/UUID)、挂载路径、该分区文件系统类别、文件系统参数、能否被dump备份命令作用、是否检验扇区

这六列信息的配置可选项,可以看如下博文中的配置项详情

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 21:30:46

基金实盘组合总结,继续修正投资策略

前言从2020年初开始,投资基金已有一年多的时间,到目前为止虽没挣到什么钱,但挣到了很多经验,爬了很多坑,现在进行小结,总结经验,修正我的基金投资策略。作此文,以供后期参考记录。值…

作者头像 李华
网站建设 2026/7/5 21:28:03

深度解析:AutoClicker - Windows桌面自动化鼠标点击工具实战指南

深度解析:AutoClicker - Windows桌面自动化鼠标点击工具实战指南 【免费下载链接】AutoClicker AutoClicker is a useful simple tool for automating mouse clicks. 项目地址: https://gitcode.com/gh_mirrors/au/AutoClicker 你是否曾在工作中遇到过需要重…

作者头像 李华
网站建设 2026/7/5 21:27:58

交叉编译 cJSON

交叉编译 cJSON 概述 JSON 是一种轻量级数据交换格式。它可以表示数据、字符串、有序的值序列以及名称/值对的集合。 cJSON 是 ANSI C 中超轻量级的 JSON 解析器。cJSON 旨在成为您可以完成任务的最简单的解析器。它是一个 C 文件和一个头文件。作为一个库,cJSON 的存在是为…

作者头像 李华
网站建设 2026/7/5 21:26:50

英雄联盟智能助手Seraphine:5分钟快速上手的游戏增强工具

英雄联盟智能助手Seraphine:5分钟快速上手的游戏增强工具 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否厌倦了在英雄联盟中手动查询对手战绩、错过对局接受,或是在BP阶段手忙脚…

作者头像 李华
网站建设 2026/7/5 21:21:35

智能慢查询根因分析:别把所有问题都归咎于没索引

智能慢查询根因分析:别把所有问题都归咎于没索引 一、慢查询不是单一病因 慢 SQL 出现后,最常见的建议是“加索引”。但真实生产里,慢查询可能来自统计信息漂移、参数倾斜、锁等待、临时表、排序溢出、网络抖动、缓存失效、并发放大或执行计划…

作者头像 李华