web-dev-qa-db-ja.com

Ubuntu 14.04のキックスタート:ks.cfgから「EFIブートパーティション」を作成するにはどうすればよいですか?

Ubuntu Server 14.04のインスタンスをキックスタートするために、RAID-1で構成された2つの4Gbドライブを持つサーバーをPXEブートしています。 PXEをEFIモードで起動していますが、パーティション分割で次のエラーが発生するまで、インストールは正常に実行されます。

ディスクで使用されているパーティションテーブルフォーマットでは、通常、ブートローダーコード用に別のパーティションを作成する必要があります。このパーティションは、「EFIブートパーティション」として使用するためにマークされ、少なくとも35MBのサイズである必要があります。これは/ bootにマウントされたパーティションと同じではないことに注意してください。

このスレッドこの記事 を読みました。これは、ks.cfgにこれを追加することを提案しています。

part /boot/efi --fstype=efi --grow --maxsize=200 --size=20
part /boot --fstype=ext4 --size=512

ただし、エラーは引き続き表示されます。 「いいえ」と応答した場合、つまりこのパーティションなしで続行した場合、サーバーは起動して正常に動作しますが、インストールを無人で実行できるようにしたいので、この応答ステップを実行したくありません。

また、biosboot行と同様の構文を試しました。

part efiboot  --fstype efi --size 200

そして

part efi --fstype efi

しかし、何も機能しません。

正しい構文を教えてください。ありがとう!

これが私の全体のパーティショニング設定です:

part /            --fstype ext4 --size 2048  --asprimary
part /boot        --fstype ext4 --size 512
part /boot/efi    --fstype efi  --size 256
part /opt         --fstype ext4 --size 8192
part /var         --fstype ext4 --size 8192
part /media/video --fstype ext4 --size 65536 --grow
part swap                       --size 8192
1
Daniel

Debianベースのディストリビューションではキックスタートを使用しないでください。キックスタートはpreseedに変換されるため、preseed( http://en.wikipedia.org/wiki/Preseed )を直接使用することをお勧めします。

推奨されるように、サンプルのpreseedから始めます: https://help.ubuntu.com/14.04/installation-guide/example-preseed.txt

次に、preseedurlとDEBCONF_DEBUG = 5を使用してインストーラーを起動します。インストーラーが質問をするたびに、コンソール4にログオンしたconfigオプションが表示されます。次に、この名前を使用して正しい値を設定できます。

パーティショニングについては、リンクされたexample-preseed.txtに例がありますが、EFIパーティションに適合させる必要があります。

0
allo

これは古い質問ですが、他の多くの人も私と同じような問題を抱えている可能性があります。

以前はキックスタートが機能していましたが、UEFI対応マシンで機能するように調整できず、キックスタート/プレシードは扱いにくい場合があります(Web上の多くのドキュメントですが、そのほとんどは異なるために期待どおりに機能しませんubuntu/debianのバージョン、RedHatによるキックスタートとUbuntuキックスタートエミュレーションなど...など)。

私はキックスタート方法でパーティションを作成しようとしましたが(成功しませんでした)、すべてのファイルをpreseedに変換することは現在のオプションではありません(将来のバージョンで行います)。したがって、数百万、数百万のテストの後、ここにあります私の作業構成(16.04):

preseed --owner d-i partman-auto/method string regular

preseed --owner d-i partman-auto/expert_recipe 'string gpt-boot-root :: 256 256 256 fat32 $primary{ $iflabel{ gpt } $iflabel{ gpt } $reusemethod{ } method{ efi } format{ } mountpoint{ /boot/efi } . 512 512 512 ext4 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /boot } . 4000 10000 -1 ext4 $primary{ } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } .'

preseed --owner d-i partman-auto/choose_recipe select gpt-boot-root

ノート:

1)この構成では、/ boot(256MB)、/ boot/efi(512MB)、および/(ディスクの残りの部分)が作成されます。後で/のスワップファイルを使用して作成したため、スワップを作成しないことを選択しました。分離されたパーティションでスワップしたくない場合は、「preseed --owner d-i partman-basicfilesystems/no_swap booleanfalse」を使用することを忘れないでください(ubuntuの新しいバージョンではもう必要ありません)

