partman 如何在 Debian 安装程序预置文件中对多个磁盘进行分区?

partman 如何在 Debian 安装程序预置文件中对多个磁盘进行分区?

将 partman 分区设为单个磁盘非常简单:

d-i partman-auto/disk string /dev/xvda
d-i partman-auto/method string regular
d-i partman-auto/expert_recipe string \
      boot-swap :: \
        2048 2048 -1 ext3 \
           $primary{ } \
           $bootable{ } \
           method{ format } \
           format{ } \
           use_filesystem{ } \
           filesystem{ ext3 } \
           mountpoint{ / } \
           device{ /dev/xvda } \
           . \

或者更简单:

d-i partman-auto/disk string xvda
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic

但是,如果磁盘不止一个,我找到或编写的所有方法都不起作用。安装程序进入要求分区方法的屏幕,然后就停在那里。我以为我已经在这里回答了这个问题:

# The presently available methods are:
# - regular: use the usual partition types for your architecture
# - lvm:     use LVM to partition the disk
# - crypto:  use LVM within an encrypted partition
d-i partman-auto/method string regular

即使这确实回答了问题,但实际上它停留在下一步,即选择磁盘,这不就是答案吗?

d-i partman-auto/disk string /dev/xvda

我的目标是最终得到三个磁盘:根目录位于 /dev/xvda,包括 /home、/usr 和其余部分;额外的交换卷位于 /dev/xvdb;EXT3 卷位于 /dev/xvdc,安装在 /var/build 上。更复杂的是,/var/build 在安装时不存在,因此也需要以某种方式创建。这是在 Debian Squeeze 上。

答案1

我还没有尝试过这个,但是我为 Etch 做了什么应该仍能工作。未经测试:

d-i preseed/late_command string echo ';' | sfdisk /dev/xvdb ; mkswap /dev/xvdb1 ;
    echo '/dev/sdb1 none swap sw 0 0' >> /target/etc/fstab ;
    echo ';' | sfdisk /dev/xvdb ; mke2fs -j -q /dev/xvdb1 ;
    mkdir /target/var/build ;
    echo '/dev/xvdb1 /var/build ext3 defaults 0 2' >> /target/etc/fstab

我必须找到找到这个sfdisk技巧的参考资料——它基本上清除了磁盘的分区表并创建了一个巨大的分区。

相关内容