você pode pré-carregar a resposta debconf com 'debconf-set-selections'
Primeiro, instale o debconf-utils em um host que já tenha o grub-pc instalado. então corra:
debconf-get-selections | grep grub-pc > /tmp/grubpc.debconf
você terá um arquivo com a seguinte aparência:
grub-pc grub2/kfreebsd_cmdline string
grub-pc grub2/device_map_regenerated note
grub-pc grub2/linux_cmdline string
grub-pc grub-pc/install_devices_failed boolean false
grub-pc grub-pc/chainload_from_menu.lst boolean true
grub-pc grub-pc/kopt_extracted boolean true
grub-pc grub-pc/postrm_purge_boot_grub boolean false
grub-pc grub2/kfreebsd_cmdline_default string quiet
grub-pc grub2/linux_cmdline_default string
grub-pc grub-pc/install_devices_empty boolean false
grub-pc grub-pc/install_devices multiselect /dev/sda
grub-pc grub-pc/install_devices_failed_upgrade boolean true
grub-pc grub-pc/install_devices_disks_changed multiselect /dev/sda
grub-pc grub-pc/mixed_legacy_and_grub2 boolean true
Em seguida, edite /tmp/grubpc.debconf para adequar-se ao novo sistema. Em particular, a entrada grub-pc / install_devices.
Você não precisará de todas essas entradas. Meu palpite é que, para o grub-pc, você provavelmente só precisa das entradas install_devices e linux_cmdline *, e (se você já tinha o grub-legacy instalado), talvez a entrada chainload_from_menu.lst.
Depois de ter editado o arquivo, scp-lo para a máquina remota e alimentá-lo em debconf-set-seleções.
Agora você deve poder instalar remotamente o grub-pc sem um diálogo debconf.
[mais tarde]
O pacote grub-pc depende do ucf, que fornece o mesmo tipo de gerenciamento de arquivo de configuração para os arquivos pertencentes / criados por um pacote que não é listado como um arquivo de configuração.
Em todos os sistemas que eu verifiquei até agora, / var / lib / ucf / cache / contém um arquivo chamado: etc: default: grub, então é um provável candidato a causar isso.
tente remover o comentário da linha 'conf_force_conffold = YES' em /etc/ucf.conf na máquina de destino. isso pode ser automatizado para atualização em massa de muitas máquinas, é claro, com scp ou sed (não parece haver uma entrada debconf para isso).
se isso é o que está causando isso, o fato de que ele está ignorando sua configuração DEBIAN_FRONTEND = não interativa pode exigir um relatório de bug. olhando para os scripts, tanto o debconf quanto o ucf parecem usar um DEBIAN_HAS_FRONTEND env var (mas não tenho certeza se ele deve ser definido pelo usuário ou usado internamente. Ele não é mencionado nas man pages).
Também pode ser um bug que o ucf não herde a configuração do dpkg --force-confold que você especificou ... mas não há como o ucf saber sobre isso.