2)「string」の前と行末に一重引用符があることに注意してください。

3)すべての悪行税は1行になければなりません。キックスタートがpreseedのようにバックスラッシュ構文をサポートしていないことをどこかで読んだので、すべてのエキスパートレシピは同じ行にある必要があります。

1
Anderson Zardo

そのため、私は長い間「一部」のキックスタートオプションをいじっていましたが、成功しませんでした。多くのRedHatオプションがサポートされていないことに気付きました。また、1つのオプションで1つの単純な間違いを犯した場合、Ubuntuインストーラーはガイド付きパーティショニングに切り替わります。さらに、この場合、ガイド付きパーティションの実行に失敗します。インストールの最後にMBRパーティションにgrubをインストールできず、ガイド付きパーティション画面で提案したEFIブートパーティションを検出できないため、インストールに進むことができません。

@Anderson Zardoの回答を使用しましたが、preseedにいくつかの行を追加する必要があったため、partmanはユーザーに「パーティショニングの完了とディスクへの変更の書き込み」を要求せず、いくつかの可能な警告も含めました。

キックスタートパーティショニング構成はEFI構成とMBR構成の両方で機能し、すべてを自動的に検出し、推奨サイズの/ swapfileを作成して、インストールされているシステムに対してアクティブにします。

#System bootloader configuration
zerombr
bootloader --location=mbr
clearpart --all --initlabel

# preseeding partman partition information
preseed --owner d-i partman-auto/method string regular
preseed --owner d-i partman-auto/expert_recipe 'string gpt-boot-root :: 256 256 256 fat32 $primary{ $iflabel{ gpt } $iflabel{ gpt } $reusemethod{ } method{ efi } format{ } mountpoint{ /boot/efi } . 512 512 512 ext4 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /boot } . 4000 10000 -1 ext4 $primary{ } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } .'

# preseeding partman additional options for automation
preseed --owner d-i partman-auto/choose_recipe select gpt-boot-root
preseed --owner d-i partman-basicfilesystems/no_swap boolean false
preseed --owner d-i partman/choose_partition select finish
preseed --owner d-i partman-md/confirm boolean true
preseed --owner d-i partman-partitioning/confirm_write_new_label boolean true    
preseed --owner d-i partman-lvm/confirm_nooverwrite boolean true

その結果、EFIシステムはGPTに分割されます

# fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EE83EBC4-881D-4157-A627-AC46A14AE694

Device       Start      End  Sectors  Size Type
/dev/sda1     2048   499711   497664  243M EFI System
/dev/sda2   499712  1499135   999424  488M Linux filesystem
/dev/sda3  1499136 20969471 19470336  9.3G Linux filesystem
# swapon -s
Filename                Type        Size    Used    Priority
/swapfile                               file        448816  0   -2

MBRに分割された非EFIシステム

# fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xaf7c9c63

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sda1  *      2048   999423   997376  487M 83 Linux
/dev/sda2       999424 20969471 19970048  9.5G 83 Linux
# swapon -s    
Filename                Type        Size    Used    Priority
/swapfile                               file        460496  0   -2

そして、EFIのインストール中にgrubがインストールされることに気づきました。なぜそれが必要なのかわかりませんが、grubは使用されておらず、すべてが正常に機能しているようです。私が誰かのために多くの時間を節約したことを願っています。

0
POMATu

その特定の質問に「いいえ」と答えるためにpreseedファイルに追加する必要がある行は次のとおりです。

d-i partman-partitioning/no_bootable_gpt_biosgrub boolean false
0
Ryan