Ini sebenarnya adalah mungkin .
Sebelum saya melanjutkan, instruksi ini dimaksudkan untuk Partisi Sistem EFI kosong (ESP) dan mungkin akan menimpa file yang ada, atau tidak berfungsi seperti yang diharapkan. Setidaknya buat cadangan!
Menambahkan partisi yang diperlukan untuk platform yang berbeda
Platform: Legacy PC, komputer Windows berbasis UEFI, komputer Apple
Tambahkan ESP ke instalasi yang ada dengan MBR
Anda harus mengikuti petunjuk ini dari instalasi lain atau media langsung.
Instal grub-efi-amd64-bin
paket. Ini hanya akan menginstal sumber daya yang dibutuhkan. Itu tidak akan mengalihkan instalasi gaya MBR Anda yang ada ke UEFI dan membalikkan keadaan.
Kecilkan partisi Ubuntu Anda di GParted untuk memberikan ruang bagi ESP. Ukuran yang disarankan untuk ESP berkisar dari 100 MB hingga 500 MB, tetapi file yang dibuat dengan mengikuti petunjuk ini di sini tidak akan memerlukan lebih dari 2 hingga 5 megabyte.
Catatan: Seharusnya tidak masalah di mana ESP Anda berada pada disk dan menyusutkan partisi Ubuntu Anda dengan beberapa megabyte dari akhirnya harus cepat dan aman. Menyusut di awal tidak aman . Namun satu peringatan, ESP Anda harus merupakan partisi primer dan bukan bagian dari partisi extended atau volume logis, nomor partisi dari 1 hingga 4 baik-baik saja, angka di atas menunjukkan partisi yang diperluas pada tabel partisi MBR.
Pilih FAT32 sebagai sistem file dan atur bendera boot.
Pasang ESP yang baru saja Anda buat dan sistem file root yang menyusut:
mkdir -p /mnt/esp
mount $esp_device /mnt/esp
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
Catatan: Ganti $esp_device
dan $root_device
dengan perangkat yang sesuai mis /dev/sdb2
dan /dev/sdb1
. The mountpoints /mnt/esp
dan /mnt/rootfs
hanya contoh dipilih untuk bekerja dengan sisa bagian dari jawaban ini.
Instal gambar EFI GRUB dan file konfigurasi minimal dengan:
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
Perhatikan bahwa $device
seluruh perangkat mis. /dev/sdb
, Bukan partisi.
Itu saja, kita sudah selesai, tetapi izinkan saya mencoba menjelaskan beberapa hal.
Parameter --target x86_64-efi
akan memastikan bahwa gambar dan modul UEFI akan diinstal ke jalur yang diberikan. --removable
akan menginstal gambar UEFI ke jalur hardcoded \EFI\BOOT\BOOT{arch}.EFI
untuk media yang dapat dilepas, alih-alih jalur khusus distribusi. Anda grub.cfg
di /boot/grub/
harus bekerja dengan kedua metode boot dan folder baru bernama x86_64-efi
sekarang harus ada di samping i386-pc
.
Untuk kelengkapan, ini adalah perintah untuk media yang tidak dapat dilepas yang menulis dan bergantung pada entri NVRAM di platform:
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --bootloader-id "Ubuntu" $device
Instalasi UEFI yang tepat mencakup garis yang mirip dengan yang di bawah ini /etc/fstab
, tetapi setup berfungsi tanpa dan gambar UEFI (mirip dengan MBR bootloader) biasanya hanya ditulis / diperbarui selama instalasi OS.
UUID=1234-567F /boot/efi vfat defaults 0 1
Menambahkan ESP atau GRUB-BBP ke instalasi dengan GPT
Menambahkan ESP ke instalasi lawas pada drive yang dipartisi GPT sangat mirip dengan yang di atas:
- Instal
grub-efi-amd64-bin
paket.
- Buat partisi dengan sistem file FAT32 mirip dengan instruksi di atas dengan mengubah ukuran partisi root dan mengatur
boot
bendera.
- Pasang partisi dan jalankan
grub-install
perintah dari atas yang menyertakan --removable
parameter.
Ini juga berfungsi jika Anda hanya ingin mem-boot instalasi UEFI yang ada di komputer lain.
Membuat Partisi Bootable BIOS (BBP) untuk GRUB sedikit berbeda:
Instal grub-pc-bin
paket.
Buat partisi yang mirip dengan instruksi di atas dengan mengubah ukuran partisi root dan mengatur bios_grub
bendera. Pilih tidak ada sistem file dan biarkan tidak diformat.
Edit file konfigurasi /etc/default/grub
dengan hak administratif dan tambahkan GRUB_DEVICE=/dev/sdb6
sampai akhir. Ganti /dev/sdb6
dengan nama perangkat BBP Anda yang sebenarnya. Anda dapat menggunakan editor baris perintah nano untuk menjaga hal tetap sederhana.
Instal gambar GRUB MBR ke BBP dengan:
grub-install --boot-directory /mnt/test/boot/ --target i386-pc $device
Anda mungkin ingin menghapus atau mengomentari baris /etc/default/grub
dan menambahkannya ke instalasi yang sebenarnya.
Bonus: Tambahkan partisi untuk Mac pada instalasi dengan GPT
Saya menemukan bahwa Mac yang sangat baru (Mac Mini A1347 EMC 2840) yang saya uji dapat mem-boot dari FAT32 ESP standar, bahkan dari MBR! Bagaimanapun, ini dia:
Instal grub-efi-amd64-bin
, hfsprogs
, mactel-boot
dan mactel-boot-logo
paket (opsional). Anda perlu mengaktifkan repositori Universe ( Bagaimana cara mengaktifkan repositori "Universe" dari baris perintah? ) Dan menambahkan PPA dukungan Mactel saat ini (lihat tim Komunitas Dukungan Mactel untuk perincian lebih lanjut) untuk menginstal semuanya.
Buat partisi dengan sistem file HFS + mirip dengan instruksi di atas dengan mengubah ukuran partisi root. Kali ini kami membutuhkan beberapa megabita lebih banyak ruang, jadi gandakan ukuran ESP jika Anda hanya memiliki 5 megabita atau kurang sebelumnya. Tidak diperlukan bendera.
Pasang partisi:
mkdir -p /mnt/esp-mac
mount $esp-mac_device /mnt/esp-mac
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
Catatan: Saya memilih $esp-mac_device
dan /mnt/esp-mac
menghindari konflik.
Jalankan grub-install
perintah yang menyertakan --removable
parameter:
grub-install --efi-directory /mnt/esp-mac --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
Terakhir, siapkan partisi seperti yang diharapkan oleh Mac:
sudo hfs-bless /mnt/esp-mac/EFI/BOOT/bootx64.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/bootx64.efi /mnt/esp-mac/System/Library/CoreServices/boot.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/grub.cfg /mnt/esp-mac/System/Library/CoreServices/grub.cfg
sudo cp -v /usr/share/mactel-boot/SystemVersion.plist /mnt/esp-mac/System/Library/CoreServices/SystemVersion.plist
sudo cp -v /usr/share/mactel-boot-logo/ubuntu.icns /mnt/esp-mac/.VolumeIcon.icns
echo "Dummy kernel for booting" | sudo tee /mnt/esp-mac/mach_kernel
Untuk mem-boot Ubuntu dari media eksternal pada Mac Anda sekarang hanya perlu menekan tombol opsi ⌥ atau Altpada keyboard Windows dan memilih disk yang tepat.
Tentang flag partisi, ketik kode, dan GUID
Agar seakurat mungkin, flag boot tidak penting untuk GRUB, secara default GRUB mencari UUID untuk menemukan sistem file yang tepat untuk boot. Mengatur flag boot atau flag bios_grub di GParted biasanya menetapkan tipe (MBR) atau GUID (GPT) untuk partisi.
Manfaat pengaturan jenis atau GUID yang benar, selain memiliki pengaturan yang berfungsi dengan baik, adalah bahwa partisi ini akan disembunyikan di filemanager. Cara termudah untuk memeriksa dan mengubah jenis dan GUID adalah melalui Disk ( gnome-disks
).
Atau Anda bisa menggunakan parted atau gdisk:
- 0xef adalah kode jenis untuk ESP di MBR untuk digunakan dengan fdisk
- ef00 adalah kode jenis disingkat untuk ESP di GPT untuk digunakan dengan gdisk
- ef02 adalah kode jenis disingkat untuk BBP di GPT untuk digunakan dengan gdisk
Wikipedia memiliki daftar besar GUID untuk GPT .
Setara dengan commandline parted
sesuai dengan manual adalah parted $device set partition esp on
dan parted $device set partition bios_grub on
.
/boot/
tidak ditemukan". Thegrub.cfg
dalam ESP partisi poin ke UUID yang tepat. Ada ide? Saya akan senang memposting pertanyaan baru.