Di mana bootloader harus diinstal ketika saya ingin menjalankan Ubuntu dari HDD eksternal?

9

Saya memiliki laptop yang menjalankan windows 10 dan saya ingin menginstal Ubuntu pada HDD eksternal dan setiap kali saya membutuhkannya saya bisa pasang dan boot dari drive eksternal.

Saya sudah mengikuti tutorial, sebenarnya dua, dan keduanya mengatakan bahwa bootloader harus diinstal pada HDD eksternal. Akibatnya, saya hanya dapat mengakses Windows ketika HDD eksternal dipasang. Setiap kali saya tidak memasangnya di laptop, saya tidak mau boot dan saya hanya akan mendapatkan layar hitam dengan garis putih. Setelah memperbaiki catatan boot master saya, saya dapat mengakses windows.

Sekarang saya ingin mencoba lagi tetapi saya khawatir jika saya menginstal bootloader pada drive internal, entah bagaimana saya mungkin menghapus partisi windows saya atau saya akan memiliki masalah dengan bootup saya.

Jadi apa yang harus aku lakukan?

Kapten
sumber
Kemungkinan bug dan solusinya di bugs.launchpad.net/ubuntu/+bug/1835639
Bellera

Jawaban:

10

Pertama, KRITIS bahwa Anda memahami mode boot Anda. Komputer modern dapat melakukan boot dengan salah satu dari dua cara berikut:

  • BIOS - Ini adalah cara boot lama, yang digunakan pada sebagian besar komputer yang diperkenalkan sebelum 2011. Komputer modern mendukung booting mode-BIOS melalui fitur yang disebut Modul Dukungan Kompatibilitas (CSM), alias "dukungan boot mode legacy" atau istilah yang sama. Dengan demikian, metode ini dapat disebut dengan tiga nama: BIOS, CSM, atau legacy. Ini melibatkan kode boot loader 16-bit yang tersebar di Master Boot Record (MBR) dan berbagai tempat lainnya. Ini adalah metode boot yang tidak matang tetapi matang, dan sebagian besar situs yang tidak secara eksplisit menyebutkan mode booting menggambarkan booting mode-BIOS. Namun, jika komputer Anda dilengkapi dengan Windows 8 atau lebih baru, kemungkinan itu tidak menggunakan metode booting ini.
  • EFI / UEFI - Ini adalah mode boot asli untuk sebagian besar komputer yang diperkenalkan sejak pertengahan 2011, dan ini sepenuhnya berbeda dari booting mode-BIOS, jadi Anda harus mengabaikan saran yang secara eksplisit menyatakan itu untuk booting mode-BIOS, atau apa pun yang tidak menyebutkan mode boot (karena itu mungkin sudah tua atau ditulis oleh seseorang yang tidak tahu bedanya). Satu pengecualian: Secara membingungkan, banyak orang, dan bahkan produsen komputer, menyebut EFI mereka sebagai "BIOS." Praktik ini menciptakan banyak kebingungan.

Karena Anda menyebutkan Windows 10, kemungkinan komputer Anda berbasis EFI dan melakukan booting dalam mode EFI. Saya akan melanjutkan dengan asumsi itu. Jika ini salah, abaikan sisa jawaban ini.

Untuk mem-boot disk internal dalam mode EFI, OS biasanya menyimpan bootloader sebagai file pada Partisi Sistem EFI (ESP) pada disk. Nama file ini bisa apa saja yang legal, tetapi untuk Ubuntu, nama itu akan EFI/ubuntu/shimx64.efidiluncurkan EFI/ubuntu/grubx64.efi. Penginstal OS mendaftarkan nama boot loader dengan boot manager bawaan EFI, yang menyimpan nama itu dalam NVRAM. Jika EFI bekerja dengan benar (tidak semua berfungsi), ini menghasilkan proses boot yang berfungsi.

