O próprio Grub não pode fazer isso. Seus drivers do sistema de arquivos suportam apenas leitura.
Você pode criar uma entrada que carregue um kernel do Linux (e initrd ou initramfs, conforme apropriado) e execute um comando específico passando init=/path/to/script
na linha de comando do kernel. Esse script faria toda a montagem necessária, solicitação do usuário, modificações de arquivos e, finalmente, reinicialização.
Você também pode criar entradas separadas que passam um argumento personalizado na linha de comando do kernel. Argumentos desconhecidos são ignorados, assumindo-se que ele pode ser usado por algum driver que talvez seja carregado como um módulo. Portanto, faça as entradas do Grub que passam um argumento de kernel local.network_interfaces=…
e, em /etc/rc.local
, procure o valor desse argumento ( </proc/cmdline tr ' ' '\n' | sed -n 's/^local.network_interfaces=//p'
).