macbook上实现MacOS+Windows8+Ubuntu三系统
至于为什么要装win和linux就不说了,本文只解释安装过程。
GPT vs MBR
MacOS下装另外两个系统的一个基本问题是:硬盘使用GPT分区,它和常见的MBR分区是两个硬盘分区方式。 它们的主要区别有:
MBR分区方式最多支持三个主分区加一个扩展分区,在扩展分区中可以存在多个逻辑分区。 而GPT分区方式不区分主分区和扩展分区,也没有四个分区的限制。
MBR的使用BIOS引导,而GPT使用efi引导,引导区位于磁盘开头的第一个分区,如/dev/sda1
最新的windows和ubuntu都支持GPT分区方式。本文使用windows8专业版和ubuntu14.04LTS。 需要的工具包括:一个U盘,windows和ubuntu的安装文件iso。
硬盘分区检查
当然,首先要在Mac下将windows和linxu的分区分好。使用mac自带的磁盘工具即可。
安装前需要先检查硬盘的分区表。为了支持某些仅能在MBR下使用的工具,GPT分区可以模拟MBR分区方式, 称为hybrid MBR。而我们需要在纯GPT下安装,所以需要将hybrid MBR禁掉,使用protective MBR模式。 之所以不能使用hybrid MBR模式,是因为,efi引导方式下,windows的安装目标分区不能是MBR分区。 如果在hybrid模式下安装windows,那么只能使用非efi方式安装。而这样安装后,mac的键盘和触摸板都无法使用, 甚至外接usb键盘也无效。至于原因笔者没有深入研究,只是实测如此。
这里需要用到gdisk工具。运行sudo gdisk /dev/diskX(通常是disk0),如果显示的是"MBR: protective", 那么不需要改动。如果是"MBR: hybrid",则使用x-n命令,重新建立protective MBR。使用w将改动写入磁盘。 (建议操作前使用b命令备份分区表。)
顺便说一句,gdisk可以建立hybrid MBR分区表,也就是在GPT上模拟MBR。命令是r-h。 其中第一个分区(即GPT的引导分区)是默认映射到MBR第一个分区的,而后面三个分区是可以自己指定的, 也就是说我们可以从GPT的分区中任意挑三个,组成MBR。
安装Windows
这里要用到mac下的bootcamp,一般随机自带。用它讲windows的iso写到u盘中制作安装盘, 其中会自动下载苹果相关的驱动。
完成后重启,按住option键,将显示引导选项。刚才装的安装u盘将出现两个引导项,一个是windows, 另一个是efi,选后者,在efi模式下安装windows。重复一下,如果分区上有hybrid MBR,使用efi引导 的windows会提示无法安装到目标分区。
剩下的工作就是等待加重启,重启时按住option即可看到新装的windowns系统。 完成后安装一下驱动即可(运行启动u盘的driver/setup.exe)
安装ubuntu
制作安装盘,虽然网上各种说efi下的ubuntu安装盘要如何如何,但是笔者实证,用dd命令将iso写到u盘上即可。 安装过程和和普通安装并无区别,但是遇到一个问题是,安装完后按住option重启,无法看到新装的ubuntu。 问题应该处在mac的efi引导程序不认识新装的ubuntu。笔者在网上搜过一些内容,试过重装grub,但是无效。 最后是安装了一个refit解决的。安装过程很简单,安装后在/efi/refit目录下运行enable.sh即可。 refit能够认出ubuntu系统。另外refit也能认出mac和windows系统,所以开机时不需要再按option键, 就可以实现多重启动了。
macbook上实现MacOS+Windows8+Ubuntu三系统的更多相关文章
- kali linux 、 windows、ubuntu三系统的引导问题
'小飞机'是一个学生,所以接触的东西,虽广泛,但并不精通,在此利用随笔,记录自己的一些学习过程,以及自己的想法,既可以有时间自己复习,也可以顺便帮助别人. 近期由于同学的引诱以及男生天生对于破解的好奇 ...
- 神舟K650c i7(W350STQ)上成功装好Mac OS X 10.9,兼谈如何安装WinXP、7、8.1、OSX、Ubuntu五系统(Chameleon、MBR)
作者:zyl910 参考教程——http://bbs.pcbeta.com/viewthread-1432534-1-4.html笔记本SNB和IVY平台Win7/Win8/Win8.1安装OS X ...
- [Linux]三种方案在Windows系统下安装ubuntu双系统(转)
在学习linux的过程中,ubuntu无疑是初学者的最佳选择. 下面来列举给Windows系统安装ubuntu双系统的三种方法. 一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已 ...
- ubuntu,kali linux和windows三系统流水账——写给自己
我先说一下ubuntu和windows双系统安装的几种方法,最后总结kali linux的安装,想起什么写什么,所以有点乱.然后记录一下自己的使用过程中遇见的问题和解决的方法,还有我的个人建议. 我个 ...
- Windows7上安装Ubuntu双系统
零.前言 最近不小心把Ubuntu系统搞崩了打不开了,在网上找了找方法,从最初的步骤开始安装,本文是安装Ubuntu16.04,不过安装啥版本步骤都一样,下面逐一介绍. 一.如何卸载Ubuntu(第一 ...
- 这可能是史上最全的windows10装ubuntu双系统教程
一. 先搞清楚自己电脑的类型: A MBR传统bios+单硬盘 B MBR传统bios+双硬盘(SSD固态硬盘+机械硬盘) C UEFI新式bios+单硬盘 D UEFI新式bios+双硬盘( ...
- Ubuntu Linux系统三种方法添加本地软件库
闲着没事教教大家以Ubuntu Linux系统三种方法添加本地软件库,ubuntu Linux使用本地软件包作为安装源——转2007-04-26 19:47新手重新系统的概率很高,每次重装系统后都要经 ...
- 三种方案在Windows系统下安装ubuntu双系统
一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已,比如Mac OS对硬件不兼容,Federa安装频繁出错,各种驱动不全等等,不推荐使用虚拟机安装. 个人感觉这是一种对操作系统的亵 ...
- mac上安装ubuntu双系统
mac和ubuntu双系统 mac系统安装ubuntu双系统的方法, mac系统要安装ubuntu, 必须使用u盘作为启动盘, 在mac启动的时候引导mac安装ubuntu, 下面为详细的安装方法: ...
随机推荐
- ReentrantLock的实现语义与使用场景
简介 ReentrantLock(重入锁)就是支持可重进入的锁,它表示该锁能支持一个线程对资源的重复加锁.另外还支持获取锁的公平和非公平选择ReentrantLock的实现不仅可以替代隐式的synch ...
- 《30天自制操作系统》15_day_学习笔记
harib12a: 这一部分我们来尝试两个任务的切换.下面我们一步一步的看: 1.定义TSS任务状态段(task statuc segment):定义的一种段,需要在GDT中定义使用 //TSS任务状 ...
- iPad和iPhone开发区别
原文:http://mobile.51cto.com/iphone-273895.htm iPad与iPhone 开发区别详解是本文要介绍的内容,先来看看他们的区别. 1.首先我们先从官方发布的SDK ...
- Auty自动化测试框架第四篇——生成测试结果报告
[本文出自天外归云的博客园] 本次为Auty框架添加生成测试结果报告功能,文件结构更新:
- [问题2015S01] 复旦高等代数 II(14级)每周一题(第二教学周)
[问题2015S01] 设 \(M_n(\mathbb{R})\) 是 \(n\) 阶实方阵全体构成的实线性空间, \(\varphi\) 是 \(M_n(\mathbb{R})\) 上的线性变换, ...
- ExtJs
ExtJS是一种主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架. 概念 1.ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用 ...
- 合并基因表达水平(merge gene expression levels, FPKM)
使用tophat和cufflinks计算RNA-seq数据的表达水平时,当一个基因在一个样本中有多个表达水平时需要合并它们的表达水平. This code is a solution to colla ...
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序处理并发
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第十篇:为ASP.NET MVC应用程序 ...
- Kanzi Studio中的概念
Kanzi Studio是Kanzi的UI编辑器,功能非常强大.在使用Kanzi Stadio之前,首先要先熟悉编辑器中的概念. Kanzi Studio中主要分project窗格,property窗 ...
- linux 双网卡实现
linux实现双网卡,在虚拟机中创建一个新网卡,NAT方式连接,其中eth0设置为连接外网,目前eth0为自动分配状态,所以将代码注释掉了,eth1设置为连接内网.