EFI mem-boot Ubuntu 14.04 pada Mac tanpa rEFInd

8

Saya ingin sepenuhnya menghapus OS X dari Mac saya dan menginstal Ubuntu 14.04 LTS.

Meskipun saya ingin menggunakan metode boot EFI yang lebih baru daripada boot BIOS lama, saya tidak ingin menggunakan rEFInd atau bootloader pihak ketiga lainnya tetapi saya ingin menggunakan bootloader default Mac.

Alasan untuk ini adalah bahwa saya ingin menghilangkan penundaan sekitar 30 detik yang disebabkan oleh metode lain yang diketahui dan juga ingin mendapatkan akses ke berbagai utilitas terkait EFI.

Bisakah Anda memberikan metode langkah demi langkah yang terperinci untuk mencapai ini?

Rohith Madhavan
sumber

Jawaban:

10

Proses ini akan menghapus OS X dan data lain yang Anda miliki di mesin. Pastikan untuk membuat cadangan sistem Anda sebelum melanjutkan.

Anda mungkin ingin membuat disk pemulihan sehingga Anda dapat memulihkan OSX di kemudian hari, jika diperlukan.

Buat Live USB dengan Ubuntu

Lihat halaman ini untuk instruksi detail. UNetbootin direkomendasikan karena cross plaform dan menyediakan Graphical User Interface (GUI).

CATATAN - JANGAN menggunakan +macversi karena tidak mendukung boot EFI.

Boot dari Live USB

Trik untuk mem-boot dari USB pada Mac adalah dengan menekan optiontombol begitu Anda menghidupkan perangkat. Pilih EFI Boot dari menu ini.

masukkan deskripsi gambar di sini

Ubuntu sekarang harus boot dari USB. Instal Ubuntu menggunakan opsi Hapus dan gunakan Seluruh Disk .

masukkan deskripsi gambar di sini

Pertama, ketika Anda reboot / menyalakan Mac Anda, Anda akan melihat layar abu-abu dari bootloader Mac selama sekitar 30-an, dan kemudian folder dengan lembut berkedip dengan tanda '?' dalam. Jika Anda memasukkan USB penginstal sekarang, seharusnya boot. Jika tidak, coba tahan tombol daya untuk mematikan daya, dan kemudian ikuti instruksi boot USB untuk memunculkannya.

Boot Secara Manual dari Hard Drive Anda

Pada titik ini sistem tidak dapat di-boot karena bootloader Mac mengharapkan partisi EFI diformat sebagai HFS +, sistem file Mac yang khas, sedangkan installer Ubuntu sebenarnya memformatnya sebagai VFAT.

Pada langkah ini kami akan menginstruksikan GRUB di Live USB juga boot dari Ubuntu yang baru diinstal pada hard drive. - Ini membutuhkan pengetikan yang serius, tetapi setelah melakukan booting dengan cara ini kami akan siap untuk mengatur booting otomatis pada langkah berikutnya.

Jika Anda menggunakan penginstal desktop, tahan shifttombol untuk memunculkan menu bootloader GRUB.

Ketika Anda melihat menu boot GRUB, jangan pilih salah satu entri. Sebaliknya, tekan Cuntuk membuka konsol GRUB.

Di konsol grub, ketik ls

grub> ls 
(memdisk) (hd0) (hd0,msdos) (hd1) (hd2) (hd2,gpt3) (hd2,gpt2)
(hd2,gpt1)

Anda mungkin tidak mendapatkan hasil yang persis sama dengan ini, tetapi Anda akan memiliki beberapa opsi serupa.

Sekarang, cari partisi yang berisi direktori home pengguna Anda.

grub> ls (hd2,gpt2)/home
rohith/

Terus berusaha sampai Anda menemukannya.

Hasil dari langkah terakhir memiliki dua bagian: (hdX,gptY). Anda harus tetap menggunakan hdXbagian ini, tetapi periksa semua gptYopsi untuk mencari direktori / boot / grub.

grub> ls (hd2,gpt2)/boot/grub
unicode.pf2 [...] grub.cfg

Sekarang Anda ingin mengatur ini sebagai root untuk perintah lebih lanjut.

grub> set root=(hd2,gpt2)

Satu-satunya cara untuk boot dengan benar adalah dengan menggunakan UUID drive.

grub> ls -l (hd2,gpt2)

Catat UUID. Anda harus mengetiknya secara manual di langkah berikutnya.

grub> linux /boot/vmlinuz〈Tab here!〉.efi.signed root=UUID=〈the UUID from above〉

Konsol GRUB dapat menyelesaikan tab, jadi jika Anda hanya mengetikkan bagian vmlinuz dan menekan tab, lalu tekan. dan tabsekali lagi, Anda tidak perlu mengetikkan seluruh nama file. pastikan efi.signedbagian itu ada.

Sekarang, atur disk RAM awal

grub> initrd /boot/initrd〈Tab here!〉

Anda harus dapat mem-boot perintah hard drive Anda

grub> boot

masukkan deskripsi gambar di sini

Menyiapkan Boot Otomatis

