装ubuntu时,在分区那一步,窗口下部有一个“引导程序”项,那就是grub安装位置,grub不要安到/dev/sda,以及/dev/sda1(也就是win的系统盘),可以安到ubuntu的根分区或/boot(如果单独分出来的话),在下拉列表中选择。
假设grub安到了/dev/sda5 ,然后在livecd中,打开终端,执行
代码: 全选
sudo dd if=/dev/sda5 of=ubuntu.pbr bs=512 count=1
sudo dd if=/dev/sdaX of=ubuntu.pbr bs=512 count=1
其中,/dev/sdaX为安装grub的地方,例子中是/dev/sda5,请根据您的情况修改。 ubuntu.pbr这个名字可以随便改,此为示例。
然后livecd的家目录中会出现一个名为ubuntu.pbr的文件,直接将此文件复制至windows的c盘,然后,
如果是xp,直接编辑xp的boot.ini,加一行
代码: 全选
C:\ubuntu.pbr="ubuntu"
代码: 全选
[boot loader]
timeout=5
default=
[operating systems]
C:\ubuntu.pbr="ubuntu"
win8需在重启后用bcdedit或其他工具(例如bootice)添加启动项。而我则用win7的bootmgr替换掉win8的bootmgr,所以我的win8(更确切的是bootmgr)也认boot.ini
PS:如果你只想用命令,那么,4条命令,
第一条上面已提到,就是将grub引导块读出来,写入一个名为ubuntu.pbr的文件。
第二条,挂载windows的系统盘。 示例:sudo mount /dev/sda1 /media/win
第三条,将ubuntu.pbr文件复制至windows的c盘 示例:sudo cp ~/ubuntu.pbr /media/win/ubuntu.pbr
第四条,添加启动项。 示例:sudo echo 'c:\ubuntu.pbr="ubuntu"' >> /media/win/boot.ini (如果是xp)
如果还要第五条,就是 reboot
每个人系统安装方式及磁盘分区都不甚相同,所以请根据您的情况修改上述命令。
dd这个神器,为什么没见几个人提过呢?