Include:Parted

出自 Alpine Linux
此材料为在建中...

在此通知移除之前,请勿遵循此处的说明。
(最后编辑:Prabuanand,于 2025 年 1 月 14 日。)

高级分区和 GPT 磁盘标签需要 parted 分区编辑器。来自 BusyBox 的默认 fdisk 是一个功能极度精简的版本。

要安装 parted,请执行命令

# apk add parted

创建分区布局

根据您的主板、BIOS 功能和配置,我们可以使用 MBR(传统 BIOS)或 GUID 分区表(GPT)中的分区表。

我们将通过示例布局来描述两者。

带有 DOS 磁盘标签的 BIOS/MBR

此材料为在建中...

在此通知移除之前,请勿遵循此处的说明。
(最后编辑:Prabuanand,于 2025 年 1 月 14 日。)

我们将使用 parted 实用程序对存储设备进行分区,以拥有一个 /boot 分区,供 Syslinux 引导加载程序使用。Syslinux 旨在与传统 BIOS 和 MSDOS MBR 分区表一起使用。在此示例中,root 分区占用所有剩余空间。可以适当地更改此设置。

Syslinux 确实支持 GPT 分区表,但 GRUB2 是 UEFI 的更好选择(UEFI 仅在使用 GPT 时才有可能)。

+---------------------------+------------------------+-----------------------+
| Partition name            | Partition purpose      | Filesystem type       |
+---------------------------+------------------------+-----------------------+
| /dev/sda1                 | Boot partition         | ext4                  |
| /dev/sda2                 | Root partition         | ext4                  |
+---------------------------+------------------------+-----------------------+
警告:这将删除现有分区表,并使您的数据非常难以恢复。如果您想双启动,请在此处停止并咨询专家。


要创建一个大约 100MB 的启动分区以从中启动,

# parted -a optimal
(parted) mklabel msdos
(parted) mkpart primary ext4 0% 100M
(parted) set 1 boot on
(parted) mkpart primary ext4 100M 100%

要查看您的分区表,请在 parted 中输入 print。您的结果应如下所示

(parted) print
Model: ATA TOSHIBA ******** (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  99.6MB  98.6MB  primary  ext4         boot
 2      99.6MB  1000GB  1000GB  primary  ext4

带有 GPT 磁盘标签的 UEFI

此材料为在建中...

在此通知移除之前,请勿遵循此处的说明。
(最后编辑:Prabuanand,于 2025 年 1 月 14 日。)

我们将使用 parted 实用程序对存储设备进行分区。挂载在 /boot/efi 的 EFI 系统分区将保持未加密状态,剩余磁盘可以加密。这意味着 GRUB2 将解密 LUKS 卷并从那里加载内核,从而防止拥有物理访问您计算机权限的人员在您的计算机未解锁时恶意地在您的启动分区中安装 rootkit(或 bootkit)。分区方案将如下所示

+---------------------------+------------------------+-----------------------+
| Partition name            | Partition purpose      | Filesystem type       |
+---------------------------+------------------------+-----------------------+
| /dev/sda1                 | EFI system partition   | fat32                 |
| /dev/sda2                 | LUKS container         | LUKS                  |
| |-> /dev/mapper/lvmcrypt  | LVM container          | LVM                   |
|  |-> /dev/vg01/root       | Root partition         | ext4                  |
|  |-> /dev/vg01/boot       | Boot partition         | ext4                  |
|  |-> /dev/vg01/swap       | Swap partition         | swap                  |
+---------------------------+------------------------+-----------------------+
警告:这将删除现有分区表,并使您的数据非常难以恢复。如果您想双启动,请在此处停止并咨询专家。


创建一个大约 200MB 的 EFI 系统分区,然后将剩余空间分配给您的 LUKS 分区。

# parted -a optimal
(parted) mklabel gpt
(parted) mkpart primary fat32 0% 200M
(parted) name 1 esp
(parted) set 1 esp on
(parted) mkpart primary ext4 200M 100%
(parted) name 2 crypto-luks

(parted) print 型号:ATA TOSHIBA ******** (scsi) 磁盘 /dev/sda:1000GB 扇区大小(逻辑/物理):512B/4096B 分区表:msdos 磁盘标志

编号 起始 结束 大小 类型 文件系统 标志

1      1049kB  99.6MB  98.6MB  primary  ext4         boot
2      99.6MB  1000GB  1000GB  primary  ext4