How can I tell GRUB I want to reboot into WindowsâÂÂbefore I reboot?
Clash Royale CLAN TAG#URR8PPP
up vote
27
down vote
favorite
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
add a comment |Â
up vote
27
down vote
favorite
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
what distro are you on? I think i've got it working on my Debian.
â jw013
Jul 16 '12 at 22:14
add a comment |Â
up vote
27
down vote
favorite
up vote
27
down vote
favorite
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
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
grub2 dual-boot reboot
edited Apr 13 '17 at 12:36
Communityâ¦
1
1
asked Jul 16 '12 at 18:08
jadkik94
3232411
3232411
what distro are you on? I think i've got it working on my Debian.
â jw013
Jul 16 '12 at 22:14
add a comment |Â
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
add a comment |Â
8 Answers
8
active
oldest
votes
up vote
17
down vote
accepted
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 theGRUB_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>
.
I see ur words "default entry for grub must be set tosaved
", while my keepingGRUB_DEFAULT=0
also sufficed. So issaved
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
add a comment |Â
up vote
14
down vote
- Edit the /etc/default/grub and replace
GRUB_DEFAULT=0
withGRUB_DEFAULT=saved
sudo update-grub
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 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 cut -d"'" -f2`
sudo grub-reboot "$WINDOWS_TITLE"
sudo reboot
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
add a comment |Â
up vote
1
down vote
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
add a comment |Â
up vote
1
down vote
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.
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 asgrub-reboot
. I'm editing my question with more detail. Thanks anyway.
â jadkik94
Jul 16 '12 at 20:52
add a comment |Â
up vote
1
down vote
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
add a comment |Â
up vote
1
down vote
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.
add a comment |Â
up vote
0
down vote
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.
add a comment |Â
up vote
0
down vote
A super easy way to do it is with the
GRUB Reboot GNOME Shell Extension
(that is, if you're using GNOME).
New contributor
add a comment |Â
8 Answers
8
active
oldest
votes
8 Answers
8
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
17
down vote
accepted
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 theGRUB_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>
.
I see ur words "default entry for grub must be set tosaved
", while my keepingGRUB_DEFAULT=0
also sufficed. So issaved
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
add a comment |Â
up vote
17
down vote
accepted
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 theGRUB_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>
.
I see ur words "default entry for grub must be set tosaved
", while my keepingGRUB_DEFAULT=0
also sufficed. So issaved
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
add a comment |Â
up vote
17
down vote
accepted
up vote
17
down vote
accepted
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 theGRUB_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>
.
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 theGRUB_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>
.
answered Jul 16 '12 at 22:16
jw013
35.4k698124
35.4k698124
I see ur words "default entry for grub must be set tosaved
", while my keepingGRUB_DEFAULT=0
also sufficed. So issaved
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
add a comment |Â
I see ur words "default entry for grub must be set tosaved
", while my keepingGRUB_DEFAULT=0
also sufficed. So issaved
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
add a comment |Â
up vote
14
down vote
- Edit the /etc/default/grub and replace
GRUB_DEFAULT=0
withGRUB_DEFAULT=saved
sudo update-grub
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 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 cut -d"'" -f2`
sudo grub-reboot "$WINDOWS_TITLE"
sudo reboot
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
add a comment |Â
up vote
14
down vote
- Edit the /etc/default/grub and replace
GRUB_DEFAULT=0
withGRUB_DEFAULT=saved
sudo update-grub
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 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 cut -d"'" -f2`
sudo grub-reboot "$WINDOWS_TITLE"
sudo reboot
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
add a comment |Â
up vote
14
down vote
up vote
14
down vote
- Edit the /etc/default/grub and replace
GRUB_DEFAULT=0
withGRUB_DEFAULT=saved
sudo update-grub
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 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 cut -d"'" -f2`
sudo grub-reboot "$WINDOWS_TITLE"
sudo reboot
- Edit the /etc/default/grub and replace
GRUB_DEFAULT=0
withGRUB_DEFAULT=saved
sudo update-grub
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 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 cut -d"'" -f2`
sudo grub-reboot "$WINDOWS_TITLE"
sudo reboot
edited Mar 23 '16 at 6:03
phuclv
296120
296120
answered Feb 3 '14 at 11:31
Philippe Gachoud
373210
373210
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
add a comment |Â
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
add a comment |Â
up vote
1
down vote
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
add a comment |Â
up vote
1
down vote
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
add a comment |Â
up vote
1
down vote
up vote
1
down vote
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
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
answered Jul 16 '12 at 19:33
Petr Uzel
4,8092123
4,8092123
add a comment |Â
add a comment |Â
up vote
1
down vote
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.
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 asgrub-reboot
. I'm editing my question with more detail. Thanks anyway.
â jadkik94
Jul 16 '12 at 20:52
add a comment |Â
up vote
1
down vote
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.
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 asgrub-reboot
. I'm editing my question with more detail. Thanks anyway.
â jadkik94
Jul 16 '12 at 20:52
add a comment |Â
up vote
1
down vote
up vote
1
down vote
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.
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.
answered Jul 16 '12 at 20:28
charlesbridge
1,08678
1,08678
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 asgrub-reboot
. I'm editing my question with more detail. Thanks anyway.
â jadkik94
Jul 16 '12 at 20:52
add a comment |Â
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 asgrub-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
add a comment |Â
up vote
1
down vote
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
add a comment |Â
up vote
1
down vote
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
add a comment |Â
up vote
1
down vote
up vote
1
down vote
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
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
edited Apr 13 '17 at 12:22
Communityâ¦
1
1
answered Jan 27 '16 at 13:33
Roy Hyunjin Han
1113
1113
add a comment |Â
add a comment |Â
up vote
1
down vote
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.
add a comment |Â
up vote
1
down vote
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.
add a comment |Â
up vote
1
down vote
up vote
1
down vote
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.
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.
answered Nov 20 '17 at 2:42
user4061565
1111
1111
add a comment |Â
add a comment |Â
up vote
0
down vote
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.
add a comment |Â
up vote
0
down vote
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.
add a comment |Â
up vote
0
down vote
up vote
0
down vote
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.
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.
answered Mar 7 at 10:29
Changbin Du
1
1
add a comment |Â
add a comment |Â
up vote
0
down vote
A super easy way to do it is with the
GRUB Reboot GNOME Shell Extension
(that is, if you're using GNOME).
New contributor
add a comment |Â
up vote
0
down vote
A super easy way to do it is with the
GRUB Reboot GNOME Shell Extension
(that is, if you're using GNOME).
New contributor
add a comment |Â
up vote
0
down vote
up vote
0
down vote
A super easy way to do it is with the
GRUB Reboot GNOME Shell Extension
(that is, if you're using GNOME).
New contributor
A super easy way to do it is with the
GRUB Reboot GNOME Shell Extension
(that is, if you're using GNOME).
New contributor
New contributor
answered 3 mins ago
Dylan Smith
1
1
New contributor
New contributor
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
what distro are you on? I think i've got it working on my Debian.
â jw013
Jul 16 '12 at 22:14