Linux Command parted 创建分区

article/2025/10/22 13:28:24

Linux Command parted 创建分区

tags: lvm

文章目录

  • Linux Command parted 创建分区
    • 1. 简介
    • 2. 交互模式
      • 2.1 常见命令
      • 2.2 查看分区表
      • 2.3 修改成 GPT 分区表
      • 2.4 建立分区
      • 2.5 建立文件系统
      • 2.6 调整分区大小
      • 2.7 删除分区
    • 3. 命令行模式

1. 简介

虽然我们可以使用 fdisk命令对硬盘进行快速的分区,但对高于 2TB 的硬盘分区,此命令却无能为力,此时就需要使用 parted 命令。

2. 交互模式

$ parted /dev/sdb
#打算继续划分/dev/sdb硬盘
GNU Parted 2.1
使用/dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)   <--parted 的等待输入交互命令的位置,输入 help,可以看到在交互模式下支持的所有命令

2.1 常见命令

parted交互命令说 明
check NUMBER做一次简单的文件系统检测
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER复制文件系统到另一个分区
help [COMMAND]显示所有的命令帮助
mklabel,mktable LABEL-TYPE创建新的磁盘卷标(分区表)
mkfs NUMBER FS-TYPE在分区上建立文件系统
mkpart PART-TYPE [FS-TYPE] START END创建一个分区
mkpartfs PART-TYPE FS-TYPE START END创建分区,并建立文件系统
move NUMBER START END移动分区
name NUMBER NAME给分区命名
print [devicesfree
quit退出
rescue START END修复丢失的分区
resize NUMBER START END修改分区大小
rm NUMBER删除分区
select DEVICE选择需要编辑的设备
set NUMBER FLAG STATE改变分区标记
toggle [NUMBER [FLAG]]切换分区表的状态
unit UNIT设置默认的单位
Version显示版本

2.2 查看分区表

(parted) print               #进入print指令
Model: VMware, VMware Virtual S (scsi)   #硬盘参数,是虚拟机
Disk/dev/sdb: 21.5GB   #硬盘大小
Sector size (logical/physical): 512B/512B   #扇区大小
Partition Table: msdos     #分区表类型,是MBR分区表
Number Start End Size Type File system 标志  #看到了我们使用fdisk命令创建的分区,其中1分区没被格式化;2分区是扩展分区,不能被格式化
1 32.3kB 5379MB 5379MB primary
2 5379MB 21.5GB 16.1GB extended
5 5379MB 7534MB 2155MB logical ext4
6 7534MB 9689MB 2155MB logical ext4

使用 print 命令可以査看分区表信息,包括硬盘参数、硬盘大小、扇区大小、分区表类型和分区信息。分区信息共有 7 列,分别如下:

  • Number:分区号,比如,1号就代表 /dec/sdb1;
  • Start:分区起始位置。这里不再像 fdisk 那样用柱面表示,使用字节表示更加直观;
  • End:分区结束位置;
  • Size:分区大小;
  • Type:分区类型,有 primary、extended、logical 等类型;
  • Filesystem:文件系统类型;
  • 标志:分区的标记。

2.3 修改成 GPT 分区表

(partcd) mklabel gpt   #修改分区表命令,警告:正在使用/dev/sdb上的分区。由于/dev/sdb分区已经挂载,所以有警告。注意,如果强制修改,那么原有分区及数据会消失
忽略/Ignore/放弃/Cancel? ignore    #输入ignore忽略报错
警告: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? yes
警告:WARNING: the kernel failed to re-read the partition table on /dev/sdb (设 备或资源忙).As a result, it may not reflect all of your changes until after reboot.  #下次重启后才能生效
(parted) print  #查看一下分区表
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt     #分区表已经变成 GPT
Number Start End Size File system Name 标志   #所有的分区都消失了

修改了分区表,如果这块硬盘上已经有分区了,那么原有分区和分区中的数据都会消失,而且需要重启系统才能生效。

另外,我们转换分区表的目的是支持大于 2TB 的分区,如果分区并没有大于 2TB,那么这一步是可以不执行的。

注意,一定要把 /etc/fstab 文件和原有分区中的内容删除才能重启,否则会报错。

2.4 建立分区

因为修改过了分区表,所以/dev/sdb硬盘中的所有数据都消失了,我们就可以重新对这块硬盘分区了。不过,在建立分区时,默认文件系统就只能是 ext2 了。命令如下:

(parted)mkpart  #输入创建分区命令,后面不要参数,全部靠交互
分区名称? []?disk1  #分区名称,这里命名为disk 1
文件系统系统? [ext2]?    #文件系统类型,直接回车,使用默认文件系统ext2
起始点? 1MB   #分区从1MB开始
结束点?5GB分区到5GB结束    #分区完成
(parted) print    #查看一下
Model: VMware, VMware Virtual S (scsi)
Disk/dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B Partition Table: gpt
Number Start End Size Rle system Name 标志
1 1049kB 5000MB 4999MB disk1  #分区1已经出现

不知道大家有没有注意到,我们现在用 print 查看的分区和第一次查看 MBR 分区表的分区时有些不一样了,少了 Type 这个字段,也就是分区类型字段,多了 Name(分区名)字段。分区类型是用于标识主分区、扩展分区和逻辑分区的,不过这种标识只在 MBR 分区表中使用,现在已经变成了 GPT 分区表,所以就不再有 Type 类型了。

2.5 建立文件系统

分区分完后,还需要进行格式化。我们知道,如果使用 parted 交互命令格式化,则只能格式化成 ext2 文件系统。我们在这里要演示一下 parted 命令的格式化方法,所以就格式化成 ext2 文件系统。命令如下:

(parted) mkfs    #格式化命令(很奇怪,也是mkfs,但是这只是parted的交互命令)
WARNING: you are attempting to use parted to operate on (mkfs) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
警告:The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?
是/Yes/否/No? yes    #警告你格式化丟失,没关系,已经丢失过了
分区编号? 1
文件系统类型 [ext2]?   #指定文件系统类型,写别的也没用,直接回车
(parted) print #格式化完成,查看一下
Model: VMware, VMware Virtual S (scsi)
Disk/dev/sdb: 21,5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name标志
1 1049kB 5000MB 4999MB ext2 diski  #拥有了文件系统

如果要格式化成 ext4 文件系统,那么请 mkfs 命令帮忙吧(注意:不是 parted 交互命令中的 mkfs,而是系统命令 mkfs)。

2.6 调整分区大小

parted 命令还有一大优势,就是可以调整分区的大小(在 Windows 中也可以实现,不过要么需要转换成动态磁盘,要么需要依赖第三方工具,如硬盘分区魔术师)。起始 Linux 中 LVM 和 RAID 是可以支持分区调整的,不过这两种方法也可以看成动态磁盘方法,使用 parted 命令调整分区更加简单。

注意,parted 调整已经挂载使用的分区时,是不会影响分区中的数据的,也就是说,数据不会丢失。但是一定要先卸载分区,再调整分区大小,否则数据是会出现问题的。另外,要调整大小的分区必须已经建立了文件系统(格式化),否则会报错。

(parted) resize   
分区编号? 1    ##指定要修改的分区编号
起始点? [1049kB]? 1MB   ##分区起始位置
结束点? [5000MB]? 6GB   #分区结束位置
(parted) print    #查看一下
Model: VMware, VMware Virtual S (scsi)
Disk/dev/sdb: 21,5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name标志
1 1049kB 6000MB 5999MB ext2 diski    #分区大小改变

2.7 删除分区

(parted) rm   #删除分区命令
分区编号? 1  #指定分区编号
(parted) print  #查看一下
Model: VMware, VMware Virtual S (scsi)
Disk/dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志 #分区消失

要注意的是,parted 中所有的操作都是立即生效的,没有保存生效的概念。这一点和 fdisk
交互命令明显不同,所以做的所有操作大家要加倍小心。

3. 命令行模式

sudo parted -s -a optimal -- /dev/sdb mklabel gpt
sudo parted -s -a optimal -- /dev/sdb  mkpart primary 0% 100%
sudo parted -s -- /dev/sdb  align-check optimal 1
sudo pvcreate /dev/sdb1
sudo vgcreate vg0 /dev/sdb1
sudo lvcreate -n harbor -l +100%FREE vg0
sudo mkfs.xfs /dev/vg0/harbor
sudo mkdir /data
echo "/dev/vg0/harbor /data xfs defaults 0 0" | sudo tee -a /etc/fstab

挂载验证

$ sudo mount -a
$ df -hT /data/
Filesystem             Type  Size  Used Avail Use% Mounted on
/dev/mapper/vg0-harbor xfs   200G  1.5G  199G   1% /data

参考:

  • Linux parted命令用法详解:创建分区
  • parted(8) — Linux manual page

http://chatgpt.dhexx.cn/article/jGy2NW1P.shtml

相关文章

parted分区详解

---------- Linux中有两种常用的分区表MBR分区表(主引导记录分区表)和GPT分区表(GUID分区表)&#xff0c;其中&#xff1a; MBR分区表&#xff1a;支持的最大分区时2TB&#xff0c;最多支持4个主分区&#xff0c;或3个主分区和1个拓展分区。 GPT分区表&#xff1a;支持最大18…

parted磁盘分区 教程

Linux parted磁盘分区实现步骤解析 相对于fdisk&#xff0c;parted用的比较少&#xff0c;主要用于大于2T的分区。 1.开始分区 help是查看帮助信息。 2.查看磁盘信息 可以看到当前磁盘没有分区&#xff0c;需要将分区表&#xff08;Partition Table&#xff09;类型更改为g…

【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】

Windows环境下使用fvm管理多版本Flutter&#xff08;flutter版本升级回退&#xff09; 安装FVM升级版本升级后&#xff0c;使用方法二再次安装fvm 安装FVM 方式一&#xff1a; 使用choco安装fvm&#xff08;当时环境中Flutter版本是1.22.4&#xff0c;Dart是2.10.4&#xff0…

一个很好用的Flutter SDK版本管理神器fvm

前言 目前Flutter SDK正式版本已经更新到2.2.了&#xff0c;当升级了最新版运行之前的项目&#xff0c;其中最大的变化应该是要适配空安全了&#xff0c;这时如果项目又比较紧急暂不做适配&#xff0c;又只能降级Flutter版本了&#xff0c;然后新项目又要在最新Flutter版本去开…

在MacOS上不用FVM的Flutter多版本管理

网上看到都是用fvm进行多版本管理。 我用的方式没那么复杂&#xff0c;非常简单。 从下面url下载各版本的Flutter: https://flutter.dev/docs/development/tools/sdk/releases?tabmacos 按常规方式配置Flutter的环境。 将下载的Flutter包解压成文件夹后&#xff0c;都放到…

从FVM上线前的测试网统计报告中看前景,Filecoin将会迎来什么变化?

FEVM将在2023/03/14主网上线&#xff01; 在Calibration网络升级正式完成后&#xff0c;Filecoin V18 Hygge升级将于2023年3月14日&#xff08;π日&#xff09;正式上线&#xff01;此次升级将正式为Filecoin网络带来智能合约。基于FVM的可编程性。此次更新升级将释放数据经济…

fvm的管理多版本Flutter sdk

fvm简介 当多个项目使用不同的Flutter版本&#xff0c;或者Flutter发布新版本时&#xff0c;需要改变本地的Flutter版本&#xff0c;频繁的切换&#xff0c;非常消耗时间&#xff08;upgrade&#xff09;,fvm的出现很好的解决多个版本来回切换的问题&#xff0c;并且对指定指定…

SecOc之Fvm新鲜度管理模块

Fvm新鲜度管理模块&#xff1a; 字段同步计数器&#xff08;TirpCounter&#xff09;重置计数器&#xff08;ResetCounter&#xff09;消息计数器&#xff08;MessageCounter&#xff09;重置低位&#xff08;ResetFlag&#xff09;描述MASTER FVM所在ECU会通过新鲜度值同步消息…

win下使用fvm实现多个Flutter版本的切换

win下使用fvm实现多个Flutter版本的切换 配置前说明&#xff1a;Win环境下&#xff0c;下载FVM时&#xff0c;需要先配置一个Dart环境&#xff0c;因为用到 dart pub命令 配置Dart环境 a. 方式一&#xff1a;可以去Dart官网下载安装 官网地址&#xff1a;https://gekorm.com/d…

FVM in CFD 学习笔记_第7章_OpenFOAM和uFVM中的有限体积网格

学习自F. Moukalled, L. Mangani, M. Darwish所著The Finite Volume Method in Computational Fluid Dynamics - An Advanced Introduction with OpenFOAM and Matlab Chapter 7 The Finite Volume Mesh in OpenFOAM and uFVM OpenFOAM是强大高效的开源代码&#xff0c;而uFVM…

fvm操作多个flutter的安装和使用教程

win下使用fvm实现多个Flutter版本的切换 配置前说明&#xff1a;Win环境下&#xff0c;下载FVM时&#xff0c;需要先配置一个Dart环境&#xff0c;因为用到 dart pub命令 1. 配置Dart环境 a. 方式一&#xff1a;可以去Dart官网下载安装 官网地址&#xff1a;https://…

使用fvm管理多个flutter版本

安装独立的dart环境 官方安装方法&#xff1a;https://dart.dev/get-dart brew tap dart-lang/dart brew install dart更新dart版本&#xff1a; brew upgrade dart重新安装dart&#xff1a; brew reinstall dart查看当前dart版本&#xff1a; $ dart --version Dart SDK vers…

fvm管理多个Flutter版本(Win10安装记录)

文章目录 FVM官网参考1.安装2.配置FVM环境变量3.修改一下fvm文件缓存地址&#xff0c;以免以后下载的flutter sdk下载到C盘4. 默认fvm的下载地址是在C盘&#xff0c;修改fvm缓存地址5.下载安装Flutter SDK6. 将原来电脑上的SDK复制到E:\Flutter\FlutterSDK\ 下改名为版本号7.系…

Flutter FVM 版本管理

Fvm 安装 尝试方案 目前可行性的方案 中间可能失败的原因 尝试过四套博客上的方案&#xff0c;最终只有上面哪一个成功了&#xff0c;后来总结了一下那些方案的套路都是一样的&#xff0c;而且应该都是可行的&#xff08;因为其他同事都成功了&#xff09;例如&#xff1a;…

使用FVM管理Flutter SDK版本切换

window下配置fvm版本切换工具&#xff0c;管理flutter sdk版本的切换 一、配置flutter dart环境 使用前需要先配置flutter dart环境&#xff0c;才能下载jvm 已经配置好环境的&#xff0c;在命令框中输入dart --version验证是否安装成功 C:\Users\topqizhi>dart --versi…

基于FVM的应力求解

FVM&#xff1a;有限体积法&#xff0c;作为一种有限元处理方法&#xff0c;在弹性力学领域得到了广泛应用。该方法主要利用Navier-Stocks方程对多面体&#xff08;polyhedral&#xff09;网格进行空间离散。本文旨在针对线弹性材料边界应力问题进行分析。 本文主要解决单一材料…

【Flutter】macOS从零开始使用FVM搭建Flutter开发环境

前言 本文为个人记录macOS系统使用fvm从零开始搭建flutter开发环境到项目运行的过程&#xff0c;非教程性质&#xff0c;仅供参考&#xff0c;如有疑问或建议&#xff0c;欢迎大家在评论区留言 附上开发设备配置 一、安装vscode 以vscode为编码工具 下载地址&#xff1a;Do…

flutter fvm 版本控制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EjoR1x37-1626914814179)(https://ducafecat.tech/2021/07/22/translation/version-management-in-flutter/2021-07-22-08-39-22.png)] 老铁记得 转发 &#xff0c;猫哥会呈现更多 Flutter 好文~~~~ …

Flutter之fvm管理版本

对于flutter SDK版本&#xff0c;相信很多人都有深有体会&#xff0c;项目多了以后&#xff0c;可能每个项目使用的SDK都不同。 我个人的经历是&#xff1a;官方从2.12版本推出空安全版本&#xff0c;由于最初的项目用的空安全之前版本&#xff0c;老项目无法尽数适配空安全&a…

flutter版本控制工具 `FVM`

文章目录 FVM 切换VSCode 的Flutter版本在windows上安装fvm方法一&#xff1a;先安装 choco检查安装是否成功 常用指令接下来安装fvm方法二&#xff1a;pub方式安装 fvmVSCode配置安卓studio Flutter版本切换项目缓存目录列出配置 设置缓存路径配置 常用命令安装删除列出releas…