9 个 Linux Parted 命令示例
Parted 是一个 GNU 实用程序,用于操作硬盘分区。
使用 parted,您可以添加、删除和编辑分区以及位于这些分区上的文件系统。您还可以克隆分区。
本文解释了 9 个实用的 parted 命令示例。
1.选择要分区的硬盘
当您执行不带任何参数的 parted 命令时,默认情况下它会选择系统上可用的第一个硬盘驱动器。
在以下示例中,它自动选择 /dev/sda,因为它是该系统中的第一个硬盘驱动器。
# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
要选择不同的硬盘,请使用如下所示的选择命令。
(parted) select /dev/sdb
当找不到给定的硬盘名称时,它将抛出以下错误消息。
Error: Error opening /dev/sdb: No medium found
Retry/Cancel? y
2.使用打印显示所有分区
使用 print 命令,您可以查看所选硬盘中所有可用的分区。打印命令还显示硬盘属性,如型号、大小、扇区大小和分区表,如下所示。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 269GB 2682MB logical ext4
7 269GB 270GB 524MB logical ext4
8 270GB 366GB 96.8GB logical lvm
6 366GB 370GB 3999MB logical linux-swap(v1)
9 370GB 500GB 130GB logical ext4
3. 使用 mkpart 在选定的 HDD 中创建主分区
mkpart 命令用于创建具有 START 和 END 磁盘位置的主分区或逻辑分区。下面的示例创建大小约为 15GB 的分区。传递给 mkpart 命令的 START 和 END 点以 MB 为单位。
(parted) mkpart primary 106 16179
您还可以在分区上启用引导选项,如下所示。Linux 为主分区保留 1-4 或 1-3 分区号,扩展分区从 5 号开始。
(parted) set 1 boot on
4. 使用 mkpart 在选定的 HDD 中创建逻辑分区
使用 mkpart 命令创建一个特定大小的新分区。这将创建特定类型的分区,例如主分区、逻辑分区或扩展分区,而无需创建文件系统。
在创建分区之前,执行打印命令查看当前布局。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
使用 mkpart 创建一个大小为 127GB 的新逻辑分区,如下所示。
(parted) mkpart logical 372737 500000
执行打印命令查看新布局,如下图所示。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
9 373GB 500GB 127GB logical
(parted)
5. 使用 mkfs 在分区上创建文件系统
如果使用fdisk 命令对硬盘进行分区,则需要退出 fdisk 实用程序,并使用 mkfs 外部程序在分区上创建文件系统。
但是,使用 parted 实用程序,您还可以创建文件系统。使用 parted 的 mkfs 命令在分区上创建文件系统。执行此操作时应小心,因为分区中的所有现有数据将在文件系统创建期间丢失。parted 中支持的文件系统有 ext2、mips、fat16、fat32、linux-swap、reiserfs(如果安装了 libreiserfs)。
让我们将分区号 8 的文件系统(如下面的打印输出所示)从 ext4 更改为 ext2 文件系统。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext4
9 364GB 500GB 136GB logical ext4
如下图,使用 mkfs 命令更改分区号 8 的文件系统类型。 mkfs 命令会提示您输入分区号和文件系统类型。
(parted) mkfs
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.
Warning: The existing file system will be destroyed and all data on the
partition will be lost. Do you want to continue?
Yes/No? y
Partition number? 8
File system type? [ext2]? ext2
再次执行打印命令,确认分区号 8 的文件系统类型已更改为 ex2。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
9 364GB 500GB 136GB logical ext4
(parted)
6. 使用 mkpartfs 一起创建分区和文件系统
使用 mkpartfs parted 命令,您还可以创建具有特定文件系统的分区。这类似于 mkpart,但具有在分区上创建文件系统的附加功能。
mkpartfs 之前是分区的布局。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical
在以下示例中,mkpartfs 将创建一个大小为 127GB 的新 fat32 分区。
(parted) mkpartfs logical fat32 372737 500000
WARNING: you are attempting to use parted to operate on (mkpartfs) 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.
如下所示,分区号 9 已成功创建。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical
9 373GB 500GB 127GB logical fat32 lba
(parted)
7. 使用 resize 将分区从一种大小调整为另一种大小
使用 resize parted 命令,您可以增加或减少分区的分区大小,如下例所示。
(parted) resize 9
WARNING: you are attempting to use parted to operate on (resize) 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.
Start? [373GB]? 373GB
End? [500GB]? 450GB
如上所示,当您尝试做一些危险的事情时(即:rm、resize、mkfs),parted 命令总是会发出警告。
分区 9 的大小实际上从 127GB 减少到了 77GB。使用如下所示的打印命令验证分区的大小是否正确调整。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical
9 373GB 450GB 77.3GB logical fat32 lba
Parted 允许您为命令键入明确的缩写,例如用于打印的“p”、用于选择的“sel”等。
8. 使用 cp 将数据从一个分区复制到另一个分区
可以使用 cp 命令将一个分区中的全部数据复制到另一个分区。您还应该记住,目标的内容将在复制开始之前被删除。确保目标分区有足够的大小来保存来自源分区的数据。
使用“p”命令(打印)显示当前分区布局。
(parted) p
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
9 373GB 450GB 77.3GB logical fat32 lba
10 461GB 500GB 39.2GB logical ext2
建议在进行复制之前卸载源分区和目标分区。在本例中,我们要将内容从分区 8 复制到分区 10。
下面是复制前对应分区的内容。
# mount /dev/sda8 /mnt
# cd /mnt
# ls -l
total 52
-rw-r--r-- 1 root root 0 2011-09-26 22:52 part8
-rw-r--r-- 1 root root 20 2011-09-26 22:52 test.txt
# umount /mnt
# mount /dev/sda10 /mnt
# cd /mnt
# ls -l
total 48
-rw-r--r-- 1 root root 0 2011-09-26 22:52 part10
使用 parted cp 命令将分区 8 复制到分区 10,如下所示。
(parted) cp 8 10
WARNING: you are attempting to use parted to operate on (cp) 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.
growing file system... 95% (time left 00:38)error: block relocator should have relocated 517
下面是复制后分区10的内容。如下所示,分区 8 的内容被复制(覆盖)到分区 10。
# mount /dev/sda10 /mnt
# cd /mnt
# ls -l
total 52
-rw-r--r-- 1 root root 0 2011-09-26 22:52 part8
-rw-r--r-- 1 root root 20 2011-09-26 22:52 test.txt
注意:当你跨不同文件系统的分区(例如 src : ext2 和 dst : ext4)进行复制时,目标分区的文件系统实际上会转换为源分区的文件系统(即:ext2)。
9. 使用 rm 从选定的硬盘中删除分区
要删除不需要或未使用的分区,请使用 parted rm 命令并指定分区号,如下所示。
(parted) rm
Partition number? 9
(parted)
在上面的 rm 命令之后,删除了 9 号分区,打印命令会显示 /dev/sda 磁盘中的可用分区列表,如下图所示。
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 23GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
- 点赞
- 收藏
- 关注作者
评论(0)