Saya melihat Anda menemukan solusi; namun, saya ingin menunjukkan setidaknya sebagian alasan untuk masalah tersebut, karena hal itu dapat membantu Anda (atau orang lain) menghindari masalah serupa di masa mendatang ....
Dalam konfigurasi dual-boot awal yang Anda gambarkan (Windows / ElementaryOS), Anda memiliki dua manajer boot:
- Motherboard bawaan (EFI) bawaan boot manager - Manajer booting ini bergantung pada entri yang disimpan dalam NVRAM, yang mengarah ke program boot EFI. Entri NVRAM dapat ditambahkan, dihapus, dan dimodifikasi melalui program seperti
efibootmgr
di Linux, bcdedit
Windows, dan EasyUEFI di Windows. Biasanya, komputer melakukan booting ke program boot EFI default secara otomatis dan tanpa jeda untuk menampilkan menu pada saat boot; untuk mendapatkan menu, Anda harus menekan tombol khusus sistem segera setelah Anda menyalakan komputer atau menyalakannya kembali. Pilihan umum untuk kunci ini termasuk Esc, Enter, dan tombol fungsi (biasanya F8 atau lebih tinggi).
- GRUB - Setelah Anda menginstal ElementaryOS, GRUB harus menjadi program boot default yang ditentukan oleh boot manager bawaan EFI. GRUB sendiri merupakan boot manager, dan dalam konfigurasi dual-boot, ia harus menampilkan menu boot ketika dijalankan. Menu boot ini dibuat melalui file konfigurasi pada disk, yang disimpan di
/boot/grub/grub.cfg
dalam ElementaryOS. (File lain /boot/efi/EFI/ubuntu/grub.cfg
,, mungkin juga terlibat.)
(Catatan: Manajer boot menyajikan menu atau cara lain bagi pengguna untuk memilih OS mana yang akan di-boot. Seorang manajer boot biasanya menyerahkan ke boot loader, yang memuat kernel OS ke dalam memori dan menyerahkan kendali ke kernel. Beberapa program, termasuk GRUB, keduanya boot manager dan boot loader, tetapi yang lain, seperti boot manager EFI atau Linux EFI stub loader, adalah satu atau yang lain tetapi tidak keduanya. Pengguna Linux sering ceroboh membedakan antara dua jenis program ini karena GRUB melakukan keduanya.)
Bagaimanapun, ketika Anda berlari bcdedit
di Windows, Anda menyesuaikan boot manager EFI , tetapi ini tidak berpengaruh pada konfigurasi GRUB. Jadi, Anda akhirnya melewati GRUB, yang tentu saja bukan yang Anda inginkan. Untuk memodifikasi menu GRUB, Anda perlu mengedit file konfigurasinya, tapi itu proses yang lebih canggung daripada yang Anda harapkan, karena grub.cfg
sebenarnya dibuat oleh skrip sehingga dapat disesuaikan untuk sistem khusus Anda. Alat GRUB Customizer menyajikan front-end GUI yang relatif ramah untuk kustomisasi GRUB, tapi saya bukan ahli dalam penggunaannya. Juga dimungkinkan untuk menggunakan boot manager dan boot loader lainnya di Linux, mem-bypass GRUB sepenuhnya.
Masalah lain yang mungkin relevan adalah Boot Aman. ElementaryOS didasarkan pada Ubuntu, yang menggunakan program bernama Shim for Secure Boot Support. Shim binary ( shimx64.efi
) ditandatangani oleh Microsoft dan karenanya dipercaya oleh sebagian besar EFI. Tujuan utama Shim adalah untuk memperluas jumlah kunci Boot Aman yang akan diterima firmware dan meluncurkan GRUB ( grubx64.efi
), yang pada gilirannya ditandatangani dengan tombol lain (Canonical, dalam kasus Ubuntu, dan mungkin juga karena itu ElementaryOS, meskipun saya belum memeriksa ini).
Mengingat sifat dari solusi Anda, saya menduga Anda memiliki setidaknya dua entri untuk ElementaryOS dalam daftar boot NVRAM EFI Anda, salah satunya menunjuk ke Shim dan yang lainnya menunjuk ke GRUB. Saya menduga bahwa salah satu yang menunjuk langsung ke GRUB datang lebih awal dalam urutan boot Anda, tetapi diabaikan oleh firmware karena gagal tes Aman Boot tidak dimodifikasi firmware. Ketika Anda memberi tahu firmware untuk mempercayai GRUB, itu mulai lulus ujian dan GRUB akan diluncurkan. Ini mungkin telah diatur dengan cara lain pada awalnya, tetapi kesalahan Anda dengan bcdedit
di Windows memusnahkan atau mengubah urutan entri yang di-boot melalui Shim. Instalasi ulang GRUB Anda mungkin juga sedikit berbeda.
Jika Anda ingin memahami ini lebih baik, saya sarankan Anda membaca satu atau lebih hal berikut ini:
Bahkan jumlah total halaman-halaman ini tidak akan memberi tahu Anda dengan tepat apa yang terjadi pada sistem Anda, tetapi Anda mungkin dapat mendiagnosisnya dengan lebih baik dengan memeriksa sudo efibootmgr -v
output Anda , dan untuk memperbaiki masalah serupa jika terjadi di masa depan.
/boot
, partisi efi,/dev
,/sys
, dll) pada pemulihan lingkungan Anda, kemudianchroot
ke root Linux Anda dan instal ulang grub menggunakangrub-install
.