Pertama, saya akan menjelaskan situasi saya
- Perangkat: ASUS x205ta dengan 32GB eMMC (Windows 8.1 + Bing terpasang). Mari kita panggil ini
/dev/mmcblk0
- usb flash drive: 64GB Sandisk ultra. menginstal Ubuntu 14.04. Mari kita panggil ini
/dev/sda
lihat hasil parted -l
root@chkwag-X205TA:/home/chkwag# parted -l
Model: SanDisk SanDisk Ultra (scsi)
Disk /dev/sda: 31.6GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 2048MB 2047MB linux-swap(v1)
2 2048MB 2147MB 99.6MB fat32 boot
3 2147MB 31.6GB 29.5GB ext4
Error: /dev/mmcblk0rpmb: unrecognised disk label
Error: /dev/mmcblk0boot0: unrecognised disk label
Error: /dev/mmcblk0boot1: unrecognised disk label
Model: MMC SDW32G (sd/mmc)
Disk /dev/mmcblk0: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 106MB 105MB fat32 EFI system partition boot
2 106MB 240MB 134MB Microsoft reserved partition msftres
3 240MB 20.5GB 20.3GB ntfs Basic data partition msftdata
4 20.5GB 31.3GB 10.7GB ntfs Basic data partition hidden, diag
eMMC dan flash drive masing-masing memiliki ESP (format: FAT32). Saat ini, saya memuat Ubuntu melalui GRUB2 (bernama bootia32.efi
) di ESP usb flash drive dengan menambahkan entri menu UEFI yang menunjuk ke bootia32.efi
file ini . (Entri di grub-stable
bawah)
lihat entri menu UEFI:
root@chkwag-X205TA:/home/chkwag# efibootmgr -v
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0005,0007,0006,000C,0000,0001,0002,0003
Boot0000* Windows Boot Manager HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...e................
Boot0001* UEFI:CD/DVD Drive BIOS(81,0,00)
Boot0002* UEFI:Removable Device BIOS(82,0,00)
Boot0003* UEFI:Network Device BIOS(83,0,00)
Boot0005* grub_stable HD(2,3d0800,2f800,97a32bdd-cbf7-4583-a071-d205f5134f43)File(\EFI\BOOT\bootia32.efi)
Boot0006* fakeMS HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)File(\EFI\FAKE_MS\BOOT\BOOTMGFW.EFI)
Boot0007* grub1 HD(1,800,32000,321f056d-350b-44ac-ac85-b19a4fac6b77)File(\EFI\GRUB32.EFI)
Boot000C* UEFI: SanDisk SanDisk Ultra PMAP ACPI(a0341d0,0)PCI(14,0)USB(2,0)USB(2,0)HD(2,3d0800,2f800,97a32bdd-cbf7-4583-a071-d205f5134f43)..BO
root@chkwag-X205TA:/home/chkwag#
Dalam arti membangun sistem dual-boot, ini tidak cukup tapi saya ingin mengambil ini lebih lanjut dan mendapatkan firmware UEFI untuk memuat GRUB2 dari ESP dari eMMC (Hanya pencarian pribadi). Untuk melakukan ini, saya hanya menyalin bootia32.efi
yang saya gunakan sebelumnya di ESP dari eMMC, dan membuat entri menu UEFI memuat file ini secara eksplisit. (entri bernama grub1
. grub32.efi
hanya versi berganti nama dari bootia32.efi
)
Secara teoritis, saya percaya ini benar. Namun, ketika saya menggunakan entri menu UEFI ini, saya tidak akan bekerja dan hanya menjalankan boot manager windows asli yang juga terletak di ESP yang sama.
Saya melakukan semua yang saya bisa seperti mengganti nama bootia32.efi
menjadi sesuatu yang lain atau mengganti windows boot manager asli ( bootmgfw.efi
) dengan bootia32.efi
nama yang sama. Tetapi semua upaya gagal.
Seperti yang saya katakan, jika semuanya diatur dengan benar menurut TEORI, lalu apa yang saya lewatkan? Apa lagi yang ada yang bisa mengabaikan entri menu UEFI saya yang memuat GRUB2 dan hanya memutuskan untuk memuat windows boot manager? Atau sebagai kemungkinan lain, bootia32.efi
dalam ESP eMMC entah bagaimana secara ajaib tidak berfungsi?
urutan boot tidak boleh menjadi masalah di sini karena jika entri menu saya sudah benar, maka tidak perlu beralih ke urutan boot berikutnya. Selain itu, saya telah mengkonfirmasi bahwa memuat bootia32.efi
sendirian masih harus memberi saya baris perintah yang terhubung GRUB2 jika grub.cfg
tidak ditemukan di dekatnya.
sumber