Linux parted 命令实战示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用强大的 parted 命令来管理 Linux 中的磁盘分区。实验内容涵盖理解 parted 命令、创建和管理分区,以及调整或删除现有分区。你将在一个虚拟磁盘镜像文件上练习这些任务,确保在一个安全且受控的环境中学习。实验提供了逐步指导,包括示例和解释,帮助你熟练掌握 parted 命令,以满足磁盘和文件系统管理的需求。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/SystemInformationandMonitoringGroup -.-> linux/dd("File Converting/Copying") subgraph Lab Skills linux/rm -.-> lab-422850{{"Linux parted 命令实战示例"}} linux/dd -.-> lab-422850{{"Linux parted 命令实战示例"}} end

理解 parted 命令

在这一步中,你将学习 parted 命令,这是一个用于管理 Linux 磁盘分区的强大工具。parted 命令允许你在存储设备上创建、调整大小和删除分区。

首先,让我们检查 Ubuntu 22.04 Docker 容器中安装的 parted 版本:

sudo parted --version

示例输出:

parted (GNU parted) 3.4
Copyright (C) 2023 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

parted 命令提供了多个子命令,允许你管理磁盘分区。一些常用的子命令包括:

  • print:显示设备的分区表。
  • unit:设置默认使用的单位。
  • mkpart:创建一个新分区。
  • rm:删除一个分区。
  • resizepart:调整分区大小。
  • rescue:尝试恢复丢失的分区。

要获取有关 parted 命令及其可用子命令的更多信息,可以使用内置的帮助功能:

sudo parted --help

这将显示所有可用 parted 子命令及其用法的详细列表。

使用 parted 创建和管理分区

在这一步中,你将学习如何使用 parted 命令在存储设备上创建和管理分区。

首先,让我们创建一个新的虚拟磁盘镜像文件,用于分区练习:

sudo dd if=/dev/zero of=~/project/disk.img bs=1M count=1024

这将在 ~/project 目录下创建一个名为 disk.img 的 1GB 磁盘镜像文件。

现在,让我们启动 parted 交互式 shell 并操作新创建的磁盘镜像:

sudo parted ~/project/disk.img

你应该会看到 parted 提示符:

(parted)

要创建一个新分区,我们可以使用 mkpart 命令。让我们创建一个占用整个磁盘的主分区:

(parted) mkpart primary 0% 100%

这将创建一个跨越整个磁盘的单一主分区。

要验证分区表,我们可以使用 print 命令:

(parted) print
Model: (file) ~/project/disk.img
Disk /home/labex/project/disk.img: 1024MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      0.00GB  1.00GB  1.00GB  primary

(parted) quit

输出显示我们已成功在磁盘镜像上创建了一个单一主分区。

使用 parted 调整和删除分区

在这一步中,你将学习如何使用 parted 命令调整和删除分区。

首先,让我们启动 parted 交互式 shell 并操作我们在上一步中创建的磁盘镜像:

sudo parted ~/project/disk.img

要调整现有分区的大小,我们可以使用 resizepart 命令。让我们将分区大小调整为 512MB:

(parted) resizepart 1 512MB

这将把第一个(也是唯一的)分区大小调整为 512MB。

要验证更改,我们可以再次使用 print 命令:

(parted) print
Model: (file) ~/project/disk.img
Disk /home/labex/project/disk.img: 1024MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      0.00GB  0.50GB  0.50GB  primary

(parted) quit

现在,让我们使用 rm 命令删除分区:

sudo parted ~/project/disk.img
(parted) print
(parted) rm 1
(parted) print
Model: (file) ~/project/disk.img
Disk /home/labex/project/disk.img: 1024MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End  Size  Type  File system  Flags

(parted) quit

输出显示分区已成功删除。

总结

在本实验中,你首先学习了 parted 命令,这是一个用于管理 Linux 磁盘分区的强大工具。你探索了 parted 中可用的各种子命令,例如 printunitmkpartrmresizepartrescue,这些命令允许你在存储设备上创建、调整大小和删除分区。你还学习了如何检查系统上安装的 parted 版本,以及如何访问内置帮助以获取有关命令及其用法的更多信息。

接下来,你创建了一个新的虚拟磁盘镜像文件,可以用于分区练习。然后,你学习了如何使用 parted 命令在此存储设备上创建和管理分区,包括根据需要调整和删除分区。

Linux 命令速查表