No passado, era fácil usar grub-reboot
para inicializar em outro sistema operacional quando se tratava de adivinhar o número da opção na lista do GRUB, por exemplo:
luis@VirtuKali:~$ more /boot/grub/grub.cfg | grep menuentry --color
menuentry 'Debian GNU/Linux, with Linux 3.14-kali1-amd64' --class debian --class gnu-linux --class gnu --class os {
menuentry 'Debian GNU/Linux, with Linux 3.14-kali1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
... então eu sei que a opção 0 (a primeira) é inicializada no Kali Linux normal, e a opção 1 (a segunda) é inicializada no modo de recuperação, e posso fazer isso com alegria:
# grub-reboot 1
Mas, nas versões modernas do GRUB , e ao ter vários sistemas operacionais , as coisas não são tão fáceis.
Por exemplo, olhe para essa bagunça:
luis@balanceador:~$ more /boot/grub/grub.cfg | grep menuentry --color
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-d795f672-83d4-451e-bea4-0db5c70512b8' {
submenu 'Opciones avanzadas para Ubuntu' $menuentry_id_option 'gnulinux-advanced-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Ubuntu, con Linux 3.13.0-39-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-39-generic-advanced-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Ubuntu, with Linux 3.13.0-39-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-39-generic-recovery-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Ubuntu, con Linux 3.13.0-32-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-32-generic-advanced-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Ubuntu, with Linux 3.13.0-32-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-32-generic-recovery-d795f672-83d4-451e-bea4-0db5c70512b8' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
menuentry 'Microsoft Windows XP Professional (en /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-1D8E45A744914BEC' {
menuentry 'Ubuntu 14.04.1 LTS (14.04) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-45d94105-0a37-49fb-8b14-e201b807d493' {
submenu 'Opciones avanzadas para Ubuntu 14.04.1 LTS (14.04) (en /dev/sda6)' $menuentry_id_option 'osprober-gnulinux-advanced-45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu, con Linux 3.13.0-39-generic (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu, with Linux 3.13.0-39-generic (recovery mode) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic-root=UUID=45d94105-0a37-49fb-8b14-e201b807d493 ro recovery nomodeset-45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu 14.04.1 LTS (14.04) (en /dev/sda7) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu (en /dev/sda7) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu, con Linux 3.13.0-39-generic (en /dev/sda7) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic--45d94105-0a37-49fb-8b14-e201b807d493' {
menuentry 'Ubuntu, with Linux 3.13.0-39-generic (recovery mode) (en /dev/sda7) (en /dev/sda6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.13.0-39-generic-root=UUID=d795f672-83d4-451e-bea4-0db5c70512b8 ro recovery nomodeset-45d94105-0a37-49fb-8b14-e201b807d493' {
No passado, eu simplesmente contava o número de menuentry
instâncias (a partir de 0), mas agora a correspondência não é a mesma como eu vejo no Menu GRUB quando o computador é inicializado.
Minha única solução agora é digitar coisas como:
# grub-reboot "Microsoft Windows XP Professional (en /dev/sda1)"
Não é um grande problema, mas requer copiar e colar. Os números são mais fáceis e mais scripts.
Existe algum outro truque ? Talvez meu comando grep deva ser atualizado?
Obrigado.