Configuración de GRUB para reconocer diferentes entornos de escritorio (instalaciones) de la misma distribución de Linux

El título realmente no significa que espero que GRUB reconozca mis entornos de escritorio. Solo quiero tener instalaciones separadas para Debian 9 con diferentes entornos y poder reconocerlos en el menu de GRUB.

Traté de cambiar el / etc / default / grub pero esto solo se usa desde el sistema actual (digamos Debian 9.2 xfce) y entonces el otro sistema (digamos Debian 9.2 lxde) ve solo "Debian GNU / Linux 9 (stretch) ".

No puedo entender qué file tengo que cambiar para que GRUB de cada SO dé el nombre de input apropiado (con DesktopEnvironment).

Busqué en temas similares que discutían sobre cómo cambiar 40_custom o 30_os_prober, pero no logré encontrar una respuesta.

Estoy de acuerdo con el comentario de Time4Tea sobre tener varias DEs en un solo sistema, sin embargo, si realmente desea tener dos instalaciones separadas, entonces le recomiendo que elija una como principal para usarla para configurar grub. Entonces, por ejemplo, para debian xfce , /etc/grub.d/10_linux , y luego /etc/grub.d/40_custom para debian lxde . Asegúrese de hacer primero una copy de security de esos files antes de editarlos. Luego ejecute update-grub para aplicar los cambios a /boot/grub/grub.cfg .

En el file de /etc/grub.d/10_linux agregué la palabra "MATE" de esta manera:

 if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then OS=GNU/Linux else case ${GRUB_DISTRIBUTOR} in Ubuntu|Kubuntu) OS="${GRUB_DISTRIBUTOR}" ;; *) OS="${GRUB_DISTRIBUTOR} MATE" ;; esac CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'AZ' 'az' | cut -d' ' -f1|LC$ fi 

(MATE es mi DE- de la distribución básica pnetworkingeterminada)

luego copié 40_custom a 11_custom y agregué las inputs:

 #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "Debian GNU/Linux 9.2 XFCE" { set root='(hd0,gpt3)' linux /vmlinuz root=UUID=My-UUID-HERE ro quiet initrd /initrd.img } menuentry "Debian GNU/Linux 9.2 LXDE" { set root='(hd0,gpt4)' linux /vmlinuz root=UUID=My-UUID-HERE ro quiet intrid /intrid.img } 

UUID encontrado con la ayuda de gparted

luego moví 30_os-prober a otra carpeta como copy de security porque dejándolo allí creará inputs dobles

También hice lo mismo con las otras distribuciones en caso de que se instale otro grub (pero no es necesario).

PD: Mi respuesta es solo la sugerencia de @fpmurphy1 con más detalles en caso de que alguien lo necesite.