How can I tell GRUB I want to reboot into Windows—before I reboot?












30















I have a dual boot Linux/windows system set up, and frequently switch from one to the other. I was thinking if I could add a menu item in one of the menus to reboot directly into windows, without stopping at the GRUB prompt.



I saw this question on a forum, that's exactly what I want but it's dealing with lilo, which is not my case.



I thought of a solution that would modify the default entry in the GRUB menu and then reboot, but there are some drawbacks, and I was wondering if there was a cleaner alternative.



(Also, I would be interested in a solution to boot from Windows directly into Linux, but that might be harder, and does not belong here. Anyway, as long as I have it in one way, the other way could be set up as the default.



UPDATE It seems someone asked a similar question, and if those are the suggested answers, I might as well edit /boot/grub/grubenv as grub-reboot and grub-set-default and grub-editenv do.
)



Thanks in advance for any tips.



UPDATE:



This is my GRUB version: (GRUB) 1.99-12ubuntu5-1linuxmint1



I tried running grubonce, the command is not found. And searching for it in the repositories gives me nothing. I'm on Linux Mint, so that might be it...



Seeing man grub-reboot, it seems like it does what I want, as grubonce does. It is also available everywhere (at least it is for me, I think it is part of the grub package). I saw two related commands: grub-editenv and grub-set-default.



I found out that after running sudo grub-set-default 4, when running grub-editenv list you get something similar to:



saved_entry=4


And when running grub-reboot 4, you get something like:



prev_saved_entry=0
saved_entry=4


Which means both do the same thing (one is temporary one is not).



Surprisingly, when I tried:



sudo grub-reboot 4
sudo reboot now


It did not work, as if I hadn't done anything, it just showed me the menu as usual, and selected the first entry, saying it will boot this entry in 10s.



I tried it again, I thought I might have written the wrong entry (it is zero-based, right?). That time, it just hanged at the menu screen, and I had to hard-reset the PC to be able to boot.



If anyone can try this out, just to see if it's just me, I'd appreciate it. (mint has been giving me a hard time, and that would be a good occasion to change :P).



Reading the code in /boot/grub/grub.cfg, seems like this is the way to go, but from my observations, it's just ignoring these settings...










share|improve this question

























  • what distro are you on? I think i've got it working on my Debian.

    – jw013
    Jul 16 '12 at 22:14
















30















I have a dual boot Linux/windows system set up, and frequently switch from one to the other. I was thinking if I could add a menu item in one of the menus to reboot directly into windows, without stopping at the GRUB prompt.



I saw this question on a forum, that's exactly what I want but it's dealing with lilo, which is not my case.



I thought of a solution that would modify the default entry in the GRUB menu and then reboot, but there are some drawbacks, and I was wondering if there was a cleaner alternative.



(Also, I would be interested in a solution to boot from Windows directly into Linux, but that might be harder, and does not belong here. Anyway, as long as I have it in one way, the other way could be set up as the default.



UPDATE It seems someone asked a similar question, and if those are the suggested answers, I might as well edit /boot/grub/grubenv as grub-reboot and grub-set-default and grub-editenv do.
)



Thanks in advance for any tips.



UPDATE:



This is my GRUB version: (GRUB) 1.99-12ubuntu5-1linuxmint1



I tried running grubonce, the command is not found. And searching for it in the repositories gives me nothing. I'm on Linux Mint, so that might be it...



Seeing man grub-reboot, it seems like it does what I want, as grubonce does. It is also available everywhere (at least it is for me, I think it is part of the grub package). I saw two related commands: grub-editenv and grub-set-default.



I found out that after running sudo grub-set-default 4, when running grub-editenv list you get something similar to:



saved_entry=4


And when running grub-reboot 4, you get something like:



prev_saved_entry=0
saved_entry=4


Which means both do the same thing (one is temporary one is not).



Surprisingly, when I tried:



sudo grub-reboot 4
sudo reboot now


It did not work, as if I hadn't done anything, it just showed me the menu as usual, and selected the first entry, saying it will boot this entry in 10s.



I tried it again, I thought I might have written the wrong entry (it is zero-based, right?). That time, it just hanged at the menu screen, and I had to hard-reset the PC to be able to boot.



If anyone can try this out, just to see if it's just me, I'd appreciate it. (mint has been giving me a hard time, and that would be a good occasion to change :P).



Reading the code in /boot/grub/grub.cfg, seems like this is the way to go, but from my observations, it's just ignoring these settings...










share|improve this question

























  • what distro are you on? I think i've got it working on my Debian.

    – jw013
    Jul 16 '12 at 22:14














30












30








30


22






I have a dual boot Linux/windows system set up, and frequently switch from one to the other. I was thinking if I could add a menu item in one of the menus to reboot directly into windows, without stopping at the GRUB prompt.



I saw this question on a forum, that's exactly what I want but it's dealing with lilo, which is not my case.



I thought of a solution that would modify the default entry in the GRUB menu and then reboot, but there are some drawbacks, and I was wondering if there was a cleaner alternative.



(Also, I would be interested in a solution to boot from Windows directly into Linux, but that might be harder, and does not belong here. Anyway, as long as I have it in one way, the other way could be set up as the default.



UPDATE It seems someone asked a similar question, and if those are the suggested answers, I might as well edit /boot/grub/grubenv as grub-reboot and grub-set-default and grub-editenv do.
)



Thanks in advance for any tips.



UPDATE:



This is my GRUB version: (GRUB) 1.99-12ubuntu5-1linuxmint1



I tried running grubonce, the command is not found. And searching for it in the repositories gives me nothing. I'm on Linux Mint, so that might be it...



Seeing man grub-reboot, it seems like it does what I want, as grubonce does. It is also available everywhere (at least it is for me, I think it is part of the grub package). I saw two related commands: grub-editenv and grub-set-default.



I found out that after running sudo grub-set-default 4, when running grub-editenv list you get something similar to:



saved_entry=4


And when running grub-reboot 4, you get something like:



prev_saved_entry=0
saved_entry=4


Which means both do the same thing (one is temporary one is not).



Surprisingly, when I tried:



sudo grub-reboot 4
sudo reboot now


It did not work, as if I hadn't done anything, it just showed me the menu as usual, and selected the first entry, saying it will boot this entry in 10s.



I tried it again, I thought I might have written the wrong entry (it is zero-based, right?). That time, it just hanged at the menu screen, and I had to hard-reset the PC to be able to boot.



If anyone can try this out, just to see if it's just me, I'd appreciate it. (mint has been giving me a hard time, and that would be a good occasion to change :P).



Reading the code in /boot/grub/grub.cfg, seems like this is the way to go, but from my observations, it's just ignoring these settings...










share|improve this question
















I have a dual boot Linux/windows system set up, and frequently switch from one to the other. I was thinking if I could add a menu item in one of the menus to reboot directly into windows, without stopping at the GRUB prompt.



