#language en ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[it/GrubReboot|Italiano]]-~ ---- = GrubReboot = == Choosing a Menuentry == GRUB has the ability to reboot into a specified menuentry '''once'''. This can be useful with DualBoot / a different Kernel and no direct access to the system. As an example on how to use [[https://manpages.debian.org/stable/grub2-common/grub-reboot.8.en.html|grub-reboot(8)]] with submenus we look at the following output. {{{ # awk -F\'\|\" '/(submenu|menuentry) / { printf "%s\t%s\n", $1, $2}' /boot/grub/grub.cfg menuentry Debian GNU/Linux submenu Advanced options for Debian GNU/Linux menuentry Debian GNU/Linux, with Linux 6.6.13-amd64 menuentry Debian GNU/Linux, with Linux 6.6.13-amd64 (recovery mode) menuentry Debian GNU/Linux, with Linux 6.6.9-amd64 menuentry Debian GNU/Linux, with Linux 6.6.9-amd64 (recovery mode) menuentry Memory test (memtest86+x64.bin, serial console) }}} This will result in the following MENU_ENTRYs we can use. The submenu entry won't work but are listed for clarification. {{{ 0 menuentry Debian GNU/Linux 1 submenu Advanced options for Debian GNU/Linux 1>0 menuentry Debian GNU/Linux, with Linux 6.6.13-amd64 1>1 menuentry Debian GNU/Linux, with Linux 6.6.13-amd64 (recovery mode) 1>2 menuentry Debian GNU/Linux, with Linux 6.6.9-amd64 1>3 menuentry Debian GNU/Linux, with Linux 6.6.9-amd64 (recovery mode) 2 menuentry Memory test (memtest86+x64.bin, serial console) }}} So if we want to boot the "6.6.9" kernel the next time we boot the system. {{{ # grub-reboot '1>2' }}} To check what is currently configured you can use DebianMan:grub-editenv. {{{ # grub-editenv - list next_entry=1>2 }}} No further configuration is necessary for booting a different boot-entry '''once'''. == Persistent Configuration == === With GRUB v2 === in your /etc/default/grub GRUB_DEFAULT should be set to saved, for example: {{{ # If you change this file, run 'update-grub' afterward to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=saved ## important. GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX="" }}} Next you need to run {{{update-grub}}} to set up the default change. == grub-set-default == Next you need to specify the default OS for grub to boot. This is the OS booted if we don't use grub-reboot. For this we use the grub-set-default command. {{{ grub-set-default [num] }}} Where [num] is the number of a entry in /boot/grub/menu.lst or /boot/grub/grub.cfg To set the first OS (Debian in example) as the default run {{{ grub-set-default 0 }}} == Usage == We can use the grub-reboot command to select the OS we want to boot only once. {{{ grub-reboot [num] }}} Where [num] is the number of a entry in /boot/grub/menu.lst or /boot/grub/grub.cfg. For example: {{{ grub-reboot 1 }}} Will select WinXP for the next boot in the example. If we reboot now, WinXP will boot once. The time after that the boot will be again on the default entry. === With GRUB v1 === In your /boot/grub/menu.list you need to set "default" to "saved". For example. {{{ default saved ## important. timeout 5 color cyan/blue white/blue title Debian GNU/Linux, kernel 2.6.18-4-k7 root (hd0,2) kernel /boot/vmlinuz-2.6.18-4-k7 root=/dev/sda3 ro initrd /boot/initrd.img-2.6.18-4-k7 title WinXP root (hd0,0) makeactive chainloader +1 }}} Next you need to run [[GrubConfiguration#installation|grub-install]] to set up the default change. === KDE usage === Kde has a built in implementation of this. To set this up go to Control Center > System Administration > Login Manager > Shutdown > Miscellaneous And set Boot Manager to "Grub" Now when you go to reboot, at the shutdown screen if you click-hold the mouse over reboot you get a drop down menu where you can select which OS you want to go to.