Linux centos stream9 parted

在Linux中,常用的磁盘管理工具包括 fdisk、parted、gdisk 等。它们可以用于创建、删除、调整分区、查看分区表等操作。

传统的MBR分区表(即主引导记录)大家都很熟悉,是过去我们使用windows时常见的。所支持的最大卷2T,且对分区有限制:最多4个主分区或3个主分区加1个扩展分区。

GPT(GUID Partition Table,全局唯一标识分区表)是一种较新的分区方式,它兼容MBR,能够处理超过2TB的磁盘。另外,GPT突破了MBR只有4个主分区的限制,最多可以有128个主分区,每个分区的容量也可以超过2TB。

GPT分区可以使用parted命令实现。parted命令是GNU开发的一款功能强大的磁盘管理工具,既可以管理MBR分区,也可以管理GPT分区,但通常用来管理GPT分区。

parted是一种支持多种文件系统的磁盘分区工具,它可以用于创建、删除、移动、调整分区大小等操作。parted 命令可以使用交互式、命令行方式或脚本方式进行操作。

关于fdisk及gdisk分区,可参考文章Linux CentOS7 fdisk。本文重点讨论parted工具的运用。

一、parted使用方

parted 命令分为两种模式:命令行模式和交互模式。

1.命令行模式

        parted [option] device [command] ,该模式可以直接在命令行下对磁盘进行分区操作,比较适合编程应用。如:

        # parted /dev/sdb print –显示磁盘/dev/sdb分区。

2.交互模式

        parted [option] device  parted  /dev/sdb

进入交互模式,建议使用交互模式,尤其是对parted命令不是很熟悉的情况下。

二、parted语法结构

        parted [选项]… [设备 [命令 [参数]…]…]

        选项        描述

        -h --help         显示求助信息

        -l --list         列出所有设备的分区信息

        -i --interactive         在必要时,提示用户

        -s --script         从不提示用户

        -v --version        显示版本

三、操作命令解释

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 [devices|free|list,all|NUMBER] 显示分区表、活动设备、空闲空间、所有分区

quit    退出

rescue START END    修复丢失的分区

resize NUMBER START END     改分区大小

rm NUMBER    删除分区

select DEVICE   选择需要编辑的设备

set NUMBER FLAG STATE     改变分区标记

toggle [NUMBER [FLAG]]     换分区表的状态

unit UNIT        设置默认的单位

Version     显示版本

四、常用操作

1.选择分区类型

        格式  mklabel 分区类型

分区类型主要有:

        aix  amiga  atari  bsd  dvh  gpt  loop  mac  msdos  pc98  sun

2.查看分区信息

        格式  print

3.创建分区

        格式  mkpart 分区名称 起始点 结束点

起始点 结束点:可以为0  % 或者numberMiB/GiB/TiB

如1 默认为1M  0%起始点  100%结束点

4.删除分区

        格式  rm 分区编号

五、操作技巧

1.简写

在使用gpt分区管理时,可以使用简写命令:

如(此版本命令执行时忽略大小写):

打印分区表print 可以简写p

退出quit 可以简写q

