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, 下面为详细的安装方法: ...
随机推荐
- 【转】ACM/ICPC生涯总结暨退役宣言—alpc55
转自:http://hi.baidu.com/accplaystation/item/ca4c2ec565fa0b7fced4f811 ACM/ICPC生涯总结暨退役宣言—alpc55 前言 早就该写 ...
- [Effective JavaScript 笔记]第68条:使用promise模式清洁异步逻辑
构建异步API的一种流行的替代方式是使用promise(有时也被称为deferred或future)模式.已经在本章讨论过的异步API使用回调函数作为参数. downloadAsync('file.t ...
- 161222、Bootstrap table 服务器端分页示例
bootstrap版本 为 3.X bootstrap-table.min.css bootstrap-table-zh-CN.min.js bootstrap-table.min.js 前端boot ...
- CSS中的浮动问题
有关于我们经常做的导航问题.我们如果想用ul>li来做导航的话,我是一般是用到浮动这个属性的. 也就是 float:left; 或者是 display:inline-block; 下边代码: ...
- IntelliJ IDEA 14和Maven创建java web项目
安装Maven 下载安装 去maven官网下载最新版. 解压到安装目录. 配置 右键桌面的计算机图标,属性–>高级系统设置–>环境变量,添加M2_HOME的环境变量,然后将该变量加入的PA ...
- linux定时执行任务
(1)Linux下如何定时执行php脚本?(2)Linux下如何设置定时任务?(3)Crontab定时执行程序 核心提示:键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一 ...
- Eclipse开发过程中个VM Arguments的设置
Eclipse开发过程中个VM Arguments的设置 1:jre中的Default VM Arguments: -Xms256M -Xmx640M -XX:PermSize=256m -XX:Ma ...
- INSTALLMENT of QValue
############################################ INSTALLMENT############################################ ...
- 关于jQuery源码分析
http://www.w3ctech.com/topic/256 jQuery源码剖析(一)——概览&工具方法
- python打怪之路【第一篇】:99乘法表
需求:实现99乘法表 代码: #!/usr/bin/env python # -*- coding:utf-8 -*- #author chenjing for i in range(10): for ...