GRUB tidak mendeteksi Windows

66

Saya akhirnya menginstal Ubuntu pada drive kedua saya. Ketika saya memulai komputer, GRUB hanya menawarkan saya untuk mem-boot Ubuntu, bukan Windows 7. Apa yang perlu dilakukan agar saya dapat memilih antara Ubuntu dan Windows di GRUB?

Ketika saya menekan F12 untuk menu boot saat startup dan saya memilih Windows Boot Managerboot ke Windows 7.


Saya menjalankan perintah sudo fdisk -ldan ini adalah log ( http://pastebin.com/Cgv1igHc ):

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xc3ffc3ff

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1953525167   976762583+  ee  GPT
Partition 1 does not start on physical sector boundary.
HyperX
sumber
Harap tunjukkan URL Boot-Info Anda . Ini akan memberikan informasi yang relevan untuk membantu Anda.
LovinBuntu

Jawaban:

100
  1. Boot Ubuntu dan pasang partisi Windows Anda (cukup buka disk di Nautilus)

  2. Jalankan yang berikut ini di baris perintah ( Ctrl+ Alt+ t):

    sudo os-prober
    
  3. Jika instalasi Windows Anda ditemukan, Anda dapat menjalankan:

    sudo update-grub
    

Perhatikan bahwa langkah 2 hanya untuk kenyamanan Anda. Anda bisa memasang partisi Windows 7 dan kemudian jalankan update-grub.

Pertanyaan terkait

Hermes
sumber
Saya memiliki 2 partisi dengan 2 instalasi windows, hanya mendeteksi instalasi saya di partisi lain, tetapi tidak pada windows yang baru diinstal (pada SSD)! bahkan dipasang ... ide?
Philippe Gachoud
Terima kasih. Menarik bahwa os-prober tampaknya perlu langkah 1. Sangat penting, atau windows tidak akan berfungsi.
Tampilan elips
mount -t ntfs-3g -o ro /dev/sda4 /media/windowsuntuk me-mount partisi windows
Yuvaraj Loganathan
sempurna! menjalankan kedua perintah melakukan trik
Aryeh Beitz
bekerja! Terima kasih!
DigaoParceiro
10

Jika os-probermetode di atas tidak berhasil, coba tambahkan entri menu grub khusus. Didokumentasikan di sini .

Dua langkah pertama adalah untuk menemukan <UUID>.

  1. Jalankan lsblkdan temukan nama baris dengan/boot/efi

Contoh output (di sini jawabannya adalah sda2) :

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   477G  0 disk 
├─sda1        8:1    0   450M  0 part 
├─sda2        8:2    0   100M  0 part /boot/efi
├─sda3        8:3    0    16M  0 part 
├─sda4        8:4    0    47G  0 part /windows
├─sda5        8:5    0 425,6G  0 part /
└─sda6        8:6    0   3,7G  0 part [SWAP]
mmcblk0     179:0    0  14,9G  0 disk 
└─mmcblk0p1 179:1    0  14,9G  0 part
  1. Jalankan di sudo blkid /dev/sdaXmana sdaXjawabannya dari langkah sebelumnya ( sda2dalam kasus saya) .

Contoh output (di sini jawabannya adalah 58E4-427D) :

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. Tambahkan berikut ini di akhir file /etc/grub.d/40_custom:
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. Jalankan sudo update-grubdan reboot.
Philippe Gachoud
sumber
Terima kasih kepada @Christopher Markieta untuk semua detail di jawaban lain. Menambahkan mereka ke yang ini juga (meskipun spesifik dari entri kustom berbeda.
Carolus
9

Saya menjalankan Windows 10 dan kemudian mencoba dual boot. Setelah Ubuntu diinstal, Win 10 tidak muncul di loader GRUB saya. Saya mencoba yang berikut -

Pertama-tama, saya menonaktifkan Boot Aman di Win10. Kemudian jalankan perintah di bawah ini di Ubuntu:

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

Berolahraga dengan cukup baik. Setelah itu dapat menemukan Windows dan Ubuntu di GRUB.

Karthik Ubaradka
sumber
Apakah PPA ini masih ada? Saya tidak dapat menambahkannya dan mengklaim tidak ada dari disk boot Ubuntu 18.04
jocull
Baru saja menerima 404 Not Foundkesalahan pada Debian
winklerrr
5

Saya memecahkan masalah serupa dengan langkah-langkah Boot-Repair

Instal perbaikan-boot

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

Tekan "Perbaikan yang disarankan" Dan masukkan terminal beberapa perintah seperti yang disarankan.

Saya pikir Grub saya tidak mengenali windows karena shutdown yang buruk, dan itu memecahkan masalah.

Rutrus
sumber
3

Jika sebelumnya Anda telah menginstal RAID yang mungkin menyebabkan masalah. Dalam kasus saya, saya membangun desktop pada 2010, dan saya menginstal dua 1,5 TB dengan RAID bergaris. Pengguna gracemercy54 menyebutkan di sini bahwa ini adalah metadata yang tersisa dari konfigurasi RAID sebelumnya.

Ketika saya awalnya mencoba langkah-langkah oleh Hermes saya mendapat kesalahan menentukan "jumlah perangkat yang salah dalam satu set RAID." Jadi, jika ini terjadi pada Anda, buka terminal dan jalankan:

   sudo dmraid -rE
   sudo os-prober
   sudo update-grub

Itu memperbaiki ini untukku.

Adam Drewery
sumber
Saya pikir saya juga disebabkan oleh serangan itu. Tetapi sudo dmraid -rEtidak berhasil untuk saya. Saya akhirnya membuatnya dengan beralih ke AHCIdalam BIOS sementara, lalu boot ke Ubuntu dan jalankan sudo update-grub, lalu beralih RAID ONkembali.
realhu
1
PERINGATAN : ini akan menghancurkan array RAID Anda jika Anda masih menggunakannya.
Christopher Markieta
3

Metode yang sedikit berbeda ketika saya menyalin dari contoh yang bekerja di komputer lain, memposting untuk catatan saya sendiri.

Tambahkan yang berikut ke /etc/grub.d/40_custom:

menuentry "Windows 10" {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set <boot_efi_uuid>
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

di mana <boot_efi_uuid>UUID /boot/efipartisi Anda . Untuk menemukan ini:

$ lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT                                                  
sda                 8:0    0 119.2G  0 disk
└─md126             9:126  0 357.7G  0 raid0
  ├─md126p1       259:0    0   499M  0 md
  ├─md126p2       259:1    0   100M  0 md    /boot/efi                                                   
$ sudo blkid | grep md126p2 # Replace with your device
/dev/md126p2: UUID=<boot_efi_uuid>

Maka tentu saja, setelah Anda menyimpan file, jalankan:

sudo update-grub

Reboot, Anda seharusnya sekarang dapat memulai Windows dengan sukses.

Christopher Markieta
sumber
2

Saya memiliki masalah yang sama dengan Windows 10. Saya menginstal Linux Mint 18.1 Cinnamon 64-bit pada laptop saya untuk dual boot dengan WIN10. Setelah instalasi, GRUB hanya ditawarkan untuk mem-boot Linux tetapi tidak untuk Windows.

Saya menemukan solusi video untuk windows 10 hilang dari menu grub dan utas forum Grub tidak mengenali Win10 setelah Pembaruan / Perbaikan , tetapi sayangnya tidak ada yang bekerja untuk saya jadi saya menggunakan kombinasi keduanya untuk menyelesaikan masalah saya.

Buka terminal Anda dan ikuti perintah ini dan buka file bernama 40_custom:

sudo gedit /etc/grub.d/40_custom

Tambahkan baris ini ke akhir file dan kemudian simpan dan keluar:

menuentry "Windows 10" {
   set root='{hd0,1}'
   chainloader + 1
}

Setelah Anda menyimpan file, perbarui GRUB Anda dengan perintah ini:

sudo update-grub

Kemudian restart mesin Anda untuk melihat apakah itu berfungsi.

Semoga ini akan bekerja untuk orang lain juga!

Lahiru
sumber
Saya percaya bahwa jawaban ini sementara benar, sebagian besar merupakan salinan dari jawaban yang diajukan 29 Mei 2015
Charles Green
1

Saya memiliki masalah yang sama dan menghabiskan 2 hari untuk mencari tahu. Tapi hari ini saya punya ide tiba-tiba di pagi hari dan berhasil.

Anda harus meninjau pengaturan bios / uefi Anda. Dalam kasus saya, saya harus membiarkan UEFA boot terlebih dahulu. Kalau tidak, saya tidak dapat mendeteksi windows dari ubuntu. Yang harus saya atur adalah ubuntu> Windows Boot Manager> DISK1> DISK2> DISK3. Insted DISK1> ubuntu> Windows Boot Manager> DISK3.

Saya memiliki 2 instalasi ubuntu satu di hdd dan satu di ssd. Rupanya instalasi ssd tidak muncul sebagai UEFI untuk beberapa alasan, tetapi saya ingin boot disk lebih cepat terlebih dahulu.

Saya tidak berharap urutan boot dapat memengaruhi grub dalam mendeteksi sistem. Jadi perlu untuk mengulasnya.

Bartosz Dabrowski
sumber
1

Saya punya masalah seperti di sini di atas dan solusinya adalah dengan menambahkan entri manual seperti di bawah ini:

menuentry "WINDOWS10 (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/sda,msdos1)'
    search --no-floppy --fs-uuid --set=root 688EB92384B85968
    drivemap -s (hd0) ${root}
    chainloader +1
}

di mana UUID di atas (688E ...) diambil dari disk boot windows via blkid /dev/sdb1.

PERHATIAN: baris tambahan

set root='(/dev/sda,msdos1)'

merujuk pada sdayang terlihat di Ubuntu /dev/sdbbahkan sebenarnya itu adalah disk pertama dalam sata bus sementara /dev/sdasebenarnya drive kedua dipasang sebagai root /.

Mungkin itu sebabnya skrip grub tidak bisa berfungsi dengan baik. Saya tidak punya waktu untuk mengubah urutan fisik disk tetapi sangat mungkin itu akan membantu menyelesaikan masalah juga.

Lukas
sumber
0

Saya memiliki masalah yang sama setelah saya menginstal pembaruan dari ubuntu. Perintah berikut ini bekerja dengan baik untuk saya:

sudo apt-get install os-prober

Pertama instal os-prober untuk mendeteksi windows dan kemudian perbarui grub:

sudo grub-mkconfig -o /boot/grub/grub.cfg
Kaustubh Sable
sumber