设置新卷标mklabel 可以简写为mkl(改变卷标会删除原分区信息,并显示提示信息

创建分区 mkpart 可以简写mkp

寻求帮助help 可以简写h

需要选择时,可以只录入首字符,如需要选择忽略(Ignore)时录入i

2.命令补全

在录入命令时,支持Tab键补全

当对某一命令不熟悉时,可以录入help寻求帮助,如下:(如果命令录入错误,也会出现如此说明,提醒正确录入或选择)

在正式分区前,需要设置卷标类型,录入mkl

回车确认后,提示录入卷标类型。如不清楚,可以按两次Tab键

如果想设置为dos类型,可以直接录入mkl msdos

如设置后更改类型,可以再次执行mkl命令。出现提示后选择确认。

选择MBR分区类型,就需要指定分区类型。然后再指定文件系统

3.分区节点

设置起始点很重要,一般设置有问题时会有提示。简单地说,以设置0%为好,或设置为1。中间分区的起始点,可按上一分区的结束点设置,以*%方式为佳。

结束点可以设置为*M *G,或*%。最后设置为100%

前后分区的起始点与结束点可以相互参照。

可以执行print free命令,查看还有多少自由空间。

六、案例

1.命令行方式

用parted命令对一块20G磁盘进行msdos分区,每个分区约2G,共10个分区

a.先设置卷标类型

        parted /dev/sdb mkl msdos

b.开始从1M处分区,共2G

        parted /dev/sdb mkp p 1 2G

其中p是主分区的标志(e 是扩展分区l是逻辑分区)

查看分区情况

        parted /dev/sdb p

c.按向上光标键,可以调出前一个命令(可作适当修改,再执行)

        parted /dev/sdb mkp p 2G 4G

        parted /dev/sdb mkp p 4G 6G

d.创建扩展分区

因为MBR分区,只能有四个主分区,或者三个主分区,一个扩展分区(再分为多个逻辑分区)

        parted /dev/sdb mkp e 6G 100%

其中e 代表创建扩展分区,而100%代表为所有空间结束点

e.创建逻辑分区

        parted /dev/sdb mkp l 6G 8G

其中l 代表创建逻辑分区,从6G处开始,到8G处结束

f.设置执行命令后不作提示

从上图及前面多个截图,可以看到信息提示,我们都进行了忽略。能不能不让提示出现?可以在parted命令后加一选项-s

        parted -s /dev/sdb mkp l 8G 10G

g.多次分区,完成全部

从上方截图可知,加上-s选项,执行命令后不再出现提示!

2.分区类型转换

更改分区类型及重新分区(共2个分区,每个分区各占50%)

原先用MBR分区,现准备用GPT分区,可以直接执行parted命令先删除原分区,再重新分区

与fdisk分区一样,parted也只能一次删除一个分区,不支持批量删除多个分区!!

a.提前备份数据

b.查看磁盘分区信息

        parted -l

(即使指定某一磁盘,仍然查询的是所有磁盘分区信息)

        parted /dev/sdb  p

查看指定磁盘分区

c.删除原分区

利用for循环可以快速删除/dev/sdb所有分区

        for i in {1..11};do parted /dev/sdb rm $i;done

如果不想出现提示信息,可在parted命令后添加选项-s。

查看删除后的信息,达到目的。

d.更改分区类型

从查看磁盘信息,可知原来是MBR分区,现更改为GPT。

        parted  -s /dev/sdb mkl gpt

更改分区类型一定会有提示,不希望出现,就加-s

e.创建分区

        parted -s /dev/sdb mkp li1 0% 50%

        parted -s /dev/sdb mkp li2 50% 100%

        parted /dev/sdb p

小结

parted的操作都是实时的,也就是说执行了一个分区的命令,就实实在在地分区了,而不是像fdisk那样,需要执行w命令写入所做的修改,所以进入parted的测试千万注意不能在生产环境中!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-16 19:20:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-16 19:20:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-16 19:20:01       82 阅读
  4. Python语言-面向对象

    2024-01-16 19:20:01       91 阅读

热门阅读

  1. Linux软连接

    2024-01-16 19:20:01       50 阅读
  2. shardingsphere 出现 Cannot support database type ‘MySQL‘

    2024-01-16 19:20:01       55 阅读
  3. 构建 aarch64 以及 riscv64 交叉编译工具链(裸机)

    2024-01-16 19:20:01       53 阅读
  4. Python中loguru的配置和使用

    2024-01-16 19:20:01       52 阅读
  5. [HarmonyOS]第一课:运行HelloWorld

    2024-01-16 19:20:01       54 阅读
  6. 《设计模式的艺术》笔记 - 建造者模式

    2024-01-16 19:20:01       39 阅读
  7. GBASE南大通用ExecuteScalar 方法

    2024-01-16 19:20:01       61 阅读
  8. 聊聊PowerJob的QueryConvertUtils

    2024-01-16 19:20:01       47 阅读
  9. liunx常用命令

    2024-01-16 19:20:01       47 阅读
  10. fs 模块

    2024-01-16 19:20:01       49 阅读
  11. 重装系统备份及初始化笔记

    2024-01-16 19:20:01       56 阅读
  12. RSA非对称加密

    2024-01-16 19:20:01       48 阅读