Masalah dengan proses ini, sebagaimana diterapkan pada removable disk, adalah tiga kali lipat:

  • Penginstal Ubuntu akan menginstal GRUB ke "the" ESP - tetapi Anda mungkin memiliki beberapa ESP yang tersedia (hampir pasti satu di hard disk dan mungkin satu di USB drive). Mengontrol tempat pemasangan GRUB mungkin rumit. Ini tidak dilakukan dengan menggunakan opsi yang ditandai dengan judul yang jelas tentang di mana menginstal GRUB. Sebaliknya, itu dapat dilakukan (AFAIK) hanya dari opsi instalasi "Sesuatu Lain" dengan menandai ESP yang ingin Anda gunakan sebagai "partisi boot EFI" atau "Partisi Sistem EFI" (yang namanya tergantung pada versi Ubuntu).
  • Jika Anda menginstal GRUB ke ESP pada drive USB, maka ketika Anda menghapus drive USB, EFI mungkin memperhatikan bahwa itu mendapat entri bootloader terdaftar yang tidak valid, dan menghapus entri itu. Banyak EFI melakukan ini, dan itu artinya jika Anda menginstal GRUB ke disk eksternal dan mencabutnya, Anda kehilangan kemampuan untuk mem-boot dari disk tersebut, bahkan ketika Anda mencolokkan kembali disk tersebut.
  • Cara Ubuntu mengkonfigurasi GRUB menyebabkannya bergantung pada file konfigurasi yang ada di /boot/grubdirektori Ubuntu , yang kemungkinan besar tidak berada di ESP. Jadi, jika Ubuntu menginstal GRUB ke ESP pada disk internal Anda, Anda akan menghindari masalah pertama tetapi mengalami yang lain karena ketika Anda memulai dengan drive USB yang terputus, GRUB akan meluncurkan dan tidak dapat menemukan file konfigurasinya. Hasilnya adalah grub>prompt yang akan membingungkan sebagian besar pengguna.

Ada sejumlah solusi untuk masalah ini, termasuk:

  • Pengguna menginstal GRUB ke nama file mundur pada disk eksternal - booting OS installer dengan menggunakan nama file fallback dari EFI/BOOT/bootx64.efi. Jika Anda menyalin Shim (yang meluncurkan GRUB) ke nama file ini (dengan menyalin EFI/ubuntuke EFI/BOOTESP dan kemudian mengubah nama shimx64.efimenjadi bootx64.efidiEFI/BOOT), firmware Anda akan dapat meluncurkan GRUB berbasis USB seperti halnya penginstal Ubuntu. Ini akan mengatasi kedua masalah yang baru saja saya identifikasi, tetapi Anda harus menggunakan boot manager bawaan komputer untuk memilih OS mana yang akan di-boot. Boot manager bawaan ini berkisar dari tidak dapat digunakan hingga dapat ditoleransi, jadi ini mungkin atau mungkin bukan solusi yang dapat diterima. Anda juga mungkin perlu mengubah urutan boot setelah menginstal Ubuntu agar tidak meluncurkan GRUB dari ESP disk internal atau ESP disk eksternal secara default.
  • Letakkan /bootpartisi pada disk internal Anda - Jika Anda menginstal GRUB ke disk internal, maka Anda juga dapat meletakkan /bootpartisi pada disk internal. Ini akan memungkinkan GRUB bekerja secara normal di semua boot; namun, opsi Ubuntu akan muncul setiap saat, bahkan ketika disk USB dicabut. Ini mungkin tidak diinginkan, terutama jika Ubuntu adalah default. Selain itu, solusi ini berarti bahwa drive USB eksternal Anda hanya dapat di-boot pada komputer yang Anda persiapkan. Jika Anda ingin dapat menggunakan disk itu di komputer lain, Anda harus menghindari solusi ini.
  • Gunakan boot manager yang lebih cerdas - Boot manager memberi Anda pilihan OS untuk boot, sedangkan boot loader memuat kernel ke dalam memori. GRUB melakukan pekerjaan dan boot manager bawaan EFI hanya melakukan pekerjaan pertama. Ada manajer boot lain yang tersedia, beberapa di antaranya dapat membantu Anda menghindari masalah yang saya identifikasi. RESMI saya sendiri , misalnya, jika diinstal ke ESP disk internal dan membuat program boot default, akan mendeteksi dan menyajikan opsi Ubuntu jika dan hanya jika GRUB atau kernel Linux hadir - yaitu, ketika drive USB dicolokkan masuk. Dengan mengatur default_selectionopsi direfind.confdengan tepat, Anda dapat mengonfigurasikan rEFInd untuk mem-boot Ubuntu secara otomatis jika drive USB Ubuntu Anda dicolokkan dan untuk mem-boot langsung ke Windows jika drive USB Ubuntu tidak dicolokkan. Jawaban saya untuk pertanyaan ini memberikan rincian lebih lanjut tentang jenis konfigurasi ini, meskipun pada sebuah Mac daripada PC.

Dengan sedikit keberuntungan, salah satu dari pendekatan ini akan membuat Anda bangun dan berjalan.

Rod Smith
sumber
0
  1. Boot Ubuntu Live USB / CD
  2. Tancapkan HDD eksternal Anda
  3. Instal Ubuntu pada HDD Eksternal (lanjutan, sehingga Anda dapat mengatur di mana seharusnya bootloader diinstal)
  4. Konfigurasi BIOS untuk boot dari hdd eksternal Anda
