前兩天在自己那台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下的新體驗吧。。。