在Macbook Air上安裝Archlinux


前兩天在自己那台macbook air上裝上了arch,應archlinux-cn郵件組中幾位兄弟的要求,在這里記錄一下整個安裝的過程,供一些准備進行同樣折騰的兄弟看看,也作為自己的一份備忘。

使用鏡像:2012-08-04的iso
目標:arch和mac os雙系統共存
(其實我的最終目的是只有arch,完全刪除mac os,我對蘋果的東西完全無愛,如果不是抽獎抽到的,我是不會主動去買蘋果的東西的。但因為是第一次在mac上安裝arch,所以先讓mac os再存在一會兒,以免arch安裝失敗后沒系統可用了,等摸清楚一些細節之后,就直接格整個硬盤只留arch)


本篇內容記錄了本人的一些粗淺認識,如果有一些理解不當或者會造成誤導的地方,還請各位指正。


mac和PC的不同點

  • mac引導程序是UEFI,而普通PC是BIOS。
  • mac的分區表是GPT,普通PC是MBR,MBR由於66字節的限制,只能有四個主分區,GPT沒有這個限制。
  • mac安裝好之后,默認的分區有三個:負責boot的EFI分區,大概有200MB,Mac主分區,Recovery分區,大概650MB。

  除了上述區別以外,其它基本應該都是一樣的。

安裝過程

  1. 使用dd命令制作用於安裝的U盤,如何使用請自行google。
  2. 調整硬盤分區,這個可以使用mac os的Disk Utility完成,縮減mac os的硬盤分區大小,以空出一部分空間來安裝arch。
  3. 在mac os中安裝rEFIt(這步不是強制要求,但強烈建議安裝之,因為不安裝rEFIt的話,待會兒arch安裝好后我們還要進mac os去執行bless)
  4. 插上U盤,如果剛剛安裝了rEFIt,就直接會看到一個開機啟動選項,選擇那個類似Windows圖標的啟動即可(具體名字我忘了,大概是叫Legacy OS吧。。) 如果沒安裝rEFIt,開機需要按住option鍵啟動,應該會有三個選擇,一個Mac HD,一個Recovery,還有一個Windows,選擇最后一個。
  5. 正常的話,現在應該進入arch的安裝界面了,按照arch的安裝wiki介紹一步一步安裝即可。

  具體安裝過程我就不重復了,看wiki即可。下面講講我在安裝中遇到的一些問題和陷阱,供各位兄弟參考,以免少走彎路。

安裝過程中的一些注意事項

  1. 對硬盤進行分區時,對硬盤分區的工具請選擇gdisk/cgdisk,而不是常用的fdisk/cfdisk!!! 因為Mac的分區表是GPT,fdisk/cfdisk只支持MBR,如果強行使用fdisk/cfdisk的話,就等着丟數據吧。。
  2. 在安裝進行得差不多,已經到安裝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會報找不到efi參數的錯誤,是因為我們是以模擬BIOS模式啟動arch安裝而不是UEFI,所以會報這個錯誤,不用管它。
  3. 因為上面這個錯誤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指定的啟動固件。。。所以,拼寫錯了就找不到了。。。
    所以,我們這里實際只做了一件grub沒有幫我們做的事: 將grub的引導程序copy到整個macbook的引導分區,並指定其路徑和命名
  4. 關於gurb的事,光上面一步還沒完,還需要運行一行命令:
    grub-mkconfig -o /boot/grub/grub.cfg
    重新生成cfg文件,不然 grub啟動的時候會找不到硬盤,因為默認的grub.cfg里面的硬盤UUID是錯誤的。
    grub的配置就到此為止了。
  5. 編輯/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下的新體驗吧。。。



Date: 2012-09-09 18:46:39 CST

Author: Kelvin Hu

Org version 7.8.11 with Emacs version 24

Validate XHTML 1.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM