Early_commandを使用して、2つのディスクにgrubを動的にインストールするようにpreseedしようとしています。 IPXEを使用しています。関連する部分は次のとおりです。
d-i partman/early_command string \
DISKA=$(realpath /dev/disk/by-id/ata-SuperMicro_SSD_* /dev/disk/by-id/ata-SATA_SSD_*|grep -o '/dev/sd[a-z]'|uniq|sort|head -n1); \
DISKB=$(realpath /dev/disk/by-id/ata-SuperMicro_SSD_* /dev/disk/by-id/ata-SATA_SSD_*|grep -o '/dev/sd[a-z]'|uniq|sort|head -n2|tail -1); \
if [ "${DISKA}" == "" ]; then DISKA="/dev/sda"; fi; \
if [ "${DISKB}" == "" ]; then DISKB="/dev/sdb"; fi; \
debconf-set partman-auto/disk "$DISKA $DISKB"; \
debconf-set partman-auto-raid/recipe "1 2 0 ext4 / ${DISKA}2#${DISKB}2 . 1 2 0 lvm - ${DISKA}4#${DISKB}4 ."; \
debconf-set grub-installer/bootdev "$DISKA $DISKB";
私は、以下の複数のバリエーション(true、false)を使用して、それらを使用せずに上記を試しました。
d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
私もearly_command内でそれを試しました:
debconf-set grub-installer/only_debian false; \
debconf-set grub-installer/with_other_os false;
残念ながらInstall the GRUB boot loader on a hard disk
ダイアログは、以下に示すように正しいディスクで表示されたままなので、確認して続行する必要があります。これを自動的にプレシードできますか?
今までのところ、唯一の回避策はearly_command
に次の2行を追加することです。
. /usr/share/debconf/confmodule;\
db_fset grub-installer/bootdev seen true
したがって、次のようになります。
.....
debconf-set grub-installer/bootdev "$DISKA $DISKB";\
. /usr/share/debconf/confmodule;\
db_fset grub-installer/bootdev seen true
これがすぐに修正されることを願っています。
このバグは2013年にすでに報告されています。LVMやRAIDを使用している場合、ダイアログは常に表示されるようです。
とった。行から二重引用符を削除する必要があります。
debconf-set partman-auto/disk "$DISKA $DISKB"; \
debconf-set grub-installer/bootdev "$DISKA $DISKB";
になる:
debconf-set partman-auto/disk "$DISKA $DISKB"; \
debconf-set grub-installer/bootdev $DISKA $DISKB;
[〜#〜]編集[〜#〜]
再起動後、grubは/dev/sda
に次のコマンドdd bs=512 count=1 if=/dev/sda 2>/dev/null | strings
を使用してのみインストールされていることがわかりました。
ZRr=
`|f
\|f1
GRUB
Geom
Hard Disk
Read
Error
/dev/sdb
で同じコマンドを実行しても何も返されません。つまり、ディスクの最初の512Bが空であるため、次のようにgrubを/dev/sdb
に手動でインストールする必要がありました。
# grub-install /dev/sdb
# dd bs=512 count=1 if=/dev/sdb 2>/dev/null | strings
ZRr=
`|f
\|f1
GRUB
Geom
Hard Disk
Read
Error
early_command
を使用して2つのディスクにgrubをインストールする方法がまだ見つかりません。
ありがとう