win8和ubuntu双系统安装
做了一个windows和Ubuntu双系统,参考了一些文章。网上资料不少,我就不重复了。
虽然没什么难度,但是有些细节在装的时候需要注意。不然造成资料丢失,系统崩溃,你就得不偿失,需要折腾花费较长的时间。
参考的部分文章如下:
使用USB制作启动盘:http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/#button
win7下装Ubuntu双系统:http://jingyan.baidu.com/article/fea4511a7a2820f7bb912522.html
Windows和Ubuntu双系统完全独立的安装方法:http://www.lupaworld.com/article-218606-1.html
[Linux]三种方案在Windows系统下安装ubuntu双系统:http://blog.csdn.net/pleasecallmewhy/article/details/8783657
win7+ubuntu 13.04双系统安装方法:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html
Ubuntu(Linux)和win7 (win8.1)双系统安装: http://jingyan.baidu.com/article/ce09321b22f87d2bff858f83.html
Ubuntu 14.04 和 Windows 8.1 双系统安装步骤:http://os.51cto.com/art/201405/439158.htm
UEFI模式安装win8和ubuntu双系统:http://www.enjoydiy.com/1961.html
关于Windows8 UEFI安全启动协议解读的完整版:http://article.pchome.net/content-1405932.html
预装win8 centos 双系统 双硬盘 efi 启动:http://blog.51yip.com/linux/1539.html
win8 ubuntu双系统安装:http://blog.csdn.net/koffuxu/article/details/8845922
另外,这里有一份文档:http://pan.baidu.com/share/link?shareid=909965749&uk=3374282709
-----------------------------------------------------------------
一,关闭secure boot
开机按F1进入bios=>security=>secure boot
笔记本不同,可能secure boot的配置不同,将其disabled掉,要不然,选择U盘启动,光盘启动都无效,报没有权限。
二,bios里面配置启动项,默认efi only,改为both
bios=>startup=>uefi/legacy boot
启动优先级里面有三个选择,
1,efi only(注释:默认)
2,both (注释:二种方式都可以)
3,legacy only(注释:grub1)
这里说的启动根选择U盘启动,光盘启动不一样。这里的启动是,多系统安装好了,而选择的启动模式。而U盘启动,光盘启动这种情况是系统还没有装时选择的安装启动。我的本子,按F12可以选择U盘启动,或者光盘启动。
为什么要进行这一步,如果不改,默认是装在第二块硬盘上面的,也就是efi的默认启动盘,安装CentOS时:
win8装centos
根本没有“更换设置”这个按钮,并且引导程序只能安装在/dev/sda2上面,选中的情况下,centos6.4 64位,根本安装不成功,所有包安装完后,配置时提示报错,
an unhandled exception has occurred.this is most likely a bug.plese copy the full text of this exeception and file a detailed bug report.against anaconda at http://bug.centos.org/
让提交bug到centos,这个有点坑爹。
将efi only改成both后,重新安装,“更换设置”就会出现,并把引导程序装到centos所在的分区,这样centos可以顺利装完,怎么安装网上太多,在这儿就不哆嗦了。
三,用easybcd和纯grub1实现双启都不可能
用easybcd和纯grub1实现双启根本不可能,大家就不要浪费时间了。网上有说easybcd2.2可以实现,我试过无数次不行。
在 启动优先级里面选择,legacy only,保存重启,久违的centos界面出现了,那叫一个激动。下方向键选择others,windows进不去。总之还是有点高兴的,centos 装成功了,我信心大增,通过grub1,我想能启动win8,然后我就开始尝试用grub1启动win8,又试了不知道多少次不行。我想完全靠grub1 启动是不可能了
四,用centos自带的efi实现双启,或者是多启,这一块是本文的重点,希望大家能理解我的思路。
1,启动优先级里面,选择legacy only,进入到centos
2,下载三个文件,BOOTX64.conf BOOTX64.efi splash.xpm.gz
http://mirrors.163.com/centos/6.4/os/x86_64/EFI/BOOT/ 或者是从iso镜像中解压也行。
3,挂载efi的启动盘
mkdir /mnt/usb
mount /dev/sda2 /mnt/usb
cd /mnt/usb
mkdir image
cp /boot/initramfs-2.6.32-358.el6.x86_64.img ./image/initrd.img
cp /boot/vmlinuz-2.6.32-358.el6.x86_64 ./image/vmlinuz
在efi启动盘的根目录也就是/dev/sda2上面,建一个image文件夹,把装好的cenots内核考过来,我为什么要这么干呢,因为BOOTX64.conf这个文件就是这么干的。
[root@localhost image]# ll /mnt/usb/image/
总用量 26812
-rwxr-xr-x. 1 root root 16532286 6月 1 18:11 initrd.img
-rwxr-xr-x. 1 root root 3089184 6月 1 19:11 initrd.img-arch //这是arch的,装了三系统
-rwxr-xr-x. 1 root root 4043888 6月 1 18:10 vmlinuz
-rwxr-xr-x. 1 root root 3778496 6月 1 19:10 vmlinuz-arch //这也是arch的,
4,这一步建redhat目录是多余的,我是按照操作时候的步骤来写这篇博客的
[root@localhost EFI]# mkdir /mnt/usb/EFI/redhat
为什么要redhat,而不是centos呢,装好的centos,/boot/efi/EFI(注:这个目录在系统的boot下面,不在sda2上面),这个目录下就有redhat,后来我才知道,这个目录没用。
将上面的三个文件BOOTX64.conf BOOTX64.efi splash.xpm.gz,copy到/mnt/usb/EFI/redhat目录下面
看一下我的配置:
[root@localhost redhat]# cat BOOTX64.conf
#debug --graphics
default=1
#splashimage=/EFI/BOOT/splash.xpm.gz
timeout=5
#hiddenmenu
title CentOS 6.4
kernel /image/vmlinuz ro root=/dev/sda7
initrd /image/initrd.img
title Windows8
chainloader /EFI/Microsoft/Boot/win8.efi
title Archlinux
kernel /image/vmlinuz-arch ro root=/dev/sda9
initrd /image/initrd.img-arch
上面的win8.efi是bootmgfw.efi的备份,后来我把bootmgfw.efi也替换了,下面会提到的,这东西启动win8用的。
五,重启测试
重启F1,进bios,把启动优先级设为efi only,保存重起进grub
grub> configfile /efi/redhat/BOOTX64.conf
注意:grub下面是小定的,linux系统下是大写的,最好是用tab键提示。然后三个启动选项就出现了,我选了一下,都是可以进的,那叫一个激动啊,离成功不远了。
grub> chainloader /efi/Microsoft/Boot/win8.efi
win8也是可以进的
只要启动时能让EFI识别BOOTX64.conf这个文件,并读取,就搞这定了。
然后我就开始把redhat这个目录到处copy,发现不行,我又把BOOTX64.conf BOOTX64.efi splash.xpm.gz,这三个文件到处copy,EFI下面的每个目录我都试了。不行。
六,refind efi启动器
没办法啊,就上google上面找efi启动工具,看了好多,发现The rEFInd Boot Manager还是比较靠谱的。
下载地址:http://sourceforge.net/projects/refind/?source=dlp,这个是二进制版的。
该工具官方地址:http://www.rodsbooks.com/refind/ ,下载,安装,以及使用说明都有。
安装配置地址:http://www.rodsbooks.com/refind/installing.html#linux
下面是我的操作:
cp -r refind /mnt/usb/EFI/
cd /mnt/usb/EFI/refind
rm -rf drivers_ia32
rm -f refind_ia32.efi
rm -rf tools_ia32 [root@localhost boot]# ll /mnt/usb/EFI/refind/ //删除后就是这样子
总用量 224
drwxr-xr-x. 2 root root 4096 6月 1 17:52 drivers_x64
drwxr-xr-x. 2 root root 8192 6月 1 17:52 icons
-rwxr-xr-x. 1 root root 17774 6月 1 20:55 refind.conf
-rwxr-xr-x. 1 root root 17911 6月 1 17:52 refind.conf-sample
-rwxr-xr-x. 1 root root 170824 6月 1 17:52 refind_x64.efi
drwxr-xr-x. 2 root root 4096 6月 1 17:52 tools_x64
如果你是64的系统,就把32的删除掉,反之就删64的。
mv refind.conf-sample refind.conf
然后配置refind.conf,我的配置肯定不对,如果要对的话,直接是可以用refind进入centos,win8,arch的。而不是refind去调用grub来启动
http://www.rodsbooks.com /refind/installing.html#linux中的Installing rEFInd Manually Using Linux,安装方法中,6,7这二步,没敢做,我实在无法预测,efibootmgr -c -l \EFI\refind\refind_x64.efi -L rEFInd,执行这个命令到底会有什么后果。
七,重启后,无法进入refind界面
然后就在仔细阅读文件
rename EFI/BOOT/refind_x64.efi to the name of the boot loader it's replacing—it should become EFI/BOOT/bootx64.efi or EFI/Microsoft/Boot/bootmgfw.efi.
发现有上面的东西,操作如下:
[root@localhost EFI]# cp -r ./Microsoft/Boot/ ./Microsoft/Boot_bak
[root@localhost EFI]# cp -r ./refind/* ./Microsoft/Boot/
[root@localhost EFI]# cd ./Microsoft/Boot/
[root@localhost Boot]# cp bootmgfw.efi win8.efi //上面提到的win8.efi就是在这儿来的
[root@localhost Boot]# mv refind_x64.efi bootmgfw.efi
先把EFI/Microsoft/Boot/这个目录备份,这样我不管怎么配置Boot的目录,我可以还原,进WIN8绝对没问题。efi启动,会默认读取/EFI/Microsoft/Boot/bootmgfw.efi,我的机子是这样子的,规定死了。
八,重启后,可以进入refind的引导界面,但是没有一个系统能进。
refind 配置不正确,无法进入任何一个系统,但是我发现refind的第二个引导项读取到了/grub/BOOTX64.conf,并且是默认的centos的 BOOTX64.conf,grub是什么时候建的我都忘了,里面是下载的原始的centos的BOOTX64.conf BOOTX64.efi splash.xpm.gz
[root@localhost refind]# cp /mnt/usb/EFI/redhat/* /mnt/usb/EFI/grub
[root@localhost refind]# cd /mnt/usb/EFI/Microsoft/Boot/
[root@localhost Boot]# vim refind.conf
timeout 2
default_selection 2 //将第二引导项调为默认
知道refind读取哪个启动文件就好办了,把redhat下面已经配置好的文件copy到grub目录下就搞定了。
就这样我的三系统启动搞定了,不过还有缺点,
第一,引导是分二步的,首先是refind引导,然后refind调用BOOTX64.conf,在通过grub来引导,之后才能进入系统。
第二,内核版本,是copy到了,efi的启动盘上面,升级内核,也用不了,除非在重新将内核copy到sda2上面。
win8和ubuntu双系统安装的更多相关文章
- Windows10+Ubuntu双系统安装 (转)
1.Windows10+Ubuntu双系统安装: http://www.jianshu.com/p/2eebd6ad284d 2.UEFI启动模式安装ubuntu指南 : http://col ...
- win7+ubuntu双系统安装方法
转自win7+ubuntu双系统安装方法 前段时间又安装一下win7+ubuntu双系统,过段时间就会忘记,这次自己写下来,以便以后查看. 1. 先准备一个分区来安装ubuntu.在win7 ...
- 关于win10、ubuntu双系统安装的 geom erro错误
安装参考这个博客:http://blog.csdn.net/pop_rain/article/details/70477085 只记录安装ubuntu过程遇到的问题: 1.分区不可用(分区按以下设置) ...
- 解决window10 和 ubuntu 双系统安装没有启动选项问题
win10 和Ubuntu 双系统安装在网上已经有很多例子了,这里就不在赘述了. 今天新买的笔记本,想安装双系统.正常安装完ubuntu 重启后没有选项. 解决方法一 下载和解压以后,按照以下的步骤安 ...
- 【双系统】windows 和 Ubuntu 双系统安装
本博客主要讲述如何在已安装windows系统的计算机上安装Ubuntu双系统,涉及系统安装和相应磁盘空间分配等问题. 所需环境: 电脑已安装windows系统 下载Ubuntu16.04系统镜像 ...
- WIN10与ubuntu双系统安装教程
按照网上博客的安装教程安装的Win10+Ubuntu16.04双系统安装了好几遍都不成功?启动Ubuntu左上一直有个光标在闪?如果你的电脑也是双硬盘(装Windows系统的固态硬盘+机械硬盘),在安 ...
- Win7+Ubuntu双系统安装完成后时间不一致相差大概8小时
Win7+Ubuntu双系统时间不一致 解决方法: 第一种在Windows下进行如下修改: 在 注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Con ...
- 【转】win7+ubuntu双系统安装方法--不错
原文网址:http://blog.csdn.net/lvanneo/article/details/16885121 前段时间又安装一下win7+ubuntu双系统,过段时间就会忘记,这次自己写下来, ...
- Win10/Ubuntu双系统安装常见问题
目录 1.win10重启无法进入BIOS 2.install ubuntu后黑屏 2.1 解决安装黑屏 2.2 安装英伟达显卡驱动 3.ubuntu中文系统注意 4.Windows系统时间异常 4.1 ...
随机推荐
- Linux设备驱动工程师之路——内核链表的使用【转】
本文转载自:http://blog.csdn.net/forever_key/article/details/6798685 Linux设备驱动工程师之路——内核链表的使用 K-Style 转载请注明 ...
- linux设备驱动归纳总结(五):1.在内核空间分配内存【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-79134.html linux设备驱动归纳总结(五):1.在内核空间分配内存 xxxxxxxxxxxx ...
- 160913、ionic + 高德地图定位
实例一: var AMapArea=document.getElementById('amap'); AMapArea.parentNode.style.height="100%" ...
- SendKeys:基本使用
使用SendKeys将键击和组合键击发送到活动应用程序.此类无法实例化.若要发送一个键击给某个类并立即继续程序流,请使用Send.若要等待键击启动的任何进程,请使用SendWait. 每个键都由一个或 ...
- 进度条,随机数---demo笔记【原创】
本人学习笔记,参考网上代码完成 makefile TEST_OBJ := rng_app MAKEOPT := ARCH=arm CROSS_COMPILE=arm-none-linux-gnueab ...
- 用Jquery控制文本框只能输入数字和字母
用Jquery控制文本框只能输入数字和字母 $.fn.onlyNum = function () { $(this).keypress(function (event) { var eventObj ...
- 20145227 《Java程序设计》第4周学习总结
20145227 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1 何谓继承 1.继承共同行为 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中, ...
- java多线程解决生产者消费者问题
import java.util.ArrayList; import java.util.List; /** * Created by ccc on 16-4-27. */ public class ...
- 实现multbandblend
一.首先实现 laplacian金字塔的分割和重构 #include "stdafx.h" #include <iostream> #include <vecto ...
- 【转】Linus:利用二级指针删除单向链表
原文作者:陈皓 原文链接:http://coolshell.cn/articles/8990.html 感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多, ...