我正在尝试使用以下分区方案设置预安装(Ubuntu 12.04.03 64 位),但它不起作用,而且我不确定原因。
请你帮帮我吧,欧比旺,你是我唯一的希望。
尺寸-1
最初是 1000000000,所以我尝试更改为,-1
但没有什么区别。
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/method string raid
d-i partman-auto-lvm/new_vg_name string vg_sys
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/choose_recipe select raid-lvm
d-i partman-auto/expert_recipe string \
raid-lvm :: \
512 10 512 raid \
$primary{ } $lvmignore{ } $bootable{ } \
method{ raid } \
. \
8192 20 -1 raid \
$primary{ } $lvmignore{ } \
method{ raid } \
. \
1024 100 1024 ext4 \
$defaultignore $lvmok{ } lv_name{ root } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
4096 100 4096 linux-swap \
$defaultignore $lvmok{ } lv_name{ swap } \
method{ swap } format{ } \
. \
1024 100 2048 ext4 \
$defaultignore $lvmok{ } lv_name{ tmp } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /tmp } \
. \
4096 100 8192 ext4 \
$defaultignore $lvmok{ } lv_name{ var } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /var } \
. \
2048 100 4096 ext4 \
$defaultignore $lvmok{ } lv_name{ usr } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /usr } \
. \
2048 110 16384 ext4 \
$defaultignore $lvmok{ } lv_name{ home } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /home } \
. \
512 1000 -1 ext4 \
$defaultignore $lvmok{ } lv_name{ deleteme } \
method{ lvm } \
.
d-i partman-auto-raid/recipe string \
1 2 0 ext4 /boot /dev/sda1#/dev/sdb1 . \
1 2 0 lvm - /dev/sda2#/dev/sdb2 .
# the 'deleteme' LV soaks up the leftover space in the VG
d-i preseed/late_command string in-target lvremove -f vg_sys/deleteme
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-lvm/confirm boolean true
d-i partman-md/confirm boolean true
d-i partman-md/confirm_nooverwrite boolean true
d-i partman/mount_style select label
d-i mdadm/boot_degraded boolean false
这是我收到的错误:
磁盘是双 50GiB(准确地说是 53,687,091,200 字节)。
答案1
我认为你的错误在这里:
d-i partman-auto/choose_recipe select raid-lvm
d-i partman-auto/expert_recipe string \
raid-lvm :: \
当您要使用工厂预定义的配方时,请使用 partman-auto/choose_recipe。如果您不打算使用,请使用 partman-auto/expert_recipe 制定您自己的配方,指定 multiraid,而不是 raid-lvm。
你的配置文件应该是
d-i partman-auto/expert_recipe string \
multiraid :: \
答案2
我最终来到这里是因为我遇到了完全相同的错误:
Error: No recipe specified in partman-auto-raid/recipe
随着:
Available disk space (XXX) too small for expert recipe (2200008705)
以下是我的 BAD 预置文件的相关内容:
d-i partman-auto/method string raid
d-i partman-auto/disk string /dev/sda /dev/sdb
d-i partman-auto/expert_recipe string \
multiraid :: \
1 1 1 free \
$gptonly{ } \
$primary{ } \
$bios_boot{ } \
method{ biosgrub } \
. \
4096 1000 4096 linux-swap \
$gptonly{ } \
$primary{ } \
method{ swap } format{ } \
. \
141101 1000 141901 raid \
$gptonly{ } \
$primary{ } \
method{ raid } format{ } \
. \
1 2000 -1 ext4 \
$gptonly{ } \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
. \
# Last you need to specify how the previously defined partitions will be
# used in the RAID setup. Remember to use the correct partition numbers
# for logical partitions. RAID levels 0, 1, 5, 6 and 10 are supported;
# devices are separated using "#".
# Parameters are:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
# <devices> <sparedevices>
d-i partman-auto-raid/recipe string 1 2 0 ext4 / /dev/sda2#/dev/sdb2 .
令人恼火的是,我在专家菜谱的最后一行末尾留下了一个反斜杠。应该是这样的:
1 2000 -1 ext4 \
$gptonly{ } \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
.
希望这对某人有帮助!
答案3
您没有提到您使用的是 32 位还是 64 位发行版,但我认为错误中报告的数字非常奇怪,“2200008705”。这是从哪里来的?好吧,取该数字并减去 32 位无符号整数的最大值(2147483647),您会得到 52,525,058,这看起来非常像您的 50GB 磁盘的确切大小,不是吗?
查看 partman-auto-recipe.txt 的第 5 节,该节是关于对要填充所有可用空间的任何分区使用非常大的尺寸,它说:
Do not use higher than 1000000000 numbers because the shell arithmetic
is limited to 31 bits (on i386).
在您的问题中,您说在将值设置为 -1 之前,它们被设置为 10000000000,与他们的最大值建议相比,这多了一个位置/零。也许您在某个地方溢出了某个值,这就是为什么在将其更改为 -1 之前您的配方最初不起作用的原因?
答案4
嗯,你遇到的第一个错误似乎是你的 RAID 配置不正确,因为我读到的是:“配置文件中未找到阵列”
我猜你的突袭配置有问题。
也许您可以在该线程上举例:http://ubuntuforums.org/showthread.php?t=1879350