无需重启 Linux 系统即可重新读取分区表
如果您使用的是热插拔硬盘并使用 fdisk 创建了新分区,则需要重新启动基于 Linux 的系统才能识别该分区。如果不重新启动,您将无法使用 mke2fs 命令在新创建或修改的分区上创建文件系统。这是因为 Linux 内核仍然使用旧的分区表。新表将在下次重新启动时或运行 partprobe 或 kpartx 命令后使用。这些程序通过请求操作系统重新读取分区表来通知操作系统内核分区表的更改。
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 是的 |
要求 | Linux 终端 |
类别 | 磁盘管理 |
操作系统兼容性 | Alma • Alpine • Amazon Linux • Arch • CentOS • Debian • Fedora • Linux • Mint • openSUSE • Pop!_OS • RHEL • Rocky • Stream • SUSE • Ubuntu |
预计阅读时间 | 3 分钟 |
关于查找 Linux 磁盘名称和分区的提示
想要找出 Linux 下的分区名称或磁盘名称?尝试使用df 命令/mount 命令列出已挂载的磁盘及其挂载点:
您也可以使用 df 或df 命令检查Linux 磁盘空间使用情况。
$ lsblk
$ sudo fdisk -l
$ df | more
$ mount | less
$ mount | grep '/backup'
无需重启 Linux 系统即可重新读取分区表
您将在屏幕上看到如下错误或警告:
重新读取分区表失败。:设备或资源繁忙
示例会话:
fdisk 命令实际运行
# partprobe
或确保将 /dev/sdX 或 /dev/hdX 替换为实际设备/驱动器名称。现在,您将能够使用mke2fs 命令
# partprobe /dev/sdX
在新分区上创建文件系统。
默认情况下,您的系统上可能未安装partprobe命令。因此,请使用Alpine Linux 上的apk 命令、 RHEL 等上的dnf 命令/ yum 命令、Debian、Ubuntu 等上的apt 命令/ apt-get 命令、SUSE/OpenSUSE 上的 zypper 命令、Arch Linux 上的 pacman 命令来安装partprobe。
通知操作系统分区表发生变化
partprobe 命令是 GNU parted 软件的一部分。parted 是一个磁盘分区和分区大小调整程序。它允许您创建、销毁、调整大小、移动和复制 ext2、ext3/ext4、xfs、linux-swap、FAT、FAT32 和 ReiserFS 分区。此外,它还可以创建、调整大小和移动 Macintosh HFS 分区,以及检测 jfs、ntfs、ufs 和 xfs 分区。它有助于为新操作系统创建空间,使用df 命令重新组织磁盘使用情况,并将数据复制到新硬盘。
在你的 Linux 机器上安装 parted pakcage
要使用 partprobe 命令安装 parted。输入apt-get 命令/ apt 命令,使用 Debian / Ubuntu Linux 时,请输入:
$ sudo apt-get install parted
RHEL 用户,版本 <= 4,请输入以下up2date 命令:
# up2date parted
您使用的是 CentOS / RHEL 5/6 吗?尝试yum 命令:
# yum install parted
Fedora Linux 和最新版本的 CentOS / CentOS Stream、RokcyLinux / AlmaLinux 用户,请尝试 dnf 命令:
$ sudo dnf install parted
现在,您可以使用 partprobe 命令,如下所示:
# partprobe
在 Linux 上安装 kpartx
kpartx 工具源自 util-linux 的 partx tarball。它读取指定设备上的分区表并在检测到的分区段上创建设备映射。它在创建和删除设备映射时从热插拔调用。要使用 kpartx 命令安装 kpartx。如果您使用的是 Debian / Ubuntu Linux,请输入:
$ sudo apt install kpartx
要使用 kpartx,请键入:
# kpartx -u /dev/sdd2
选项-u更新分区。可以列出将由添加的分区映射-a,运行:
# kpartx -a /dev/sdd2
总结
使用 man 命令/help 命令阅读手册页。例如:您可以使用grep 命令或egrep 命令
在 CLI 中过滤选项,如下所示:输出:
$ man 8 kpartx
$ man 8 partprobe
$ partprobe -h | grep -w -E -- '-(d|s)'
-d, --dry-run do not actually inform the operating system -s, --summary print a summary of contents
参见:
- 请参阅官方 GNU/parted 主页以获取下载和其他信息。