partprobe 与 partx 的详细比较

partprobepartx 的详细比较

partprobepartx 都是 Linux 系统中用于告知内核分区表变更的工具,但它们的使用场景、功能和行为存在差异。以下是这两者的详细比较。

1. 作用

  • partprobe

    • partprobe 用于通知内核分区表已更改。
    • 它是 GNU parted 软件包的一部分,通过扫描磁盘来确保内核更新其内部的分区表,使分区变更生效(如新增、删除、调整分区大小等)。
    • 使用场景 :当你对磁盘分区进行修改后(如使用 fdiskparted 工具),可以使用 partprobe 使这些更改立即生效,而无需重启系统。
  • partx

    • partx 属于 util-linux 软件包,用于在内核中添加、删除或列出分区,但它并不会直接修改磁盘上的分区表。
    • 它既可以作用于块设备 ,也可以作用于分区表文件
    • 使用场景:在不修改磁盘分区表的前提下,管理内核中的分区信息(如新增分区、删除分区或列出分区)。

2. 常用命令

  • partprobe

    • 重新读取磁盘的分区表:

      bash 复制代码
      sudo partprobe /dev/sdX

      这会让内核重新读取指定设备(如 /dev/sda)的分区表。

  • partx

    • 列出分区

      bash 复制代码
      sudo partx --show /dev/sdX

      列出指定设备上的所有分区。

    • 将分区添加到内核

      bash 复制代码
      sudo partx --add /dev/sdX

      将磁盘上的分区添加到内核的分区表中,但不会修改磁盘上的实际分区表。

    • 从内核中删除分区

      bash 复制代码
      sudo partx --delete /dev/sdX

      从内核的分区表中删除指定分区,而不影响磁盘上的分区数据。

    • 处理分区表文件 : 你还可以使用 partx 从分区表文件(如磁盘镜像)中读取分区信息:

      bash 复制代码
      sudo partx --show /path/to/disk-image.img

3. 行为差异

  • partprobe

    • partprobe 直接触发内核重新扫描磁盘的分区表。如果分区表已经被修改(例如使用 fdiskparted),partprobe 会强制内核更新其分区信息。
    • 限制:如果某些分区正在被使用(如已挂载),内核可能无法更新分区表,此时可能需要重启系统才能使更改生效。
  • partx

    • partx 仅在内核层面操作,并不会修改磁盘上的分区表。它只管理内核对分区的视图。
    • partx 尤其适合在无需修改磁盘分区表的情况下动态地在内核中添加或删除分区。

4. 主要区别

功能 partprobe partx
所属软件包 parted 软件包的一部分 util-linux 软件包的一部分
主要用途 重新读取磁盘上的分区表并通知内核 管理内核中的分区信息(添加、删除、列出)
是否修改磁盘上的分区表? 否(仅通知内核) 否(只修改内核的分区视图)
支持分区表文件操作?
可以在内核中添加/删除分区?
典型使用场景 在修改分区后使内核更新分区表 列出、添加或删除内核中的分区,而不影响磁盘

5. 什么时候使用哪一个?

  • 使用 partprobe :当你对磁盘分区进行物理修改后(如通过 fdiskparted 添加、删除或调整分区),想让内核立即生效时使用 partprobe,而不需要重启系统。

  • 使用 partx :当你需要在内核中管理分区(如动态添加或删除分区),但不希望修改实际的磁盘分区表时使用 partx。它也适用于处理分区表文件(如磁盘镜像)。

总结

  • partprobe 是用于重新通知内核,磁盘上的分区表已被更改,让内核同步更新分区信息。
  • partx 是用于在不修改磁盘分区表的情况下,列出、添加或删除内核中的分区。

partprobe 更适合在你实际修改磁盘分区表后使用,而 partx 则适合在需要对内核中的分区表进行动态管理时使用。

相关推荐
安审若无1 小时前
图数据库neoj4安装部署使用
linux·运维·数据库
做运维的阿瑞2 小时前
CentOS DNS故障排查完整解决方案:从症状到根因的系统化诊断
linux·运维·centos
QT 小鲜肉3 小时前
【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
linux·开发语言·笔记·单片机·压力测试
itachi-uchiha3 小时前
head和tail命令使用
linux·运维·服务器
馨谙3 小时前
SELinux 故障排除完全指南:从拒绝访问到快速修复
linux
凤凰战士芭比Q3 小时前
LNMP环境部署 KodBox私有云盘
linux·架构
南棱笑笑生4 小时前
20251106给荣品RD-RK3588-MID开发板跑Rockchip的原厂Android13系统时禁止锁屏+永不休眠
linux·运维·服务器·rockchip
赖small强4 小时前
Linux 优先级反转问题详解与处理方案
linux·优先级反转·优先级继承·缩短临界区
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [kernel][time]timekeeping
linux·笔记·学习
yuanManGan5 小时前
走进Linux的世界:冯诺依曼体系结构
linux