Anda sekarang telah boot ke Ubuntu Anda yang baru diinstal. Langkah selanjutnya adalah membuat boot otomatis dan bebas rasa sakit, dengan memformat ulang /boot/efipartisi ke sistem file HFS + yang diharapkan Mac, dan memungkinkan Anda untuk boot langsung darinya.

1. Menginstal Paket Ekstra

Sekarang, buka terminal dan ketik

sudo add-apt-repository ppa:detly/mactel-utils
sudo apt-get update
sudo apt-get install mactel-boot hfsprogs gdisk grub-efi-amd64

2. Memformat Ulang Partisi EFI

Jalankan mountuntuk mendapatkan daftar filesystem yang di-mount, dan cari apa saja yang di-mount di / boot / efi. Lepaskan ikatannya.

sudo umount /dev/sda1

Kami sekarang gunakan gdiskuntuk menghapus partisi VFAT dan membuat HFS + satu

sudo gdisk /dev/sda

(Perhatikan bahwa tidak ada nomor di akhir nama disk itu!)

tekan p

Konfirmasikan bahwa partisi pertama memiliki tipe EF00. Sekarang kita hapus EF00partisi itu.

tekan d

Buat HFS + baru di tempatnya.

tekan n

Tekan enter untuk opsi sektor pertama dan terakhir.

Masukkan AF00kode sistem file.

Gunakan pperintah untuk memeriksa ulang perubahan Anda, dan kemudian wmenulis.

Sekarang kita memiliki partisi HFS + yang belum diformat. Format dengan:

sudo mkfs.hfsplus /dev/sda1 -v ubuntu

3. Memperbarui Tabel Sistem File

Edit / etc / fstab

sudoedit /etc/fstab

Hapus baris yang merujuk /boot/efimenggunakan Ctrl+K.

Sekarang, ketikkan perintah berikut -

sudo bash -c 'echo $(blkid -o export -s UUID /dev/sda1) /boot/efi auto defaults 0 0 >> /etc/fstab'
mount /boot/efi

4. Menginstal GRUB pada Partisi HFS

sudo bash -c 'echo "This file is required for booting" > /boot/efi/mach_kernel'

Instal GRUB dan 'berkati' sistem file.

sudo grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi
sudo hfs-bless "/boot/efi/System/Library/CoreServices/boot.efi"

EDIT Some Troubleshooting: Saat mengikuti instruksi ini di Ubuntu 14,04 Tahr Trusty, saya mendapat pesan kesalahan berikutgrub-install

Installing for x86_64-efi platform.grub-install
error: Can't create file: No such file or directory.

Setelah menjalankannya lagi dengan stracesaya memutuskan bahwa itu tidak mencari file yang dipanggil /boot/efi/mach_kernel, tetapi file memanggil /boot/efi/EFI/ubuntu/mach_kerneldan setelah membuat file itu, dan menjalankan kembali grub-installsemuanya tampaknya berfungsi. AKHIR EDIT

5. Menghapus Boot Delay

Untuk mengatur entri boot EFI default, jalankan

sudo efibootmgr

Singkirkan entri tambahan -

sudo efibootmgr -b xxxx -B

di mana xxxx adalah nomor boot yang diperoleh sudo efibootmgr

Sekarang, atur entri default -

sudo efibootmgr -o xxxx

Sistem sekarang harus dapat di-boot!

KREDIT

Jason Heeris - Untuk pos aslinya, PPA digunakan.

Rohith Madhavan - Untuk posting di Ask Ubuntu, modifikasi kecil.

Rohith Madhavan
sumber
Pada step4 Anda perlu me-mount / dev / sda1 sebelum mencoba menginstal grub
pshirishreddy
Apakah ada kemungkinan sebagai dual boot? Saya dapat menginstal ubuntu bersama OSX pada MBP saya (8,2) tanpa refitatau refind. Semuanya bekerja dengan sangat baik (kecuali layar eksternal saya). Namun, saya mencoba yang sama pada retina MBP yang lebih baru dan saya tidak bisa mendapatkannya. Kelihatannya sangat bagus dalam mode coba-coba ... tampilan eksternal bekerja di luar kotak dll, instal juga baik-baik saja. Tapi saya tidak bisa mendapatkan retina MBP saya juga boot ubuntu. Apakah ada yang bisa saya lakukan setelah saya menginstal ubuntu untuk membuatnya boot?
Matt Bannert
Saya menemukan efibootmgrlebih banyak cryptic (walaupun itu tidak sengaja bekerja untuk saya). Dan halaman manual tidak supereasy untuk mengerti juga. Apa arti pilihan yang saya dapatkan? Apa yang bisa saya hapus? (Mengapa saya harus menghapus barang-barang, tidak hanya mengatur urutan boot sudah cukup?)
zrajm
Baru saja menginstal Ubuntu 17.04 di Mac Book Pro saya yang terlambat menggunakan opsi "Hapus Disk dan Instal Ubunu". Boot, lambat sekali. Ada dua partisi: / dev / sda1 "BIOS Boot" dan / dev / sda2 "Linux Filesystem" yang dipasang di /. Direktori / boot / ada di /. Jika saya mengubah ukuran partisi dan membuat partisi HSF + / boot / haruskah saya dapat membuat boot EFI?
Martin