I saw this question on a forum, that's exactly what I want but it's dealing with lilo, which is not my case.



I thought of a solution that would modify the default entry in the GRUB menu and then reboot, but there are some drawbacks, and I was wondering if there was a cleaner alternative.



(Also, I would be interested in a solution to boot from Windows directly into Linux, but that might be harder, and does not belong here. Anyway, as long as I have it in one way, the other way could be set up as the default.



UPDATE It seems someone asked a similar question, and if those are the suggested answers, I might as well edit /boot/grub/grubenv as grub-reboot and grub-set-default and grub-editenv do.
)



Thanks in advance for any tips.



UPDATE:



This is my GRUB version: (GRUB) 1.99-12ubuntu5-1linuxmint1



I tried running grubonce, the command is not found. And searching for it in the repositories gives me nothing. I'm on Linux Mint, so that might be it...



Seeing man grub-reboot, it seems like it does what I want, as grubonce does. It is also available everywhere (at least it is for me, I think it is part of the grub package). I saw two related commands: grub-editenv and grub-set-default.



I found out that after running sudo grub-set-default 4, when running grub-editenv list you get something similar to:



saved_entry=4


And when running grub-reboot 4, you get something like:



prev_saved_entry=0
saved_entry=4


Which means both do the same thing (one is temporary one is not).



Surprisingly, when I tried:



sudo grub-reboot 4
sudo reboot now


It did not work, as if I hadn't done anything, it just showed me the menu as usual, and selected the first entry, saying it will boot this entry in 10s.



I tried it again, I thought I might have written the wrong entry (it is zero-based, right?). That time, it just hanged at the menu screen, and I had to hard-reset the PC to be able to boot.



If anyone can try this out, just to see if it's just me, I'd appreciate it. (mint has been giving me a hard time, and that would be a good occasion to change :P).



Reading the code in /boot/grub/grub.cfg, seems like this is the way to go, but from my observations, it's just ignoring these settings...







grub2 dual-boot reboot






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 13 '17 at 12:36









Community

1




1










asked Jul 16 '12 at 18:08









jadkik94jadkik94

3382411




3382411













  • what distro are you on? I think i've got it working on my Debian.

    – jw013
    Jul 16 '12 at 22:14



















  • what distro are you on? I think i've got it working on my Debian.

    – jw013
    Jul 16 '12 at 22:14

















what distro are you on? I think i've got it working on my Debian.

– jw013
Jul 16 '12 at 22:14





what distro are you on? I think i've got it working on my Debian.

– jw013
Jul 16 '12 at 22:14










9 Answers
9






active

oldest

votes


















19














In order for the grub-reboot command to work, several required configuration changes must be in place:




  • The default entry for grub must be set to saved. One possible location for this is the GRUB_DEFAULT= line in /etc/default/grub

  • Use grub-set-default to set your default entry to the one you normally use.

  • Update your grub config (e.g. update-grub).


This should take care of the initial set-up. In the future, just do grub-reboot <entry> for a one-time boot of <entry>.






share|improve this answer
























  • I see ur words "default entry for grub must be set to saved", while my keeping GRUB_DEFAULT=0 also sufficed. So is saved unnecessary?

    – zhangxaochen
    Aug 12 '16 at 7:58











  • Im not sure if everyone realizes how cool this feature really is, I plan to boot win7ult64 with rhel64, and vice versa, whilst having the rhel become auto available for another win networked systems scheduled backup task, which pushes to the rhel zfs raidz2. Then at backup complete, the grubbed system auto boots back into a windows gamer iis server playground for the rest of the week, rinse and repeat. Its a shape shifter. :-)

    – Brian Thomas
    Jan 26 '17 at 10:18













  • It took me ages to notice that grub-reboot fails silently, giving a success return code. I hope my suggested edit is ok. :-)

    – Nobody
    Apr 21 '17 at 13:06



















16















  1. Edit the /etc/default/grub and replace GRUB_DEFAULT=0 with GRUB_DEFAULT=saved

  2. sudo update-grub


  3. your command will be:



    sudo grub-reboot "$(grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2)" && sudo reboot



a pretty function in your ~/.bashrc will look like





# ******************************************************************
# reboot directly to windows
# Inspired by http://askubuntu.com/questions/18170/how-to-reboot-into-windows-from-ubuntu
# ******************************************************************
function my_reboot_to_windows {
WINDOWS_TITLE=`grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2`
sudo grub-reboot "$WINDOWS_TITLE"
sudo reboot
}


In case, your grub.conf contains multiple lines for Windows, following functions will take care only about lines starting by menuentry and picking just the first one, referring to Windows:



function my_reboot_to_windows {
WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
sudo grub-reboot "$WINDOWS_TITLE"
sudo reboot
}





share|improve this answer


























  • My file /boot/grub/grub.cfg contains more lines with "Windows" in it, many of them stating something like ...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt..., so I assume your code would fail on it. This can be fixed by grepping for ^menuentry 'Windows.

    – Jan Vlcinsky
    Jan 13 '15 at 16:11













  • This should be marked as the correct answer.

    – Taha Rehman Siddiqui
    Apr 14 '16 at 19:46











  • The function is more helpful than I thought.

    – Carson Ip
    Apr 21 '17 at 12:30



















1














I use openSUSE which comes with a script called grubonce, which does exactly what you need - set grub entry to be used on next reboot.



# grubonce
0: Trace -- openSUSE 12.1 - 3.1.10-1.16
1: Debug -- openSUSE 12.1 - 3.1.10-1.16
2: Desktop -- openSUSE 12.1 - 3.1.10-1.16
3: Failsafe -- openSUSE 12.1 - 3.1.10-1.16

# grubonce 0
Using entry #0: Trace -- openSUSE 12.1 - 3.1.10-1.16

# grubonce 2
Using entry #2: Desktop -- openSUSE 12.1 - 3.1.10-1.16


I don't know which (if any) other distributions ship this script, so in case your distro does not have it, you can check out this page:



http://sidvind.com/wiki/GRUB:_Boot_another_OS_once