Hapus Akun ini
sumber
Ini adalah solusi berbasis BIOS yang tidak akan berfungsi dengan baik pada kebanyakan komputer berbasis EFI.
Rod Smith
0

Anda perlu menginstal bootloader di mana pun drive yang digunakan UEFI / BIOS untuk boot. Anda dapat mengubah drive ini dalam pengaturan BIOS Anda, yang Anda biasanya dapat akses dengan menekan sesuatu seperti F10, F12atau Delsegera setelah komputer Anda mulai. Jadi sebagai langkah pertama, Anda dapat mencoba mengatur mesin Anda untuk boot dari drive eksternal daripada drive internal. Jika bootloader dipasang dengan benar pada drive eksternal, ini akan berhasil.

Untuk penggunaan sehari-hari normal, Anda mungkin ingin selalu boot dari drive yang sama demi kenyamanan, jadi Anda ingin menginstal bootloader ke drive internal Anda. Namun, sebelum melakukan ini, Anda harus membuat cadangan, sebaiknya gambar disk lengkap dari drive internal Anda yang berfungsi. Jika Anda mengalami masalah setelah menginstal Ubuntu bersama Windows, alat Boot-Repair dapat membantu.

Ben
sumber
Saya sudah mengubah urutan boot untuk boot dari USB sebelum HDD internal. Jadi saya membayangkan jika saya menginstal Ubuntu pada HDD eksternal dan menginstal bootloader di HDD eksternal saya bisa tetapi seperti saya boot dari usb stick kan?
kapten
Maaf, saya tidak yakin persis apa yang Anda minta. Anda harus dapat 1) menginstal bootloader pada drive eksternal, 2) menghapus drive USB, dan 3) mengatur BIOS Anda untuk boot dari drive eksternal, kemudian boot ke Ubuntu pada drive eksternal.
Ben
@capitan Wright. Seperti yang saya katakan, ini akan berhasil.
Izzno
0

Saya akan menginstal boot loader di perangkat Eksternal! Dengan cara ini tidak ada kemungkinan instalasi windows Anda rusak atau menghapus bootloader. Ini akan menjadi tugas sederhana mengatur BIOS Anda untuk boot:

USB-Key
USB-Disk
HDD
etc 
etc

NB: PASTIKAN ANDA MENONAKTIFKAN SECUREBOOT (jika Anda menemukan opsi itu)

Dengan cara ini jika Anda melepas perangkat eksternal karena suatu alasan itu tidak akan menimbulkan masalah dengan komputer Anda.

Dan: Jika Anda menjauh dari driver berpemilik Anda akan dapat menjalankan sistem ini di komputer lain ...

(Btw, saya tidak akan merekomendasikan jenis instalasi ini untuk penggunaan permanen karena akan lebih lambat daripada eSATA)

Izzno
sumber
Ubuntu mendukung Boot Aman. Meskipun kadang-kadang ada ketidaksesuaian, mereka jarang terjadi, jadi seharusnya tidak perlu dipusingkan dengan pengaturan itu. Di bawah EFI, pengaturan urutan boot biasanya jauh lebih kompleks daripada yang Anda gambarkan, yang baik dan buruk - ini memberikan lebih banyak opsi dan kontrol yang lebih halus; tetapi itu berarti masih banyak yang harus dipelajari, dan solusi sederhana yang dipelajari di dunia BIOS tidak mungkin berfungsi.
Rod Smith
Saya tidak menyadari bahwa ubuntu dapat "berpose" sebagai windows karena semua opsi Secure Boot BIOS yang pernah saya lihat secara spesifik menyatakan bahwa ia menonaktifkan semua kemampuan untuk mengubah urutan boot secara permanen dan atau OS.
Izzno
Ubuntu tidak "berpose" sebagai Windows. Boot Aman hanya memerlukan program EFI untuk ditandatangani oleh kunci pribadi yang kunci publiknya terdaftar dengan firmware. Microsoft menandatangani kunci untuk pihak ketiga, termasuk binary Shim Canonical, membuatnya dapat dijalankan pada komputer yang menyertakan kunci Microsoft. Saya belum pernah mendengar tentang implementasi Boot Aman yang mencegah mengubah urutan boot, meskipun saya kira vendor mungkin memilih untuk menambahkan batasan itu. Lihat halaman saya di Boot Aman untuk informasi lebih lanjut tentang topik ini.
Rod Smith