На самом деле решение состоит в том, чтобы не использовать последнее обновление -grub, так как оно восстанавливает конфигурацию до той, которая используется в настоящее время во время установки.
Итак, мой предварительный шаг следующий:
d-i preseed/late_command string \
in-target sed -i 's#^\(GRUB_CMDLINE_LINUX_DEFAULT="quiet\)"$#\1 root=/dev/sda1"#' /etc/default/grub; \
in-target grub-mkconfig -o /boot/grub/grub.cfg; \
in-target sed -i 's/root\=\/dev\/sdb1/root\=\/dev\/sda1/g' /boot/grub/grub.cfg;
complete -p command
дает вам информацию о том, что будет сделано. Вы можете сделать это самостоятельно.
Похоже, это не работает с функциями, которые используютcompopt
(без имени команды ). Может режим работы можно как-то подделать. Или вы можете попробовать написать функцию для compopt
, которая добавляет имя.