share|improve this answer































    1














    grub-set-default seems more available (grubonce isn't listed in Ubuntu 'verse). It may also be more helpful as Windows 7 has a habit of performing a reboot during startup if updates were applied at last shutdown (that is, it begins startup, processes some update data, reboots, and then displays login page).

    I've often started Windows 7 only to come back and find Ubuntu running.






    share|improve this answer



















    • 1





      I turned off Windows update, so that should not be a problem :D, I'll try this. From what I saw, it seems like this does the same thing as grub-reboot. I'm editing my question with more detail. Thanks anyway.

      – jadkik94
      Jul 16 '12 at 20:52



















    1














    In Fedora, you can use the following script. Note that this is mostly the same as described in https://askubuntu.com/a/18186/149422, with a few modifications for GRUB 2 in Fedora.



    #!/bin/bash
    if [ `readlink /boot/grub2/grubenv` == "/boot/efi/EFI/fedora/grubenv" ]; then
    sudo mv /boot/grub2/grubenv /boot/grub2/grubenv-original
    sudo ln -s ../efi/EFI/fedora/grubenv /boot/grub2/grubenv
    fi
    MENU_ENTRY=`grep ^menuentry /boot/grub2/grub.cfg | grep --line-number Windows`
    MENU_NUMBER=$(( `echo $MENU_ENTRY | sed -e "s/:.*//"` - 1 ))
    sudo grub2-reboot $MENU_NUMBER
    sudo reboot





    share|improve this answer

































      1














      I am using Ubuntu 16.04 and the above solutions did not work for me ... for some reason sudo grub-reboot 2 never seemed to update the /boot/grub/grubenv file, even after changing GRUB_DEFAULT=0 to GRUB_DEFAULT=saved in both /etc/default/grub and /boot/grub/menu.lst. Using the savedefault --default=2 --once command in grub also did not seem to work nor change the grubenv file. It just kept coming back to the original grub menu as if nothing had been done.



      So I ended up doing it manually and it has been working (not sure how it would work with RAID drives, though).



      sudo grub-editenv - set next_entry=2
      reboot


      Where the 2 is the zero-based menu entry location for the Windows entry in the grub start-up menu.



      You can see why this works by looking at the /boot/grub/grub.cfg file, as it uses the next_entry value and then resets it for the next boot.






      share|improve this answer































        1














        A super easy way to do it is with the
        GRUB Reboot GNOME Shell Extension
        (that is, if you're using GNOME).



        To use the extension, go to the site linked above, and click the little toggle in the top right corner (it probably says Off when you first navigate to the page). You will be asked to confirm that you would like to download and install the extension.



        Once it is installed, you can open your System menu and click the power button as you normally would for a restart. The window that pops up confirming that you would like to shutdown or restart now has a button labelled "Restart to...". When you click that button, the items in your grub menu appear in the list so that you can select which OS to automatically launch after restarting. If you select one of those items, your system will shut down and restart using your selected grub options.






        share|improve this answer





















        • 1





          I edited my post to include details of installing and using the extension.

          – Dylan Smith
          Nov 16 '18 at 17:59



















        0














        Agree with @jw013.
        And you can also give the menu tile to grub-reboot (including the title of parent menu). e.g:



        $ sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.13.0-26-generic"
        $ sudo reboot


        Where "Advanced options for Ubuntu" is the parent menu, "Ubuntu, with Linux 4.13.0-26-generic" is submenu.






        share|improve this answer































          0














          Reboot the machine to a specific boot target (Grub entry).

          The boot target is interactivly selected with fzf.



          # Search for grub.cfg
          GRUB_CFG=$(find /boot -name grub.cfg 2> /dev/null)

          if [[ -z ${GRUB_CFG} ]]; then
          echo "No grub.cfg found under /boot. Try as root."
          exit 1
          elif [[ ! -r ${GRUB_CFG} ]]; then
          echo "${GRUB_CFG} is not readable. Try as root."
          exit 1
          fi

          GRUB_MENUENTRY=$(awk -F' '/menuentry / {print $2}' ${GRUB_CFG} | fzf)

          # Set boot target for next boot
          grub2-reboot "${GRUB_MENUENTRY}"

          reboot





          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "106"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f43196%2fhow-can-i-tell-grub-i-want-to-reboot-into-windows-before-i-reboot%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            9 Answers
            9






            active

            oldest

            votes








            9 Answers
            9






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            19














            In order for the grub-reboot command to work, several required configuration changes must be in place:




            • The default entry for grub must be set to saved. One possible location for this is the GRUB_DEFAULT= line in /etc/default/grub

            • Use grub-set-default to set your default entry to the one you normally use.

            • Update your grub config (e.g. update-grub).


            This should take care of the initial set-up. In the future, just do grub-reboot <entry> for a one-time boot of <entry>.






            share|improve this answer
























            • I see ur words "default entry for grub must be set to saved", while my keeping GRUB_DEFAULT=0 also sufficed. So is saved unnecessary?

              – zhangxaochen
              Aug 12 '16 at 7:58











            • Im not sure if everyone realizes how cool this feature really is, I plan to boot win7ult64 with rhel64, and vice versa, whilst having the rhel become auto available for another win networked systems scheduled backup task, which pushes to the rhel zfs raidz2. Then at backup complete, the grubbed system auto boots back into a windows gamer iis server playground for the rest of the week, rinse and repeat. Its a shape shifter. :-)

              – Brian Thomas
              Jan 26 '17 at 10:18













            • It took me ages to notice that grub-reboot fails silently, giving a success return code. I hope my suggested edit is ok. :-)

              – Nobody
              Apr 21 '17 at 13:06
















            19














            In order for the grub-reboot command to work, several required configuration changes must be in place:




            • The default entry for grub must be set to saved. One possible location for this is the GRUB_DEFAULT= line in /etc/default/grub

            • Use grub-set-default to set your default entry to the one you normally use.

            • Update your grub config (e.g. update-grub).


            This should take care of the initial set-up. In the future, just do grub-reboot <entry> for a one-time boot of <entry>.






            share|improve this answer
























            • I see ur words "default entry for grub must be set to saved", while my keeping GRUB_DEFAULT=0 also sufficed. So is saved unnecessary?

              – zhangxaochen
              Aug 12 '16 at 7:58











            • Im not sure if everyone realizes how cool this feature really is, I plan to boot win7ult64 with rhel64, and vice versa, whilst having the rhel become auto available for another win networked systems scheduled backup task, which pushes to the rhel zfs raidz2. Then at backup complete, the grubbed system auto boots back into a windows gamer iis server playground for the rest of the week, rinse and repeat. Its a shape shifter. :-)

              – Brian Thomas
              Jan 26 '17 at 10:18













            • It took me ages to notice that grub-reboot fails silently, giving a success return code. I hope my suggested edit is ok. :-)

              – Nobody
              Apr 21 '17 at 13:06














            19












            19








            19







            In order for the grub-reboot command to work, several required configuration changes must be in place:




            • The default entry for grub must be set to saved. One possible location for this is the GRUB_DEFAULT= line in /etc/default/grub

            • Use grub-set-default to set your default entry to the one you normally use.

            • Update your grub config (e.g. update-grub).


            This should take care of the initial set-up. In the future, just do grub-reboot <entry> for a one-time boot of <entry>.






            share|improve this answer













            In order for the grub-reboot command to work, several required configuration changes must be in place:




            • The default entry for grub must be set to saved. One possible location for this is the GRUB_DEFAULT= line in /etc/default/grub

            • Use grub-set-default to set your default entry to the one you normally use.

            • Update your grub config (e.g. update-grub).


            This should take care of the initial set-up. In the future, just do grub-reboot <entry> for a one-time boot of <entry>.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jul 16 '12 at 22:16









            jw013jw013

            36.3k6100125




            36.3k6100125













            • I see ur words "default entry for grub must be set to saved", while my keeping GRUB_DEFAULT=0 also sufficed. So is saved unnecessary?

              – zhangxaochen
              Aug 12 '16 at 7:58











            • Im not sure if everyone realizes how cool this feature really is, I plan to boot win7ult64 with rhel64, and vice versa, whilst having the rhel become auto available for another win networked systems scheduled backup task, which pushes to the rhel zfs raidz2. Then at backup complete, the grubbed system auto boots back into a windows gamer iis server playground for the rest of the week, rinse and repeat. Its a shape shifter. :-)

              – Brian Thomas
              Jan 26 '17 at 10:18













            • It took me ages to notice that grub-reboot fails silently, giving a success return code. I hope my suggested edit is ok. :-)

              – Nobody
              Apr 21 '17 at 13:06



















            • I see ur words "default entry for grub must be set to saved", while my keeping GRUB_DEFAULT=0 also sufficed. So is saved unnecessary?

              – zhangxaochen
              Aug 12 '16 at 7:58











            • Im not sure if everyone realizes how cool this feature really is, I plan to boot win7ult64 with rhel64, and vice versa, whilst having the rhel become auto available for another win networked systems scheduled backup task, which pushes to the rhel zfs raidz2. Then at backup complete, the grubbed system auto boots back into a windows gamer iis server playground for the rest of the week, rinse and repeat. Its a shape shifter. :-)

              – Brian Thomas
              Jan 26 '17 at 10:18













            • It took me ages to notice that grub-reboot fails silently, giving a success return code. I hope my suggested edit is ok. :-)

              – Nobody
              Apr 21 '17 at 13:06

















            I see ur words "default entry for grub must be set to saved", while my keeping GRUB_DEFAULT=0 also sufficed. So is saved unnecessary?

            – zhangxaochen
            Aug 12 '16 at 7:58





            I see ur words "default entry for grub must be set to saved", while my keeping GRUB_DEFAULT=0 also sufficed. So is saved unnecessary?

            – zhangxaochen
            Aug 12 '16 at 7:58













            Im not sure if everyone realizes how cool this feature really is, I plan to boot win7ult64 with rhel64, and vice versa, whilst having the rhel become auto available for another win networked systems scheduled backup task, which pushes to the rhel zfs raidz2. Then at backup complete, the grubbed system auto boots back into a windows gamer iis server playground for the rest of the week, rinse and repeat. Its a shape shifter. :-)

            – Brian Thomas
            Jan 26 '17 at 10:18







            Im not sure if everyone realizes how cool this feature really is, I plan to boot win7ult64 with rhel64, and vice versa, whilst having the rhel become auto available for another win networked systems scheduled backup task, which pushes to the rhel zfs raidz2. Then at backup complete, the grubbed system auto boots back into a windows gamer iis server playground for the rest of the week, rinse and repeat. Its a shape shifter. :-)

            – Brian Thomas
            Jan 26 '17 at 10:18















            It took me ages to notice that grub-reboot fails silently, giving a success return code. I hope my suggested edit is ok. :-)

            – Nobody
            Apr 21 '17 at 13:06





            It took me ages to notice that grub-reboot fails silently, giving a success return code. I hope my suggested edit is ok. :-)

            – Nobody
            Apr 21 '17 at 13:06













            16















            1. Edit the /etc/default/grub and replace GRUB_DEFAULT=0 with GRUB_DEFAULT=saved

            2. sudo update-grub


            3. your command will be:



              sudo grub-reboot "$(grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2)" && sudo reboot



            a pretty function in your ~/.bashrc will look like





            # ******************************************************************
            # reboot directly to windows
            # Inspired by http://askubuntu.com/questions/18170/how-to-reboot-into-windows-from-ubuntu
            # ******************************************************************
            function my_reboot_to_windows {
            WINDOWS_TITLE=`grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2`
            sudo grub-reboot "$WINDOWS_TITLE"
            sudo reboot
            }


            In case, your grub.conf contains multiple lines for Windows, following functions will take care only about lines starting by menuentry and picking just the first one, referring to Windows:



            function my_reboot_to_windows {
            WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
            sudo grub-reboot "$WINDOWS_TITLE"
            sudo reboot
            }





            share|improve this answer


























            • My file /boot/grub/grub.cfg contains more lines with "Windows" in it, many of them stating something like ...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt..., so I assume your code would fail on it. This can be fixed by grepping for ^menuentry 'Windows.

              – Jan Vlcinsky
              Jan 13 '15 at 16:11













            • This should be marked as the correct answer.

              – Taha Rehman Siddiqui
              Apr 14 '16 at 19:46











            • The function is more helpful than I thought.

              – Carson Ip
              Apr 21 '17 at 12:30
















            16















            1. Edit the /etc/default/grub and replace GRUB_DEFAULT=0 with GRUB_DEFAULT=saved

            2. sudo update-grub


            3. your command will be:



              sudo grub-reboot "$(grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2)" && sudo reboot



            a pretty function in your ~/.bashrc will look like





            # ******************************************************************
            # reboot directly to windows
            # Inspired by http://askubuntu.com/questions/18170/how-to-reboot-into-windows-from-ubuntu
            # ******************************************************************
            function my_reboot_to_windows {
            WINDOWS_TITLE=`grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2`
            sudo grub-reboot "$WINDOWS_TITLE"
            sudo reboot
            }


            In case, your grub.conf contains multiple lines for Windows, following functions will take care only about lines starting by menuentry and picking just the first one, referring to Windows:



            function my_reboot_to_windows {
            WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
            sudo grub-reboot "$WINDOWS_TITLE"
            sudo reboot
            }





            share|improve this answer


























            • My file /boot/grub/grub.cfg contains more lines with "Windows" in it, many of them stating something like ...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt..., so I assume your code would fail on it. This can be fixed by grepping for ^menuentry 'Windows.

              – Jan Vlcinsky
              Jan 13 '15 at 16:11













            • This should be marked as the correct answer.

              – Taha Rehman Siddiqui
              Apr 14 '16 at 19:46











            • The function is more helpful than I thought.

              – Carson Ip
              Apr 21 '17 at 12:30














            16












            16








            16








            1. Edit the /etc/default/grub and replace GRUB_DEFAULT=0 with GRUB_DEFAULT=saved

            2. sudo update-grub


            3. your command will be:



              sudo grub-reboot "$(grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2)" && sudo reboot



            a pretty function in your ~/.bashrc will look like





            # ******************************************************************
            # reboot directly to windows
            # Inspired by http://askubuntu.com/questions/18170/how-to-reboot-into-windows-from-ubuntu
            # ******************************************************************
            function my_reboot_to_windows {
            WINDOWS_TITLE=`grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2`
            sudo grub-reboot "$WINDOWS_TITLE"
            sudo reboot
            }


            In case, your grub.conf contains multiple lines for Windows, following functions will take care only about lines starting by menuentry and picking just the first one, referring to Windows:



            function my_reboot_to_windows {
            WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
            sudo grub-reboot "$WINDOWS_TITLE"
            sudo reboot
            }





            share|improve this answer
















            1. Edit the /etc/default/grub and replace GRUB_DEFAULT=0 with GRUB_DEFAULT=saved

            2. sudo update-grub


            3. your command will be:



              sudo grub-reboot "$(grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2)" && sudo reboot



            a pretty function in your ~/.bashrc will look like





            # ******************************************************************
            # reboot directly to windows
            # Inspired by http://askubuntu.com/questions/18170/how-to-reboot-into-windows-from-ubuntu
            # ******************************************************************
            function my_reboot_to_windows {
            WINDOWS_TITLE=`grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2`
            sudo grub-reboot "$WINDOWS_TITLE"
            sudo reboot
            }


            In case, your grub.conf contains multiple lines for Windows, following functions will take care only about lines starting by menuentry and picking just the first one, referring to Windows:



            function my_reboot_to_windows {
            WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
            sudo grub-reboot "$WINDOWS_TITLE"
            sudo reboot
            }






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Mar 23 '16 at 6:03









            phuclv

            328121




            328121










            answered Feb 3 '14 at 11:31









            Philippe GachoudPhilippe Gachoud

            455310




            455310













            • My file /boot/grub/grub.cfg contains more lines with "Windows" in it, many of them stating something like ...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt..., so I assume your code would fail on it. This can be fixed by grepping for ^menuentry 'Windows.

              – Jan Vlcinsky
              Jan 13 '15 at 16:11













            • This should be marked as the correct answer.

              – Taha Rehman Siddiqui
              Apr 14 '16 at 19:46











            • The function is more helpful than I thought.

              – Carson Ip
              Apr 21 '17 at 12:30



















            • My file /boot/grub/grub.cfg contains more lines with "Windows" in it, many of them stating something like ...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt..., so I assume your code would fail on it. This can be fixed by grepping for ^menuentry 'Windows.

              – Jan Vlcinsky
              Jan 13 '15 at 16:11













            • This should be marked as the correct answer.

              – Taha Rehman Siddiqui
              Apr 14 '16 at 19:46











            • The function is more helpful than I thought.

              – Carson Ip
              Apr 21 '17 at 12:30

















            My file /boot/grub/grub.cfg contains more lines with "Windows" in it, many of them stating something like ...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt..., so I assume your code would fail on it. This can be fixed by grepping for ^menuentry 'Windows.

            – Jan Vlcinsky
            Jan 13 '15 at 16:11







            My file /boot/grub/grub.cfg contains more lines with "Windows" in it, many of them stating something like ...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt..., so I assume your code would fail on it. This can be fixed by grepping for ^menuentry 'Windows.

            – Jan Vlcinsky
            Jan 13 '15 at 16:11















            This should be marked as the correct answer.

            – Taha Rehman Siddiqui
            Apr 14 '16 at 19:46





            This should be marked as the correct answer.

            – Taha Rehman Siddiqui
            Apr 14 '16 at 19:46













            The function is more helpful than I thought.

            – Carson Ip
            Apr 21 '17 at 12:30





            The function is more helpful than I thought.

            – Carson Ip
            Apr 21 '17 at 12:30











            1














            I use openSUSE which comes with a script called grubonce, which does exactly what you need - set grub entry to be used on next reboot.



            # grubonce
            0: Trace -- openSUSE 12.1 - 3.1.10-1.16
            1: Debug -- openSUSE 12.1 - 3.1.10-1.16
            2: Desktop -- openSUSE 12.1 - 3.1.10-1.16
            3: Failsafe -- openSUSE 12.1 - 3.1.10-1.16

            # grubonce 0
            Using entry #0: Trace -- openSUSE 12.1 - 3.1.10-1.16

            # grubonce 2
            Using entry #2: Desktop -- openSUSE 12.1 - 3.1.10-1.16


            I don't know which (if any) other distributions ship this script, so in case your distro does not have it, you can check out this page:



            http://sidvind.com/wiki/GRUB:_Boot_another_OS_once






            share|improve this answer




























              1














              I use openSUSE which comes with a script called grubonce, which does exactly what you need - set grub entry to be used on next reboot.



              # grubonce
              0: Trace -- openSUSE 12.1 - 3.1.10-1.16
              1: Debug -- openSUSE 12.1 - 3.1.10-1.16
              2: Desktop -- openSUSE 12.1 - 3.1.10-1.16
              3: Failsafe -- openSUSE 12.1 - 3.1.10-1.16

              # grubonce 0
              Using entry #0: Trace -- openSUSE 12.1 - 3.1.10-1.16

              # grubonce 2
              Using entry #2: Desktop -- openSUSE 12.1 - 3.1.10-1.16


              I don't know which (if any) other distributions ship this script, so in case your distro does not have it, you can check out this page:



              http://sidvind.com/wiki/GRUB:_Boot_another_OS_once






              share|improve this answer


























                1












                1








                1







                I use openSUSE which comes with a script called grubonce, which does exactly what you need - set grub entry to be used on next reboot.



                # grubonce
                0: Trace -- openSUSE 12.1 - 3.1.10-1.16
                1: Debug -- openSUSE 12.1 - 3.1.10-1.16
                2: Desktop -- openSUSE 12.1 - 3.1.10-1.16
                3: Failsafe -- openSUSE 12.1 - 3.1.10-1.16

                # grubonce 0
                Using entry #0: Trace -- openSUSE 12.1 - 3.1.10-1.16

                # grubonce 2
                Using entry #2: Desktop -- openSUSE 12.1 - 3.1.10-1.16


                I don't know which (if any) other distributions ship this script, so in case your distro does not have it, you can check out this page:



                http://sidvind.com/wiki/GRUB:_Boot_another_OS_once






                share|improve this answer













                I use openSUSE which comes with a script called grubonce, which does exactly what you need - set grub entry to be used on next reboot.



                # grubonce
                0: Trace -- openSUSE 12.1 - 3.1.10-1.16
                1: Debug -- openSUSE 12.1 - 3.1.10-1.16
                2: Desktop -- openSUSE 12.1 - 3.1.10-1.16
                3: Failsafe -- openSUSE 12.1 - 3.1.10-1.16

                # grubonce 0
                Using entry #0: Trace -- openSUSE 12.1 - 3.1.10-1.16

                # grubonce 2
                Using entry #2: Desktop -- openSUSE 12.1 - 3.1.10-1.16


                I don't know which (if any) other distributions ship this script, so in case your distro does not have it, you can check out this page:



                http://sidvind.com/wiki/GRUB:_Boot_another_OS_once







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jul 16 '12 at 19:33









                Petr UzelPetr Uzel

                4,9792224




                4,9792224























                    1














                    grub-set-default seems more available (grubonce isn't listed in Ubuntu 'verse). It may also be more helpful as Windows 7 has a habit of performing a reboot during startup if updates were applied at last shutdown (that is, it begins startup, processes some update data, reboots, and then displays login page).

                    I've often started Windows 7 only to come back and find Ubuntu running.






                    share|improve this answer



















                    • 1





                      I turned off Windows update, so that should not be a problem :D, I'll try this. From what I saw, it seems like this does the same thing as grub-reboot. I'm editing my question with more detail. Thanks anyway.

                      – jadkik94
                      Jul 16 '12 at 20:52
















                    1














                    grub-set-default seems more available (grubonce isn't listed in Ubuntu 'verse). It may also be more helpful as Windows 7 has a habit of performing a reboot during startup if updates were applied at last shutdown (that is, it begins startup, processes some update data, reboots, and then displays login page).

                    I've often started Windows 7 only to come back and find Ubuntu running.






                    share|improve this answer



















                    • 1





                      I turned off Windows update, so that should not be a problem :D, I'll try this. From what I saw, it seems like this does the same thing as grub-reboot. I'm editing my question with more detail. Thanks anyway.

                      – jadkik94
                      Jul 16 '12 at 20:52














                    1












                    1








                    1







                    grub-set-default seems more available (grubonce isn't listed in Ubuntu 'verse). It may also be more helpful as Windows 7 has a habit of performing a reboot during startup if updates were applied at last shutdown (that is, it begins startup, processes some update data, reboots, and then displays login page).

                    I've often started Windows 7 only to come back and find Ubuntu running.






                    share|improve this answer













                    grub-set-default seems more available (grubonce isn't listed in Ubuntu 'verse). It may also be more helpful as Windows 7 has a habit of performing a reboot during startup if updates were applied at last shutdown (that is, it begins startup, processes some update data, reboots, and then displays login page).

                    I've often started Windows 7 only to come back and find Ubuntu running.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Jul 16 '12 at 20:28









                    charlesbridgecharlesbridge

                    1,12678




                    1,12678








                    • 1





                      I turned off Windows update, so that should not be a problem :D, I'll try this. From what I saw, it seems like this does the same thing as grub-reboot. I'm editing my question with more detail. Thanks anyway.

                      – jadkik94
                      Jul 16 '12 at 20:52














                    • 1





                      I turned off Windows update, so that should not be a problem :D, I'll try this. From what I saw, it seems like this does the same thing as grub-reboot. I'm editing my question with more detail. Thanks anyway.

                      – jadkik94
                      Jul 16 '12 at 20:52








                    1




                    1





                    I turned off Windows update, so that should not be a problem :D, I'll try this. From what I saw, it seems like this does the same thing as grub-reboot. I'm editing my question with more detail. Thanks anyway.

                    – jadkik94
                    Jul 16 '12 at 20:52





                    I turned off Windows update, so that should not be a problem :D, I'll try this. From what I saw, it seems like this does the same thing as grub-reboot. I'm editing my question with more detail. Thanks anyway.

                    – jadkik94
                    Jul 16 '12 at 20:52











                    1














                    In Fedora, you can use the following script. Note that this is mostly the same as described in https://askubuntu.com/a/18186/149422, with a few modifications for GRUB 2 in Fedora.



                    #!/bin/bash
                    if [ `readlink /boot/grub2/grubenv` == "/boot/efi/EFI/fedora/grubenv" ]; then
                    sudo mv /boot/grub2/grubenv /boot/grub2/grubenv-original
                    sudo ln -s ../efi/EFI/fedora/grubenv /boot/grub2/grubenv
                    fi
                    MENU_ENTRY=`grep ^menuentry /boot/grub2/grub.cfg | grep --line-number Windows`
                    MENU_NUMBER=$(( `echo $MENU_ENTRY | sed -e "s/:.*//"` - 1 ))
                    sudo grub2-reboot $MENU_NUMBER
                    sudo reboot





                    share|improve this answer






























                      1














                      In Fedora, you can use the following script. Note that this is mostly the same as described in https://askubuntu.com/a/18186/149422, with a few modifications for GRUB 2 in Fedora.



                      #!/bin/bash
                      if [ `readlink /boot/grub2/grubenv` == "/boot/efi/EFI/fedora/grubenv" ]; then
                      sudo mv /boot/grub2/grubenv /boot/grub2/grubenv-original
                      sudo ln -s ../efi/EFI/fedora/grubenv /boot/grub2/grubenv
                      fi
                      MENU_ENTRY=`grep ^menuentry /boot/grub2/grub.cfg | grep --line-number Windows`
                      MENU_NUMBER=$(( `echo $MENU_ENTRY | sed -e "s/:.*//"` - 1 ))
                      sudo grub2-reboot $MENU_NUMBER
                      sudo reboot





                      share|improve this answer




























                        1












                        1








                        1







                        In Fedora, you can use the following script. Note that this is mostly the same as described in https://askubuntu.com/a/18186/149422, with a few modifications for GRUB 2 in Fedora.



                        #!/bin/bash
                        if [ `readlink /boot/grub2/grubenv` == "/boot/efi/EFI/fedora/grubenv" ]; then
                        sudo mv /boot/grub2/grubenv /boot/grub2/grubenv-original
                        sudo ln -s ../efi/EFI/fedora/grubenv /boot/grub2/grubenv
                        fi
                        MENU_ENTRY=`grep ^menuentry /boot/grub2/grub.cfg | grep --line-number Windows`
                        MENU_NUMBER=$(( `echo $MENU_ENTRY | sed -e "s/:.*//"` - 1 ))
                        sudo grub2-reboot $MENU_NUMBER
                        sudo reboot





                        share|improve this answer















                        In Fedora, you can use the following script. Note that this is mostly the same as described in https://askubuntu.com/a/18186/149422, with a few modifications for GRUB 2 in Fedora.



                        #!/bin/bash
                        if [ `readlink /boot/grub2/grubenv` == "/boot/efi/EFI/fedora/grubenv" ]; then
                        sudo mv /boot/grub2/grubenv /boot/grub2/grubenv-original
                        sudo ln -s ../efi/EFI/fedora/grubenv /boot/grub2/grubenv
                        fi
                        MENU_ENTRY=`grep ^menuentry /boot/grub2/grub.cfg | grep --line-number Windows`
                        MENU_NUMBER=$(( `echo $MENU_ENTRY | sed -e "s/:.*//"` - 1 ))
                        sudo grub2-reboot $MENU_NUMBER
                        sudo reboot






                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited Apr 13 '17 at 12:22









                        Community

                        1




                        1










                        answered Jan 27 '16 at 13:33









                        Roy Hyunjin HanRoy Hyunjin Han

                        1113




                        1113























                            1














                            I am using Ubuntu 16.04 and the above solutions did not work for me ... for some reason sudo grub-reboot 2 never seemed to update the /boot/grub/grubenv file, even after changing GRUB_DEFAULT=0 to GRUB_DEFAULT=saved in both /etc/default/grub and /boot/grub/menu.lst. Using the savedefault --default=2 --once command in grub also did not seem to work nor change the grubenv file. It just kept coming back to the original grub menu as if nothing had been done.



                            So I ended up doing it manually and it has been working (not sure how it would work with RAID drives, though).



                            sudo grub-editenv - set next_entry=2
                            reboot


                            Where the 2 is the zero-based menu entry location for the Windows entry in the grub start-up menu.



                            You can see why this works by looking at the /boot/grub/grub.cfg file, as it uses the next_entry value and then resets it for the next boot.






                            share|improve this answer




























                              1














                              I am using Ubuntu 16.04 and the above solutions did not work for me ... for some reason sudo grub-reboot 2 never seemed to update the /boot/grub/grubenv file, even after changing GRUB_DEFAULT=0 to GRUB_DEFAULT=saved in both /etc/default/grub and /boot/grub/menu.lst. Using the savedefault --default=2 --once command in grub also did not seem to work nor change the grubenv file. It just kept coming back to the original grub menu as if nothing had been done.



                              So I ended up doing it manually and it has been working (not sure how it would work with RAID drives, though).



                              sudo grub-editenv - set next_entry=2
                              reboot


                              Where the 2 is the zero-based menu entry location for the Windows entry in the grub start-up menu.



                              You can see why this works by looking at the /boot/grub/grub.cfg file, as it uses the next_entry value and then resets it for the next boot.






                              share|improve this answer


























                                1












                                1








                                1







                                I am using Ubuntu 16.04 and the above solutions did not work for me ... for some reason sudo grub-reboot 2 never seemed to update the /boot/grub/grubenv file, even after changing GRUB_DEFAULT=0 to GRUB_DEFAULT=saved in both /etc/default/grub and /boot/grub/menu.lst. Using the savedefault --default=2 --once command in grub also did not seem to work nor change the grubenv file. It just kept coming back to the original grub menu as if nothing had been done.



                                So I ended up doing it manually and it has been working (not sure how it would work with RAID drives, though).



                                sudo grub-editenv - set next_entry=2
                                reboot


                                Where the 2 is the zero-based menu entry location for the Windows entry in the grub start-up menu.



                                You can see why this works by looking at the /boot/grub/grub.cfg file, as it uses the next_entry value and then resets it for the next boot.






                                share|improve this answer













                                I am using Ubuntu 16.04 and the above solutions did not work for me ... for some reason sudo grub-reboot 2 never seemed to update the /boot/grub/grubenv file, even after changing GRUB_DEFAULT=0 to GRUB_DEFAULT=saved in both /etc/default/grub and /boot/grub/menu.lst. Using the savedefault --default=2 --once command in grub also did not seem to work nor change the grubenv file. It just kept coming back to the original grub menu as if nothing had been done.



                                So I ended up doing it manually and it has been working (not sure how it would work with RAID drives, though).



                                sudo grub-editenv - set next_entry=2
                                reboot


                                Where the 2 is the zero-based menu entry location for the Windows entry in the grub start-up menu.



                                You can see why this works by looking at the /boot/grub/grub.cfg file, as it uses the next_entry value and then resets it for the next boot.







                                share|improve this answer












                                share|improve this answer



                                share|improve this answer










                                answered Nov 20 '17 at 2:42









                                user4061565user4061565

                                1111




                                1111























                                    1














                                    A super easy way to do it is with the
                                    GRUB Reboot GNOME Shell Extension
                                    (that is, if you're using GNOME).



                                    To use the extension, go to the site linked above, and click the little toggle in the top right corner (it probably says Off when you first navigate to the page). You will be asked to confirm that you would like to download and install the extension.



                                    Once it is installed, you can open your System menu and click the power button as you normally would for a restart. The window that pops up confirming that you would like to shutdown or restart now has a button labelled "Restart to...". When you click that button, the items in your grub menu appear in the list so that you can select which OS to automatically launch after restarting. If you select one of those items, your system will shut down and restart using your selected grub options.






                                    share|improve this answer





















                                    • 1





                                      I edited my post to include details of installing and using the extension.

                                      – Dylan Smith
                                      Nov 16 '18 at 17:59
















                                    1














                                    A super easy way to do it is with the
                                    GRUB Reboot GNOME Shell Extension
                                    (that is, if you're using GNOME).



                                    To use the extension, go to the site linked above, and click the little toggle in the top right corner (it probably says Off when you first navigate to the page). You will be asked to confirm that you would like to download and install the extension.



                                    Once it is installed, you can open your System menu and click the power button as you normally would for a restart. The window that pops up confirming that you would like to shutdown or restart now has a button labelled "Restart to...". When you click that button, the items in your grub menu appear in the list so that you can select which OS to automatically launch after restarting. If you select one of those items, your system will shut down and restart using your selected grub options.






                                    share|improve this answer





















                                    • 1





                                      I edited my post to include details of installing and using the extension.

                                      – Dylan Smith
                                      Nov 16 '18 at 17:59














                                    1












                                    1








                                    1







                                    A super easy way to do it is with the
                                    GRUB Reboot GNOME Shell Extension
                                    (that is, if you're using GNOME).



                                    To use the extension, go to the site linked above, and click the little toggle in the top right corner (it probably says Off when you first navigate to the page). You will be asked to confirm that you would like to download and install the extension.



                                    Once it is installed, you can open your System menu and click the power button as you normally would for a restart. The window that pops up confirming that you would like to shutdown or restart now has a button labelled "Restart to...". When you click that button, the items in your grub menu appear in the list so that you can select which OS to automatically launch after restarting. If you select one of those items, your system will shut down and restart using your selected grub options.






                                    share|improve this answer















                                    A super easy way to do it is with the
                                    GRUB Reboot GNOME Shell Extension
                                    (that is, if you're using GNOME).



                                    To use the extension, go to the site linked above, and click the little toggle in the top right corner (it probably says Off when you first navigate to the page). You will be asked to confirm that you would like to download and install the extension.



                                    Once it is installed, you can open your System menu and click the power button as you normally would for a restart. The window that pops up confirming that you would like to shutdown or restart now has a button labelled "Restart to...". When you click that button, the items in your grub menu appear in the list so that you can select which OS to automatically launch after restarting. If you select one of those items, your system will shut down and restart using your selected grub options.







                                    share|improve this answer














                                    share|improve this answer



                                    share|improve this answer








                                    edited Nov 9 '18 at 14:37

























                                    answered Nov 6 '18 at 0:32









                                    Dylan SmithDylan Smith

                                    112




                                    112








                                    • 1





                                      I edited my post to include details of installing and using the extension.

                                      – Dylan Smith
                                      Nov 16 '18 at 17:59














                                    • 1





                                      I edited my post to include details of installing and using the extension.

                                      – Dylan Smith
                                      Nov 16 '18 at 17:59








                                    1




                                    1





                                    I edited my post to include details of installing and using the extension.

                                    – Dylan Smith
                                    Nov 16 '18 at 17:59





                                    I edited my post to include details of installing and using the extension.

                                    – Dylan Smith
                                    Nov 16 '18 at 17:59











                                    0














                                    Agree with @jw013.
                                    And you can also give the menu tile to grub-reboot (including the title of parent menu). e.g:



                                    $ sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.13.0-26-generic"
                                    $ sudo reboot


                                    Where "Advanced options for Ubuntu" is the parent menu, "Ubuntu, with Linux 4.13.0-26-generic" is submenu.






                                    share|improve this answer




























                                      0














                                      Agree with @jw013.
                                      And you can also give the menu tile to grub-reboot (including the title of parent menu). e.g:



                                      $ sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.13.0-26-generic"
                                      $ sudo reboot


                                      Where "Advanced options for Ubuntu" is the parent menu, "Ubuntu, with Linux 4.13.0-26-generic" is submenu.






                                      share|improve this answer


























                                        0












                                        0








                                        0







                                        Agree with @jw013.
                                        And you can also give the menu tile to grub-reboot (including the title of parent menu). e.g:



                                        $ sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.13.0-26-generic"
                                        $ sudo reboot


                                        Where "Advanced options for Ubuntu" is the parent menu, "Ubuntu, with Linux 4.13.0-26-generic" is submenu.






                                        share|improve this answer













                                        Agree with @jw013.
                                        And you can also give the menu tile to grub-reboot (including the title of parent menu). e.g:



                                        $ sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.13.0-26-generic"
                                        $ sudo reboot


                                        Where "Advanced options for Ubuntu" is the parent menu, "Ubuntu, with Linux 4.13.0-26-generic" is submenu.







                                        share|improve this answer












                                        share|improve this answer



                                        share|improve this answer










                                        answered Mar 7 '18 at 10:29









                                        Changbin DuChangbin Du

                                        1




                                        1























                                            0














                                            Reboot the machine to a specific boot target (Grub entry).

                                            The boot target is interactivly selected with fzf.



                                            # Search for grub.cfg
                                            GRUB_CFG=$(find /boot -name grub.cfg 2> /dev/null)

                                            if [[ -z ${GRUB_CFG} ]]; then
                                            echo "No grub.cfg found under /boot. Try as root."
                                            exit 1
                                            elif [[ ! -r ${GRUB_CFG} ]]; then
                                            echo "${GRUB_CFG} is not readable. Try as root."
                                            exit 1
                                            fi

                                            GRUB_MENUENTRY=$(awk -F' '/menuentry / {print $2}' ${GRUB_CFG} | fzf)

                                            # Set boot target for next boot
                                            grub2-reboot "${GRUB_MENUENTRY}"

                                            reboot





                                            share|improve this answer




























                                              0














                                              Reboot the machine to a specific boot target (Grub entry).

                                              The boot target is interactivly selected with fzf.



                                              # Search for grub.cfg
                                              GRUB_CFG=$(find /boot -name grub.cfg 2> /dev/null)

                                              if [[ -z ${GRUB_CFG} ]]; then
                                              echo "No grub.cfg found under /boot. Try as root."
                                              exit 1
                                              elif [[ ! -r ${GRUB_CFG} ]]; then
                                              echo "${GRUB_CFG} is not readable. Try as root."
                                              exit 1
                                              fi

                                              GRUB_MENUENTRY=$(awk -F' '/menuentry / {print $2}' ${GRUB_CFG} | fzf)

                                              # Set boot target for next boot
                                              grub2-reboot "${GRUB_MENUENTRY}"

                                              reboot





                                              share|improve this answer


























                                                0












                                                0








                                                0







                                                Reboot the machine to a specific boot target (Grub entry).

                                                The boot target is interactivly selected with fzf.



                                                # Search for grub.cfg
                                                GRUB_CFG=$(find /boot -name grub.cfg 2> /dev/null)

                                                if [[ -z ${GRUB_CFG} ]]; then
                                                echo "No grub.cfg found under /boot. Try as root."
                                                exit 1
                                                elif [[ ! -r ${GRUB_CFG} ]]; then
                                                echo "${GRUB_CFG} is not readable. Try as root."
                                                exit 1
                                                fi

                                                GRUB_MENUENTRY=$(awk -F' '/menuentry / {print $2}' ${GRUB_CFG} | fzf)

                                                # Set boot target for next boot
                                                grub2-reboot "${GRUB_MENUENTRY}"

                                                reboot





                                                share|improve this answer













                                                Reboot the machine to a specific boot target (Grub entry).

                                                The boot target is interactivly selected with fzf.



                                                # Search for grub.cfg
                                                GRUB_CFG=$(find /boot -name grub.cfg 2> /dev/null)

                                                if [[ -z ${GRUB_CFG} ]]; then
                                                echo "No grub.cfg found under /boot. Try as root."
                                                exit 1
                                                elif [[ ! -r ${GRUB_CFG} ]]; then
                                                echo "${GRUB_CFG} is not readable. Try as root."
                                                exit 1
                                                fi

                                                GRUB_MENUENTRY=$(awk -F' '/menuentry / {print $2}' ${GRUB_CFG} | fzf)

                                                # Set boot target for next boot
                                                grub2-reboot "${GRUB_MENUENTRY}"

                                                reboot






                                                share|improve this answer












                                                share|improve this answer



                                                share|improve this answer










                                                answered Jan 27 at 22:58









                                                Simon SchürgSimon Schürg

                                                11316




                                                11316






























                                                    draft saved

                                                    draft discarded




















































                                                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                                                    • Please be sure to answer the question. Provide details and share your research!

                                                    But avoid



                                                    • Asking for help, clarification, or responding to other answers.

                                                    • Making statements based on opinion; back them up with references or personal experience.


                                                    To learn more, see our tips on writing great answers.




                                                    draft saved


                                                    draft discarded














                                                    StackExchange.ready(
                                                    function () {
                                                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f43196%2fhow-can-i-tell-grub-i-want-to-reboot-into-windows-before-i-reboot%23new-answer', 'question_page');
                                                    }
                                                    );

                                                    Post as a guest















                                                    Required, but never shown





















































                                                    Required, but never shown














                                                    Required, but never shown












                                                    Required, but never shown







                                                    Required, but never shown

































                                                    Required, but never shown














                                                    Required, but never shown












                                                    Required, but never shown







                                                    Required, but never shown







                                                    Popular posts from this blog

                                                    How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

                                                    is 'sed' thread safe

                                                    How to make a Squid Proxy server?