我想在我的 Ubuntu 12.04 服务器安装程序预置文件中写入 partman 配方来对我的磁盘进行分区。我希望它创建以下分区:
- 用于支持 GPT 类型分区表的 BIOS 启动区域,32MB
- 根文件系统,ext4,30 GB
- /data,ext4,剩余空间
- 交换,24 GB(3*RAM)
前三个分区已创建,最后一个分区未创建,交换空间也错误。我在 4TB 驱动器上看到以下信息:
- 用于支持 GPT 类型分区表的 BIOS 启动区域,32MB
- 根文件系统,ext4,30 GB
- 一个 100 GB 的分区,类型为 0700,“Microsoft 基本数据”
- 交换,23GB
我的问题是:
- 为什么分区3的类型是错误的?
- 为什么分区 3 没有填满驱动器的其余部分?
这是我现在的食谱:
d-i partman-auto/expert_recipe string \
boot-root :: \
32 32 32 free \
$gptonly{ } \
$primary{ } \
$bios_boot{ } \
method{ biosgrub } \
. \
500 10000 30720 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
500 10000 -1 ext4 \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /data } \
. \
64 10000 24576 linux-swap \
method{ swap } format{ } \
. \
我曾尝试重新排序配方中的分区,但没有成功。
答案1
问题是,分区是按照您拥有它们的顺序创建的。您的数据分区使用了剩余的全部空间。
解决方案是将交换部分移至数据分区上方。我还将主标签添加到交换部分。您最多可以有 4 个主分区。
d-i partman-auto/expert_recipe string \
boot-root :: \
32 32 32 free \
$gptonly{ } \
$primary{ } \
$bios_boot{ } \
method{ biosgrub } \
. \
500 10000 30720 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
64 10000 24576 linux-swap \
$primary{ } \
method{ swap } format{ } \
. \
500 10000 -1 ext4 \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /data } \
. \