前两天在自己那台macbook air上装上了arch,应archlinux-cn邮件组中几位兄弟的要求,在这里记录一下整个安装的过程,供一些准备进行同样折腾的兄弟看看,也作为自己的一份备忘。
使用镜像:2012-08-04的iso
目标:arch和mac os双系统共存
(其实我的最终目的是只有arch,完全删除mac os,我对苹果的东西完全无爱,如果不是抽奖抽到的,我是不会主动去买苹果的东西的。但因为是第一次在mac上安装arch,所以先让mac os再存在一会儿,以免arch安装失败后没系统可用了,等摸清楚一些细节之后,就直接格整个硬盘只留arch)
本篇内容记录了本人的一些粗浅认识,如果有一些理解不当或者会造成误导的地方,还请各位指正。
Table of Contents
mac和PC的不同点
- mac引导程序是UEFI,而普通PC是BIOS。
- mac的分区表是GPT,普通PC是MBR,MBR由于66字节的限制,只能有四个主分区,GPT没有这个限制。
- mac安装好之后,默认的分区有三个:负责boot的EFI分区,大概有200MB,Mac主分区,Recovery分区,大概650MB。
除了上述区别以外,其它基本应该都是一样的。
安装过程
- 使用dd命令制作用于安装的U盘,如何使用请自行google。
- 调整硬盘分区,这个可以使用mac os的Disk Utility完成,缩减mac os的硬盘分区大小,以空出一部分空间来安装arch。
- 在mac os中安装rEFIt(这步不是强制要求,但强烈建议安装之,因为不安装rEFIt的话,待会儿arch安装好后我们还要进mac os去执行bless)
- 插上U盘,如果刚刚安装了rEFIt,就直接会看到一个开机启动选项,选择那个类似Windows图标的启动即可(具体名字我忘了,大概是叫Legacy OS吧。。) 如果没安装rEFIt,开机需要按住option键启动,应该会有三个选择,一个Mac HD,一个Recovery,还有一个Windows,选择最后一个。
- 正常的话,现在应该进入arch的安装界面了,按照arch的安装wiki介绍一步一步安装即可。
具体安装过程我就不重复了,看wiki即可。下面讲讲我在安装中遇到的一些问题和陷阱,供各位兄弟参考,以免少走弯路。
安装过程中的一些注意事项
- 在对硬盘进行分区时,对硬盘分区的工具请选择gdisk/cgdisk,而不是常用的fdisk/cfdisk!!! 因为Mac的分区表是GPT,fdisk/cfdisk只支持MBR,如果强行使用fdisk/cfdisk的话,就等着丢数据吧。。
- 在安装进行得差不多,已经到安装grub的时候,因为前面已经讲了mac使用UEFI引导,所以这里选择安装grub-efi-x86_64而不是grub-bios。
按照wiki运行:
grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=arch_grub –recheck –debug
- 因为上面这个错误grub没有管,所以只有我们自己手动来handle了,运行以下命令:
cp /boot/efi/EFI/arch_grub/grubx64.efi /boot/backup.efi # 将这个efi引导程序先copy出来备用,因为我们等下mount要使用这个目录 mount LABEL=EFI /boot/efi # 还记得前面说过的mac负责boot的EFI分区吗?没错,这个mount命令就是将这个分区mount到/boot/efi cp /boot/backup.efi /boot/efi/EFI/BOOT/BOOTX64.efi # 将我们刚刚backup的efi引导程序copy到这个boot分区,这里路径一定不能搞错!! # 据google到的小道消息,这个路径是苹果hard code指定的启动固件。。。所以,拼写错了就找不到了。。。
- 关于gurb的事,光上面一步还没完,还需要运行一行命令:
grub-mkconfig -o /boot/grub/grub.cfg
grub的配置就到此为止了。 - 编辑/etc/mkinitcpio.conf,在MODULES数组中加入"ahci sd_mod"(注意,如果是SSD,就加sd_mod,如果是普通的机械硬盘,就加ata_generic),然后记得运行
mkinitcpio -p linux
不然在启动的时候会提示no controller found,你就等着强制关机吧。
需要注意的事情就这么多(至少这些都是我在安装过程中亲身经历的,除了第一个之外。。),到这里,系统应该是已经能起来了。
安装后的配置
在安装好之后,一些常用软件包的安装自不必说,我只说一个比较诡异的情况:我进入awesome或者openbox之类的X环境,鼠标死活不动,无奈,又进入mac os并google之才发现是一个触摸板的驱动没装:xf86-input-synaptics
。但按wiki来讲,正常安装后,是有触摸板驱动的,虽然不是synaptics,但应该至少能用是不是。。。不去追究了,开始arch下的新体验吧。。。