Tambahkan Windows 10 ke daftar OS GRUB

29

Baru-baru ini saya mendapat komputer dari sekolah. Itu datang dengan Windows 8.1 diinstal. Saya kemudian menginstal salinan Windows 8.1 yang lain (sehingga akan menggunakan lisensi Windows Pro bawaan) dan memutakhirkannya ke Windows 10. Saya kemudian menginstal Ubuntu di samping Windows 8 dan 10.

Perhatikan bahwa saya membuat partisi ext2 255MB terpisah untuk / boot.

Sekarang, ketika saya boot komputer, saya pertama kali melihat prompt GRUB (saya sudah un-menyembunyikan prompt grub 'cuz saya suka seperti itu) dengan Windows 8 dan opsi Ubuntu. Namun, tidak ada opsi Windows 10. Jika saya memilih Ubuntu, komputer melakukan boot ke Ubuntu. Namun, jika saya memilih opsi Windows 8, saya kemudian dikirim ke bootloader Windows, di mana ia kemudian memberi saya opsi untuk mem-boot Windows 8 atau Windows 10. (Namun, pada titik ini, komputer telah memuat kernel dan semua Rupanya Microsoft salah memahami konsep boot loader dan memutuskan bahwa itu berarti "boot secara praktis seluruh sistem sebelum benar-benar menunjukkan bootloader". Khas Microsoft.)

Bagaimana saya bisa menonaktifkan bootloader Windows dan menambahkan opsi Windows 10 ke GRUB? EDIT: Seseorang telah memberi tahu saya untuk menonaktifkan bootloader Windows. Namun, saya masih belum tahu cara menambahkan Windows ke daftar OS GRUB. Adakah yang bisa membantu dengan ini?

EDIT 2: Setelah menghapus Windows 10 dari bootloader Windows dengan EasyBCD, tampaknya, setelah beberapa reboot, itu akan terus-menerus menyembunyikan diri dan Windows 10 akan muncul kembali. Namun, saya kemudian menghapus Windows 10 dari daftar OS di msconfig, dan sepertinya tetap terhapus.

Namun, saya MASIH belum berhasil membuat Windows 10 muncul di GRUB. Sepertinya GRUB tidak mendeteksinya.

Juga, saya akan memasukkan ini ke dalam pertanyaan sehingga orang melihatnya - Saya sudah mencoba menggunakan boot-repair, namun itu TIDAK membantu.

Hitechcomputergeek
sumber
1
@ daltonfury42 Berhenti percaya jika Anda tidak mendengarkan atau tidak mengerti apa persyaratan OP! Merekomendasikan alat yang sebagian besar mengatasi masalah umum dalam pengaturan boot lawas tipikal, untuk instalasi UEFI yang tidak biasa dengan persyaratan khusus menyesatkan dan kontra produktif.
LiveWireBT
2
@LiveWireBT Saya sangat menyesal. Saya melihat jawaban Anda. Saya telah menghapus komentar saya (dan berhenti percaya: P). Terima kasih!
daltonfury42
1
Saya pikir saya hanya akan menghapus seluruh partisi Windows 10 dan memindahkannya ke VM.
Hitechcomputergeek
Jujur tidak yakin mengapa orang-orang masih upvoting ini, karena IMO itu bukan pertanyaan yang bagus. Namun, tahun ini saya memecahkan masalah ini dengan cara lain - dengan mengkonversi dari MBR ke GPT dan UEFI boot. Pada dasarnya, saya mengonversi skema pemartisian ke GPT, mengubah ukuran partisi Windows, menambahkan Partisi Sistem EFI dan meletakkan rEFInd di atasnya, dan membuat BCD Windows menggunakan disk instalasi Windows. Sekarang sistem melakukan booting menggunakan boot UEFI, membuatnya lebih mudah untuk bermain dengan OS. Berlawanan dengan apa yang dikatakan internet, tidak terlalu sulit untuk mengubah instalasi Windows dari BIOS ke UEFI, tetapi juga tidak mudah.
Hitechcomputergeek
1
Bagi siapa pun di masa depan yang ingin melakukan sesuatu seperti ini dan ingin tetap menggunakan BIOS - saya yakin jawabannya ada pada BCD Windows. Saya percaya bahwa penginstalan Windows 10 tidak memiliki bootloader atau BCD yang tepat atau sesuatu, dan sebenarnya tidak mampu melakukan booting secara mandiri. Jika dilakukan dengan benar, saya mempunyai firasat bahwa GRUB akan mulai secara otomatis menemukan partisi Windows 10.
Hitechcomputergeek

Jawaban:

25

Menggunakan:

sudo update-grub
sudo grub-install /dev/[BOOT PARTITION eg. Sda6]

perintah di terminal Ubuntu, mungkin itu akan menyelesaikan masalah Anda.

Dengan perintah ini, sistem akan secara otomatis mendeteksi instalasi Windows Anda dan menambahkannya ke daftar GRUB.

Neel Shah
sumber
2
Sayangnya ini tidak berhasil. Tampaknya tidak mendeteksi partisi Windows 10.
Hitechcomputergeek
1
Sebenarnya saya memiliki masalah yang sama dengan sistem saya (memiliki windows 10 dan ubuntu 14.04), Dan itu diselesaikan dengan perintah ini.
Neel Shah
Perintah mana yang menyelesaikannya, update-grubatau grub-install? Dan apakah Anda memiliki partisi / boot terpisah? Masalahnya adalah saya memiliki partisi boot terpisah pada saya pikir itu sebenarnya sda6.
Hitechcomputergeek
Melakukan dua perintah itu (jelas) tidak menyelesaikannya.
Hitechcomputergeek
7
sudo update-grubmelakukannya.
thameera
21

Terkadang os-prober salah.

Lihatlah UUID partisi Windows 10 Anda, untuk contoh:

sudo blkid /dev/sda2

Kemudian edit /etc/grub.d/40_custom, dan pada akhir file tambahkan:

menuentry "Windows 10" --class windows --class os {
   insmod ntfs
   search --no-floppy --set=root --fs-uuid $your_uuid_here$
   ntldr /bootmgr
}

Jangan lupa untuk mengubah UUID.

Dan akhirnya perbarui file konfigurasi grub Anda:

sudo update-grub

Sumber

noraj
sumber
2
Perlu dicatat bahwa untuk windows 10, biasanya partisi pertama BUKAN sistem Windows satu, (yaitu sdb2 benar dan sdb1 TIDAK) Ini karena bagaimana windows 10 disimpan pada disk saat menginstal, dan sistem partisi cadangan atau perbaikan sistem selalu yang pertama). Grub sering gagal menemukan partisi kedua jika partisi pertama pada disk sudah menyediakan sesuatu yang dapat di-boot. cara termudah untuk menemukan UUID yang benar adalah dengan menemukan partisi terbesar melalui sudo fdisk -ldan mencocokkannya dengan hasil blkid.
janmyszkier
9

