close

MacBook8,1也就是所謂的MacBook 2011 Early

我終於在MacBook Pro上的ubuntu 11.10裝起來了,

在接著我的隨身硬碟的情況之下,按住option就可以選擇裝在隨身硬碟上的ubuntu開機了。

先從挑選光碟ISO檔開始談

其實ubuntu社群有特別考量到Mac-Intel的使用者,所以不知道從什麼時候開始,都會特別release給Mac-Intel使用者安裝使用的ISO檔,至少從ubuntu 10.10就可以下載到amd64-mac的版本,

而目前(截至文章完成前),ubuntu釋出的穩定版為ubuntu 11.10,可以從這裡下載。

所以如果下載一般的EFIx64 ISO理論上是可以看到開機選單EFI Boot & Windows (mis-labeled),但是選了都黑屏…

燒出來的光碟開不了機

的確,確實像是可以開機不會黑屏了,但是每次都會出現找不到rootfs的現象。

從initramfs的/dev來觀察,應該是這個kernel不支援這台光碟機,所以沒辦法正確的掛載squashfs的rootfs。(純屬個人不負責猜測,反正就是沒辦法讓我進到桌面)

後來從網路上找到一些祕方,可以讓ubuntu的光碟刷到usb上面。雖然更之前就有用ubuntu的開機隨身碟製作製作過隨身碟了,但是也選不到隨身碟開機,所以只能試一下網路上的祕方了。

據說按照以下的指令,就可以造出我們所需要的ubuntu開機隨身碟了,首先準備一個大於700M的隨身碟,打開終端機(Terminal),然後切換到你放ubuntu iso的目錄,然後打

@ Mac OS X

# hdiutil convert -format UDRW -o ubuntu-11.10.dmg ubuntu-11.10-desktop-amd64+mac.iso

# diskutils list 

或是打開你的工具程式裡面的磁碟管理工具

看看你的隨身碟是diskN,這個部份相當的重要,如果你弄錯了磁碟,可能造成資料損毀。

@ Mac OS X

# dd if=ubuntu-11.10.dmg of=/dev/rdiskN bs=1m

* 據說,如果少了那個r,這個動作會做很久

等個五分鐘到十分鐘,這樣就完成了ubuntu的開機隨身碟了。

開機選單找不到做出來的隨身碟

沒錯,太囧了,燒出來的光碟開機沒辦法完成,做出來的隨身碟不能開機…

我用linux fdisk分析隨身碟的內容,我發現隨身碟裡面的分割表是MBR格式,而且唯一的分割區是Hidden NTFS...

我私心認為:Apple的EFI應該會刻意看不懂USB磁碟裝置的MBR開機分割,另外Linux在那個階段看得懂NTFS嗎?

果然流行混搭風

後來我就想到一個絕招,把光碟放進去開機,把隨身碟也插著,我就不信開不了機,如果找不到rootfs,我自己動手掛,如何,怕了吧?

進桌面,可以安裝了

以上面的混搭風開機,居然我一行指令也不用打,就直接進到ubuntu的選單,選了就直接進到桌面了…

就按照一般的安裝流程裝我的Linux到外接硬碟上,而且這個Linux認得出GPT,不會像另一個白痴作業系統一直抱怨我用的是GPT  XDDDDDD

一直到裝完都很順利,系統有跟我說他會幫我安裝grub... 

然後呢?

重開的時候我的ubuntu並沒有出現在任何選單當中,雖然我有裝rEFIt,但是選了裡面的企鵝圖示居然讓我進了Bootcamp的Windows,

最後我感覺得我grub一定是沒裝起來。後來用Linux時發現到我的外接硬碟的EFI分割區是沒有格式化的...

  我的外接硬碟的EFI分割區是沒有格式化的...

    我的外接硬碟的EFI分割區是沒有格式化的...

      我的外接硬碟的EFI分割區是沒有格式化的...

所以我就認栽,自己下載grub來編譯以及安裝(其實也是因為手賤),可以按這裡下載到你需要的grub

@ Linux

# tar zxf grub-1.99.tar.gz

# cd grub-1.99

# ./autogen.sh 

(這邊可能會缺東西,看缺什麼就裝什麼)

# ./configure --with-platform=efi

# make

# ./grub-mkimage -p "" -d grub-core -O x86_64-efi -o grub.efi part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot iso9660 search search_fs_file search_fs_uuid search_label video videoinfo video_fb efi_gop efi_uga loadenv test

然後

@ Linux

# sudo mkdir /media/efi

# sudo mount -t vfat /dev/sdX1 /media/efi

(這行的sdX1可能要視你的磁碟在電腦的代號而定,並非一個固定的磁碟代碼)

# sudo mkdir -p /media/efi/EFI/BOOT

# sudo cp grub.efi /media/efi/efi/boot/bootx64.efi

# sudo cp grub-core/grub.cfg /media/efi/efi/boot/

(如果你的grub-core/grub.cfg不存在的話,就用./grub-mkconfig > grub.cfg 產生 grub.cfg)

打完收工

下次開機的時候,接著隨身硬碟,按住option鍵,就會出現一個EFI Boot的項目,

選取後就會出現你的grub選單,選擇你的ubuntu,開機!大工告成。

arrow
arrow
    全站熱搜

    jimmy899 發表在 痞客邦 留言(0) 人氣()