parted mkpart命令创建分区

使用 parted mkpart 命令创建使用剩余空间的分区,这意味着你磁盘上已经存在一些分区,而你想利用剩下的未分配空间创建一个新的分区。

准备工作

  • 确认磁盘设备名: 使用 lsblkfdisk -l 命令查看你需要操作的磁盘设备名(例如 /dev/sda/dev/sdb)。
  • Root 权限: 所有 parted 命令都需要 root 或 sudo 权限。

基本步骤

  1. 启动 parted

    1
    sudo parted /dev/sda  # 将/dev/sda为你的磁盘设备名
  2. 查看当前分区信息:

    (parted) 提示符下,输入 print 命令。这将显示当前磁盘的分区布局,包括每个分区的起始和结束位置。这是至关重要的一步,因为你需要根据输出来确定可用空间的起始位置。

    (parted) print
    
  3. 使用 mkpart 创建分区:

    mkpart 命令的语法如下:

    mkpart <类型> <文件系统类型> <起始位置> <结束位置>
    
    • <类型>
      • MBR (msdos): primary (主分区)、extended (扩展分区)、logical (逻辑分区)。MBR 最多支持 4 个主分区,或 3 个主分区 + 1 个扩展分区(扩展分区可以包含多个逻辑分区)。
      • GPT: 通常使用 primary。GPT 没有 MBR 的限制,支持更多分区和更大的磁盘。
    • <文件系统类型>:这是一个可选参数,仅用于设置分区类型标志,不会实际格式化分区。你可以随意填写,例如 ext4fat32linux-swap。稍后你需要使用 mkfs 命令来格式化分区。
    • <起始位置>:新分区的起始位置。这是关键!你需要根据 print 命令的输出来确定。通常是上一个分区的结束位置。可以使用 MB、GB 或百分比表示。
    • <结束位置>:新分区的结束位置。要使用所有剩余空间,可以使用 -1100%
  4. 退出 parted

    输入 quit 退出 parted

    (parted) quit
    
  5. 格式化新分区:

    使用 mkfs 命令格式化新分区。

    1
    sudo mkfs.ext4 /dev/sdaX  # 将 /dev/sdaX 替换为新分区的设备名,例如 /dev/sda3 或 /dev/sda5

示例

示例 1:GPT 分区表,使用所有剩余空间

假设 /dev/sda 上有一个 500GB 的分区,磁盘总大小为 1TB。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sudo parted /dev/sda
(parted) print
Model: ATA ST1000DM010-2EP1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 1049kB 500GB 500GB ext4

(parted) mkpart primary ext4 500GB 100% # 使用剩余的所有空间 (500GB 到 1000GB)
(parted) print
Number Start End Size File system Name Flags
1 1049kB 500GB 500GB ext4
2 500GB 1000GB 500GB ext4

(parted) quit
sudo mkfs.ext4 /dev/sda2

示例 2:MBR 分区表,指定大小

假设 /dev/sdb 上有一个 300GB 的主分区,磁盘总大小为 500GB。我们想创建一个 100GB 的逻辑分区。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sudo parted /dev/sdb
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 300GB 300GB primary ext4

(parted) mkpart extended 300GB 500GB # 首先创建扩展分区,占用剩余空间
(parted) mkpart logical ext4 300GB 400GB # 在扩展分区中创建 100GB 的逻辑分区
(parted) print
Number Start End Size Type File system Flags
1 1049kB 300GB 300GB primary ext4
2 300GB 500GB 200GB extended
5 300GB 400GB 100GB logical

(parted) quit
sudo mkfs.ext4 /dev/sdb5

关键点总结

  • print 命令是关键: 务必使用 print 命令查看当前分区布局,以确定剩余空间的起始位置。
  • MBR 与 GPT 的区别: 理解 MBR 和 GPT 的分区限制非常重要。GPT 更为现代,推荐在新磁盘上使用。
  • 格式化: mkpart 只创建分区,不格式化。使用 mkfs 命令格式化。
  • 挂载: 格式化后,你需要挂载分区才能使用它。
  • 备份: 在进行任何分区操作之前,请务必备份重要数据!