Solusi ini memberikan entri yang tepat di menu grub2 dan rantai langsung ke Windows 10 tanpa referensi ke BIOS. Itu berasal dari https://ihaveabackup.net/article/grub2-entry-for-windows-10-uefi jadi saya tidak mengklaim kredit. Sungguh melegakan menemukan solusi yang berhasil

Secara singkat, edit /etc/grub.d/40_custom dan tambahkan:

menuentry 'Windows 10' {
    search --fs-uuid --no-floppy --set=root CC66-4B02
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Untuk menemukan UUID untuk --set = root line (CC66-4B02 dalam contoh) Anda menggunakan sudo fdisk -l untuk mengidentifikasi partisi EFI kemudian sudo blkid / dev / sda1 (atau apa pun) untuk menemukan UUID dari partisi EFI . Perhatikan ini bukan partisi Windows tetapi EFI yang Anda butuhkan. Setelah Anda menyimpan hasil edit, jalankan sudo update-grub untuk menghasilkan file /boot/grub/menu.cfg dan kemudian restart untuk menguji.

peterthevicar
sumber
Saya kira perintah sudo / dev / sda1 harus sudo blkid / dev / sda1
makapuf
@mapapuf - Anda benar sekali, terima kasih. Dikoreksi.
peterthevicar
Saya telah mengikuti tutorial yang tepat, dan saya mendapatkan "Kesalahan: Partisi tidak ditemukan" ketika saya mencoba untuk mem-boot entri. Saat memasang partisi, sepertinya "EFI / Microsoft / Boot / bootmgfw.efi" tidak ada pada partisi itu.
Xerus
8

gunakan aplikasi ini EasyBCD untuk windows http://neosmart.net/EasyBCD/ unduh versi gratis dan instal.

ketika Anda membukanya Anda akan melihat entri untuk windows 8 dan satu untuk windows 10.

hapus entri windows 8 dan Anda akan baik-baik saja.

Pembaruan setelah melakukan langkah-langkah di atas, kembali ke Ubuntu,

buka terminal dengan menekan ctrl+ alt+T

lalu salin melewati perintah ini satu demi satu,

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair

dan dengan ini Anda akan menginstal alat yang disebut boot-repair.

buka perbaikan boot dari dash dan Anda akan mendapatkan jendela ini

masukkan deskripsi gambar di sini

pilih perbaikan yang disarankan dan ikuti langkah-langkahnya.

Perhatikan Anda harus terhubung ke Internet saat menggunakan boot-repair.

RonnieDroid
sumber
1
@Hitechcomputergeek jika Anda membutuhkan bantuan lebih banyak, beri tahu saya bahwa saya akan mem-boot ke windows dan membuat Anda beberapa tangkapan layar.
RonnieDroid
Apakah itu menambahkan Windows 10 ke GRUB? (Biar saya tebak: tidak) Saya ingin dapat mengakses ketiga OS dari GRUB, dan itu hanya menyelesaikan sebagian dari masalah.
Hitechcomputergeek
Saya memperbarui pertanyaan untuk bertanya bagaimana cara menambahkan Windows 10 ke daftar GRUB OS. Saya memutakhirkan jawaban Anda karena itu memperbaiki bagian dari masalah, tetapi karena saya masih perlu menambahkan Windows 10 ke GRUB, saya belum menerima jawabannya.
Hitechcomputergeek
2
Juga, saya perhatikan Anda mengatakan untuk membuka Boot Repair dari dasbor, tetapi saluran sudo apt-get install -y boot-repair && boot-repairsudah membukanya.
Hitechcomputergeek
1
Anda juga dapat menggunakan alat ini di "mode uji ubuntu (live cd mode)" di mana Anda dapat menginstal, menjalankan dan menggunakannya setelah terhubung ke internet atau istri.
Alamjit Singh
4

Sejauh yang saya mengerti pertanyaan Anda, Anda memiliki dua instalasi Windows berbeda pada satu atau lebih harddrives dan Anda tidak ingin loader Windows menghalangi atau mengelola kedua instalasi Windows. Saya ingat bahwa itu mungkin pada pengaturan lama untuk langsung mem-boot kernel Windows dari Grub (saya mungkin salah di sini) tetapi saya belum dapat melakukan ini pada pengaturan UEFI. Memiliki dua konfigurasi bootloader Windows independen yang dapat dipanggil dari Grub secara independen harus sangat dekat dengan apa yang Anda cari.

Itu datang dengan Windows 8.1 diinstal.

Saya akan berasumsi bahwa ini adalah komputer yang mampu UEFI.

  1. Silakan periksa apakah komputer tersebut benar-benar mampu UEFI (saya akan menghapus jawaban saya jika tidak) dan membiasakan diri dengan perbedaan antara BIOS dan UEFI ( mode boot berbeda , efibootmgr, tabel partisi berbeda, partisi sistem EFI (ESP), EFI loader) ...)
  2. Kemudian periksa apakah semua OS diinstal dalam mode UEFI dan periksa apakah Anda memiliki tabel partisi GPT. Anda dapat menggunakan Windows dismuntuk membuat cadangan dan mengembalikan partisi ke tata letak tabel partisi baru dan menggunakan prompt perintah dari media instalasi Windows terbaru untuk menginstal ulang bootloader, lebih detail tentang ini di poin berikutnya.
    • Karena Anda telah disarankan untuk mencoba berbagai alat lain yang tidak mengatasi masalah Anda, Anda harus mengembalikan perubahan ini ke kondisi yang masih asli, jika tidak, ini akan semakin membingungkan. Maaf soal itu. :(
  3. Anda dapat menggunakan jawaban saya dari Cara mem-boot Windows 8 dari partisi MBR lama dalam mode UEFI via GRUB?
    • Jawaban ini tidak menginstal konfigurasi boot loader Windows independen melalui bcdbootdi lokasi yang berbeda di mana Grub akan menyebutnya. Untuk kenyamanan saya telah memilih partisi root Windows. Anda harus melakukan ini untuk setiap instalasi Windows, sehingga setiap instalasi Windows memiliki sendiri dan hanya akan mem-boot sendiri (bersihkan masing-masing menu boot Windows dari entri lain).
    • Ingatlah bahwa Anda perlu membuat entri individual untuk setiap instalasi Windows yang ingin Anda boot /etc/grub.d/40_customdan ikuti instruksi dan penjelasan tentang UUID, partisi dan tabel partisi.
    • Mungkin menonaktifkan setiap fitur semi-cerdas yang mendeteksi OS yang berbeda seperti OS-prober di Grub ( GRUB_DISABLE_OS_PROBER) atau memecahkan masalah boot dengan Windows atau memperbaiki boot (atau secara manual membersihkan setelah mereka).

NB: Permintaan Anda adalah untuk dapat mengelola semua OS dengan Grub, namun dengan UEFI, istilah "dualboot" tradisional menjadi hampir keliru. UEFI memungkinkan koeksistensi beberapa bootloader pada ESP dan Anda dapat memilih mana yang akan di-boot (jika sudah terdaftar dalam firmware UEFI dan firmware pabrikan tidak melakukan hal yang tidak sesuai dengan spesifikasi seperti hanya mem-boot Windows). Yang menyedihkan di sini adalah hanya sedikit orang yang dapat berpikir untuk menginstal lebih dari satu versi (independen) Windows , Linux atau satu rilis Ubuntu ke satu komputer(atau harddisk yang digunakan dengan beberapa komputer dan mem-boot instalasi berbeda dari rilis OS yang sama pada setiap komputer). Sebagian besar sudah mungkin, tetapi mekanisme di Windows dan Ubuntu (Fedora, ...) jelas memilih untuk menimpa apa yang ada di namespace mereka di bawah asumsi yang salah bahwa hanya ada satu.

(Saya melakukan boot Windows8 / 10, Ubuntu, Ubuntu LTS dan Fedora di satu komputer dan telah bermain-main beberapa kali dengan UEFI booting di bawah persyaratan yang berbeda.)

LiveWireBT
sumber
1
Saya tidak menggunakan Windows. Tetapi adakah yang mencoba menyalin / EFI / Windows ke / EFI / Windows10 dan / atau / EFI / Windows8 dan mengedit setiap BCD hanya untuk versi itu? Dan kemudian di UEFI buat entires untuk masing-masing. Jika itu bekerja dari UEFI maka grub dapat menghubungkan ke masing-masing secara langsung.
oldfred
@oldfred Itulah yang ingin saya tunjukkan di bagian bawah dan bahkan mungkin ada parameter untuk bcdbootmenentukan direktori target lain, tapi saya tidak yakin. Berantai dengan binari EFI lainnya hanya dari satu ESP sangat disederhanakan 40_customdan membuatnya lebih rentan kesalahan, Anda benar dengan itu. Saya pikir terlalu fokus pada skenario multi-harddrive (dalam hal ini Anda masih dapat memberitahu bcdboot untuk mem-boot Windows pada hdd2 dari ESP di hdd1, saya pikir). m (
LiveWireBT
Komputer ini berkemampuan UEFI, tapi sejujurnya saya tidak tahu kalau sekarang ada partisi. Sekolah memiliki gambar Windows 8 khusus yang diinstal, dan meskipun menggunakan UEFI dan Boot Aman (Saya percaya BIOS dikonfigurasi untuk memungkinkan UEFI dan boot warisan sekarang; Saya ingat menonaktifkan Boot Aman), hard disk itu sendiri diformat menggunakan MBR. Di sini, miliki tangkapan layar: imgur.com/1vDS4jf (Ya, saya berencana mengubah ukuran sekelompok partisi segera.) Juga, Ubuntu sendiri (dari grepping dmesg) tampaknya tidak dimulai dalam mode EFI, tetapi Saya tidak tahu apakah GRUB itu sendiri bisa
Hitechcomputergeek
@Hitechcomputergeek Screenshot menunjukkan tabel partisi msdos / MBR dengan partisi extended dan tanpa partisi EFI. Seperti yang saya katakan sebelumnya, Anda harus memiliki GPT dan dapat digunakan dismuntuk partisi Windows.
LiveWireBT
dimulai sebagai UEFI, tetapi kemudian mulai OS lain sebagai bukan-UEFI atau sesuatu. UEFI membingungkan. EDIT: GRUB tidak dimulai sebagai UEFI. Saya tidak tahu apa yang terjadi dengan Windows asli. Sebenarnya, kalau dipikir-pikir, saya kira itu mungkin TIDAK AKAN UEFI di tempat pertama. Saya berasumsi itu karena pada dasarnya tidak mungkin untuk masuk ke BIOS karena hal hibernasi Windows 8, kecuali Anda pertama kali mem-boot-nya, lalu tekan "Restart", MAKA mencoba masuk ke BIOS. Saya tidak perlu melakukan itu sama sekali sejak menginstal Ubuntu (dan GRUB).
Hitechcomputergeek
2

Cukup login ke OS Ubuntu Anda, buka terminal:

sudo update-grub

reboot

Nidhan
sumber