Windows下利用BCD引导ubuntu实现双系统无缝切换
这是我在一个博客上看到的,自己试了一下,非常好用,操作简单,加上bcd这种引导方式的便捷,更是让我爱不释手,所以转过来给没有找到方法的童鞋一个不错的选择!不过我在opensuse上没能成功,导致windows引导丢失,试了很多次都不行,可能是我技术不够!下面开始。
以下内容引用原文,原文在这里!
Windows下利用BCD引导ubuntu实现双系统无缝切换
环境:Windows 8 64位 + ubuntu 12.10 32位(文中用的是ubuntu12.10,其他的都差不多,我用ubuntu13.10、红帽、centos、深度都可以,唯独opensuse没成功)
首先是U盘安装ubuntu 12.10:下载ubuntu镜像,然后使用UltraISO 9.5(下载地址二)版来刻录U盘。 如下图:
重启电脑选择从U盘启动,进入安装界面,因为我们电脑上已经有了一个操作系统(windows8),在下面这个界面它会要我们选择如何进行安装,我们选择最后一项“something else”(就是完全自定义安装)。
-
接下来,我们会看到这样的一个界面,因为我电脑以前安装过openSUSE所以就不用再分区了。如果你还没有单独为ubuntu分区,请首先分区。如果你要用Windows的bcd来引导ubuntu,那么你至少要为ubuntu分两个区,一个作为 / 根节点,一个作为 /boot 启动节点(swap分区我觉得要不要都无所谓,4G的内存,无所谓了)。
/boot分区是bcd能否成功引导ubuntu的关键,这个分区不需要很大,我这里分配了200MB(其实100MB就够了)。分区后的大概情况如下图:然后,下面有个选项是boot loader的安装位置(上图左下方),注意这里一定要选择你/boot节点所在的分区,我这里 /boot 所在的分区是 /dev/sda2 ,所以boot loader 就选择安装在 /dev/sda2
接下来就是安装过程...waiting .....waiting...
安装完成后,系统会提示重启。
这时你会发现,重启后会直接进入Windows 8,根本没有ubuntu的选项!!
这点与opensuse不一样,opensuse在重启后,会进入grub2菜单,然后由你选择要进入Windows还是linux。
出现这两种情况的原因是:虽然启动器都安装在了 /boot 所在的分区,但是openSUSE在安装的过程中会把 /boot 所在的分区设为活动分区,而ubuntu 12.10则没有设置活动分区。启动器所在的分区不是活动分区,当然不会启动了。-
这时我们要用到一个软件,绿色的,WinHex_16.3_SR2 (下载地址二)。
利用这个软件,可以把 ubuntu /boot所在分区的启动扇区复制出来,然后利用复制出来的扇区在Windows bcd下来引导ubuntu。将刚才下载下来的文件解压,用管理员身份打开打开WinHex.exe。
点击 tools -> open disk,然后选择 physical media(就是物理设备)
接下来的界面如下图:这里有两个linux下的分区,一个大小为198MB,一个是14.5G。很明显,那个198MB的分区就是我们安装ubuntu时建立的 /boot 所在的分区。
选中我们的 /boot 所在的那个分区,然后在菜单项选择 edit->copy sector->into new file,然后将导出来的文件命名为ubuntu12.10.bin,放到C盘根目录下。至此,启动文件的复制结束。
-
下面步骤就是创建Windows的启动项了。
以管理员身份打开CMD,
然后输入bcdedit /create /d "ubuntu" /application bootsector
此时会得到一长串数字{123456789},复制一下,等会要用到三次 。
再次输入bcdedit /set {123456789} device partition=c:
再次输入bcdedit /set {123456789} path \ubuntu12.10.bin
最后再次输入:bcdedit /displayorder {123456789} /addlast
最后可以输入“bcdedit”来查看启动项是否成功建立,下图是成功建立的情况: OVER! 重启就可以在windows的引导项中看到ubuntu的身影咯~
以前有一篇openSUSE的文章和这个类似,建立启动项的方法可以参考那一篇。
转载于:https://my.oschina.net/penics/blog/188378