双系统用win7启动管理器管理debian和win7的启动

我倒是无此需求 不过某同学挺希望这么做的 分享一个方法

首先在安装debian时不能选安装grub到第一个分区(win7在的分区)开头,选择安装到其他分区,如/dev/sda8 ,完毕。
这样之后shell/或livecd进去运行把启动信息dd出来

dd if=/dev/sda8 of=/mnt/debian.bin bs=512 count=1

其中/dev/sda8 是grub位置,of后的是是输出位置(样例挂了盘在/mnt下)。
然后reboot进入win
管理员打开cmd,运行
1>bcdedit /create /d “Debian GNU/Linux” /application BOOTSECTOR
这一句添加启动项,只有引号里名字可以改。运行完毕,得一组id
比如{014561d2-532c-11e2-abdc-047d7b7904bc}
2>bcdedit /set {014561d2-532c-11e2-abdc-047d7b7904bc} device partition=C:
启动驱动器为win的c盘
3>bcdedit /set {014561d2-532c-11e2-abdc-047d7b7904bc} path \debian.bin
启动的就是\debian.bin,\指c根目录,把dd出来的debian.bin放到c根目录
4>bcdedit /displayorder {014561d2-532c-11e2-abdc-047d7b7904bc} /addlast
添加到启动菜单最后(last)
5>bcdedit /timeout 30
更改启动时间为30秒
You can read more about bcdedit on this Microsoft TechNet article.
注:无心折腾,不要搞。做了很久才成功(安装grub到分区is a bad idea)。
如果你已经安装好又想改,可以用win的修复运行
>bootrec /fixmbr
>bootrec /fixboot
这样grub就没了,可以用安装光盘进入shell安装grub到分区,再获取.bin文件

grub-install --force /dev/sda8

这里用了强制才成功,看到finished就是成功了

重启可以看到效果 Debian中还有Win7的启动项

原文地址:https://www.cnblogs.com/timeship/p/2937727.html