入职时候公司发了一个macbook pro 15寸的机器,其实要不是公司发的我是很不喜欢apple系列的。就把我以前上学时候用的lenovo Y470上的archlinux想原封不动迁移过来。很多人说mac跟linux差距不大, 其实差距大太多了。mac在对command line友好上也就仅仅比windows好一点,加上homebrew还是不能符合我的要求。而mac os惊艳的图形界面、一系列apple服务、软件,我是用不上的。
开始我的做法打算
在我的os x yosemite 10.10里面通过mac自带的磁盘工具, 分一个区,我的硬盘是256G SSD, 本想给mac分区压缩出150G 出来给我迁移archlinux。本来说直接要删除mac的,但我一个对我很重要的一个朋友,她用mac机器,偶尔会问我一些关于电脑的问题,前不久还问我mac下代理上网的问题, 要是手头没机器,我怕是不好回答或者截图一一详细说明。
然后我想出的做法是
- 先在OS X里面分150G分区
- 刻录一个ubuntu启动U盘
- 用ubuntu启动盘进入我原来archlinux的电脑,用tar打包我原来整个archlinux分区到我的2T移动硬盘里面为一个arch-whole.tar 文件。
- 用ubuntu启动盘插入mac, 开机按option进入选择项,手动启动ubuntu, 安装ubuntu到mac的150G分区, grub安装在当前分区/dev/sda3
- 再次用ubuntu启动盘插入mac进入”try ubuntu”模式在shell下,删除已经安装的ubuntu所有文件,解压archlinux的arch-whole.tar文件到/dev/sda3
- grub页面,手动用kernel指定vmlinuz引导进archlinux, 在archlinux里面修复grub
其实这样是可行的,但是我的OS X,分磁盘的时候, 由于我的笔记本是公司2015-07-10发的新的15寸mbp分区的时候, 我是按照标准mac磁盘工具分区的,结果分区失败,无法急救,导致系统崩溃了。
后面就需要我自己下载一个mac镜像了,由于我的本子是2015-07-10的,搭载的系统比较新,所以我只能在最新的mac下下载最新的镜像刻录成安装U盘,才能装进去,不然的话,如果装旧于我机器的系统,会显示一个大大的圆圈+禁止斜杠,像这样:
其实也可以网络安装的,但是鉴于国内的网络,动辄几十小时或者100+小时的,中途只要出现问题就要重走一边,而且动不动报 apple.com/support -4403f 或者 apple.com/support -2203f 错误的,我是不会用这种方式的。
下载镜像的时候,是先离线到百度云,然后在我的服务器上百度云下载,axel -n 10 “百度云mac os下载地址” -o 2.dmg 下载,大概2M/s的速度,下载了50min,服务器sha1sum得到sha1校验码为47c7d9c1c510b2cb74bae4c560c2553bcb12897f, 然后我在服务器用
7za a 2.dmg.7z -v1800m -mx0 2.dmg
分卷压缩为3个文件, 其中-mx0指定只存储不压缩,等于文件拷贝把。 然后在我的pc 、我的macbook、我的nexus 6手机分别下载2.dmg.7z.001、2.dmg.7z.002、2.dmg.7z.003, 这样下载比较快,下载完了之后文件拷贝到一起,解压即可得到2.dmg, 本地检验校验码为
然后Mac下先挂载2.dmg
cd /Volumes/{2.dmg所在的盘符}
sudo /Volumes/{2.dmg所在的盘符}/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia – -volume /Volumes/{你的8G U盘的盘符} – -applicationpath /Volumes/{2.dmg所在的盘符}/Install\ OS\ X\ Yosemite.app – -nointeraction
大概20min,不报错的话,就刻录好了。用刻录好的U盘mac安装盘,开机option键,安装mac,安装过程跟window安装类似,很简单。
安装好了进mac, 用自带的磁盘工具,我是划分150G分区,格式化为exFat给我装linux的。我这个分区是/dev/sda4。
用我的2T wd的移动硬盘。打包我的整个pc上的用了一年的archlinux, 打包为一个tar包,打包过程在ubuntu live cd 进去打包,/dev /tmp /proc 等等不要打包。打包为arch-whole.tar
进ubuntu live cd, 安装ubuntu 15.04 到 /dev/sda4,grub 安装在/dev/sda4 上面。
然后装好了再进ubuntu live cd模式,挂载/dev/sda4, 删除/dev/sda4里面的全部东西。把我的arch-whole.tar全部解压到该盘。最后进入系统。在grub菜单里面,按e编辑grub,把set root=(hd1,msdos6) 修改为set root=(hd1,gpt4) , 因为mac是gpt 格式的。其他的也做对应的修改。最后大概改成如下的样子。
最后按F10引导进archlinux, 在arch下,grub-mkconfig -o /boot/grub/grub.cfg更新grub就好了。后面进入系统,修改下/etc/fastab 等等文件就好了。整个archlinux 原封不动的被我挪过来了。背光键盘、亮度调节、触摸板、网卡等等都支持良好。放几张图炸一炸跟我一样的inux死忠。
16G内存一般只用4G以下, CPU使用一般5%不到,编译速度非常快。
分辨率在1920*1200 其实可以调到2880*1800的,不过我不喜欢。
大屏看代码还是很爽很爽,加上mac的电池,带出去玩儿一天也不怕了。
对了要进mac系统的话,开机按option选择mac磁盘即可了。