Bootstrap

Ubuntu/Windows双系统远程切换方案

Ubuntu/Windows双系统远程切换方案

对于一台安装了Ubuntu和Windows双系统的远程服务器,通常无法在BIOS中联网,也就无法用键盘选择要进入的系统,本文提供了两种可远程切换系统的方案。

注意:使用以下方案的前提是用grub作为引导系统。

方案1

保持grub中的默认系统为Ubuntu,如果此时想临时切换到Windows,则可以使用以下的指令:

sudo grub-reboot 2 # 输入windows对应的序号,一般在先装Windows后装Ubuntu的情况下windows对应的序号是2
sudo reboot

以上方案比较简单,但在Windows中再次重启时还是会回到Ubuntu,如果想一直保持在某个系统,则需要使用方案2。

方案2

  • 若当前在Windows

    在Windows上安装Disk Genius,复制Linux boot分区下的/grub/grub.cfg(注意不是根目录/下的boot)到Windows桌面。
    请添加图片描述
    请添加图片描述

    若需要下次重启为Linux,则修改第29行,将default设置为Linux系统的代号(一般为0)。
    请添加图片描述

    用刚才修改的grub.cfg替换源文件,重启即可默认启动Linux。

    如果想省事,可以保留已经修改的grub.cfg文件,每次想重启到Linux就用Disk Genius替换Linux分区/grub/grub.cfg下的文件。

    ❗️注意:由于grub.cfg中包含了Linux需要载入的内核文件信息,因此如果此文件中指定的内核文件名称无法找到将会导致Linux无法正常启动。

    例如之前拷贝了一份grub.cfg到Windows,但之后Linux的内核版本更新了,而Windows中的grub.cfg所包含的内核已经被Linux的升级程序删除了,这时如果用Windows中的grub.cfg进行替换,就会导致Linux无法进入系统。

    当然,如果不慎遇到了上述问题,也有补救措施。可以读取Linux的/usr/src目录,其中列出了当前的内核文件,按照版本号手动修改grub.cfg即可。
    因此,为保险起见,最好还是每次都从/grub/grub.cfg复制一份新文件到Windows。

  • 若当前在Linux

    如果希望下次重启为Windows,为安全起见不建议直接修改grub.cfg,可以修改/etc/default/grub中的GRUB_DEFAULT,然后执行

    sudo update-grub
    

    系统即可自动更新grub.cfg

;