先装了Ubuntu,想装个Windows 10,但众所周知,Windows的脑残安装程序必定覆盖mbr,完全不会保留Linux的grub引导,所以安装Windows前先做好mbr的备份。本教程仅适用mbr引导并且grub已安装在mbr的系统,Windows 7/8/10等系统都适用,通过uefi引导的不适用。
先在Linux中打开终端,备份mbr。
sudo su
dd if=/dev/sda of=grub.mbr bs=512 count=1
把grub.mbr这个文件备份,等Windows安装完毕之后拷贝到C盘根目录。
进入Windows,以管理员身份运行cmd,执行以下命令。
bcdedit /create /d "Linux" /application bootsector
上述命令中的“Linux”为你想显示在Windows启动菜单中的名称,可自定义修改,这步执行完会得到一个id,把id复制下来,继续执行下面命令,我得到的id是77724b54-5a67-11e6-93b0-e4d3533c3e94,请务必替换成自己的id。
bcdedit /set {77724b54-5a67-11e6-93b0-e4d3533c3e94} device partition=c:
bcdedit /set {77724b54-5a67-11e6-93b0-e4d3533c3e94} path \grub.mbr
bcdedit /displayorder {77724b54-5a67-11e6-93b0-e4d3533c3e94} /addlast
bcdedit /timeout 10
这样就完成了,重启系统,就可以在Windows启动菜单中找到Linux的启动项。
如果希望默认直接进入Linux,可再执行一条。
bcdedit /default {77724b54-5a67-11e6-93b0-e4d3533c3e94}
所有操作完成。