如何从Ubuntu重启到Windows?

Modified on: Sat, 09 Jun 2018 20:11:23 +0800

我正在寻找一种在10.10 / Vista双启动系统上从Ubuntu重启到Windows的方法。具体的用例是我希望能够ssh到我正在运行的Ubuntu实例并发出一个命令,它将直接重启到Windows。

我找到了一篇很有前途的博文,但是它建议的脚本不起作用:

#!/bin/bash WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows` MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 )) sudo grub-reboot $MENU_NUMBER sudo reboot

man grub-reboot没有多大帮助,但似乎正在引导我朝着正确的方向前进:

  

设置GRUB的默认启动项,
  仅用于下一次启动

#!/bin/bash

WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg  | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
sudo grub-reboot $MENU_NUMBER
sudo reboot

这将返回预期值,但在重新启动时,第一个菜单项仍会突出显示。任何想法为什么这不起作用或建议其他解决方案?

最佳答案

  • 您必须先编辑grub。

    sudo gedit /etc/default/grub
    
  • 搜索GRUB_DEFAULT = 0行并将其修改为GRUB_DEFAULT =已保存

  • 使用以下命令更新您的grub。

    sudo update-grub  
    
  • 现在创建一个文件并添加这些行


    #!/bin/bash WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows` MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 )) sudo grub-reboot $MENU_NUMBER sudo reboot
  • 使脚本可执行。
  • 现在您可以从终端运行此脚本以重新启动到Windows。
  • 或者您可以在终端中执行以下命令

    #!/bin/bash
    WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg  | grep --line-number Windows`
    MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
    sudo grub-reboot $MENU_NUMBER
    sudo reboot
    
  • 其中X是您要从GRUB菜单重新启动的操作系统的菜单位置。(以0作为第一个条目开始)

例如:

  • 如果这是您的grub菜单,如果您想要启动到Windows,您应该将X的值设为5。
  • sudo grub-reboot 5

  • 您还可以为上述命令创建一个启动器,以便双击启动器将重新启动到Windows。

相关问答

添加新评论