GRUB không phát hiện Windows


66

Cuối cùng tôi đã cài đặt Ubuntu trên ổ đĩa thứ hai của mình. Khi tôi khởi động máy tính, GRUB chỉ cung cấp cho tôi để khởi động Ubuntu, không phải Windows 7. Cần phải làm gì để tôi có thể chọn giữa Ubuntu và Windows trong GRUB?

Khi tôi nhấn F12 cho menu khởi động khi khởi động và tôi chọn Windows Boot Managernó khởi động vào Windows 7.


Tôi đã chạy lệnh sudo fdisk -lvà đây là 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.

Vui lòng cho biết URL thông tin khởi động của bạn . Điều này sẽ cung cấp thông tin liên quan để giúp bạn.
LovinB Ubuntu

Câu trả lời:


100
  1. Khởi động Ubuntu và gắn kết phân vùng Windows của bạn (chỉ cần mở đĩa trên Nautilus)

  2. Chạy phần sau trên dòng lệnh ( Ctrl+ Alt+ t):

    sudo os-prober
    
  3. Nếu cài đặt Windows của bạn được tìm thấy, bạn có thể chạy:

    sudo update-grub
    

Lưu ý rằng bước 2 chỉ để thuận tiện cho bạn. Bạn chỉ có thể gắn phân vùng Windows 7 và sau đó chạy update-grub.

Câu hỏi liên quan


Tôi có 2 phân vùng với 2 cửa sổ cài đặt, nó chỉ phát hiện cài đặt của tôi trên một phân vùng khác, nhưng không phải là các cửa sổ được cài đặt mới (trên SSD)! thậm chí gắn kết ... một ý tưởng?
Philippe Gachoud

Cảm ơn. Điều thú vị là os-prober dường như cần bước 1. Rất quan trọng, hoặc các cửa sổ sẽ không hoạt động.
Chế độ xem hình elip

mount -t ntfs-3g -o ro /dev/sda4 /media/windowsđể gắn kết phân vùng cửa sổ
Yuvaraj Loganathan

hoàn hảo! chạy cả hai lệnh đã thực hiện thủ thuật
Aryeh Beitz

đã làm việc! cảm ơn bạn!
DigaoParceiro

10

Nếu os-proberphương pháp trên không hoạt động, hãy thử thêm một mục menu grub tùy chỉnh. Tài liệu ở đây .

Hai bước đầu tiên là để tìm kiếm của bạn <UUID>.

  1. Chạy lsblkvà tìm tên của hàng với/boot/efi

Ví dụ đầu ra (ở đây câu trả lời là 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. Chạy sudo blkid /dev/sdaXở đâu sdaXlà câu trả lời từ bước trước ( sda2trong trường hợp của tôi) .

Ví dụ đầu ra (ở đây câu trả lời là 58E4-427D) :

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. Thêm phần sau vào cuối tập tin /etc/grub.d/40_custom:
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. Chạy sudo update-grubvà khởi động lại.

Cảm ơn @Christopher Markieta cho tất cả các chi tiết trong câu trả lời khác. Đã thêm chúng vào cái này nữa (mặc dù chi tiết cụ thể của mục tùy chỉnh là khác nhau.
Carolus

9

Tôi đã chạy Windows 10 và sau đó thử khởi động kép. Khi Ubuntu đã được cài đặt, Win 10 không hiển thị trong trình tải GRUB của tôi. Tôi đã thử như sau -

Trước hết, tôi đã tắt Secure Boot trong Win10. Sau đó chạy các lệnh dưới đây trong Ubuntu:

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

Làm việc khá tốt. Sau đó, đã có thể tìm thấy cả Windows và Ubuntu trong GRUB.


PPA này có còn tồn tại không? Tôi không thể thêm nó và nó tuyên bố nó không tồn tại từ đĩa khởi động Ubuntu 18.04
vui vẻ vào

Vừa nhận được một 404 Not Foundlỗi trên Debian
winklerrr

5

Tôi đã giải quyết vấn đề tương tự theo các bước của Boot-Repair

Cài đặt sửa chữa khởi động

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

Nhấn "Đề nghị sửa chữa" Và đặt vào một thiết bị đầu cuối một số lệnh như được đề xuất.

Tôi nghĩ Grub của tôi không nhận ra cửa sổ do tắt máy và nó đã giải quyết được vấn đề.


3

Nếu trước đây bạn đã cài đặt RAID có thể gây ra sự cố. Trong trường hợp của tôi, tôi đã xây dựng máy tính để bàn của mình vào năm 2010 và tôi đã cài đặt hai 1,5 TB với RAID có sọc. Người dùng gracemercy54 đề cập ở đây rằng phần còn lại là siêu dữ liệu từ cấu hình RAID cũ.

Khi ban đầu tôi thử các bước của Hermes, tôi đã gặp lỗi khi chỉ định "sai số thiết bị trong bộ RAID". Vì vậy, nếu điều này xảy ra với bạn hãy mở một thiết bị đầu cuối và chạy:

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

Điều đó đã sửa cái này cho tôi.


Tôi nghĩ rằng tôi cũng gây ra bởi cuộc đột kích. Nhưng sudo dmraid -rEnó không làm việc cho tôi. Cuối cùng tôi đã thực hiện nó bằng cách chuyển sang AHCIBIOS tạm thời, sau đó khởi động lên Ubuntu và thực thi sudo update-grub, sau đó chuyển RAID ONtrở lại.
realhu

1
CẢNH BÁO : điều này sẽ phá hủy mảng RAID của bạn nếu bạn vẫn đang sử dụng nó.
Christopher Markieta

3

Phương pháp hơi khác khi tôi sao chép từ một ví dụ hoạt động trên một máy tính khác, đăng lên hồ sơ của riêng tôi.

Nối các mục sau vào /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
}

nơi <boot_efi_uuid>là UUID của bạn /boot/efiphân vùng. Để tìm thấy điều này:

$ 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>

Sau đó, tất nhiên, khi bạn đã lưu tệp, hãy chạy:

sudo update-grub

Khởi động lại, bây giờ bạn có thể khởi động Windows thành công.


2

Tôi gặp vấn đề tương tự với Windows 10. Tôi đã cài đặt Linux Mint 18.1 Cinnamon 64-bit trên máy tính xách tay của mình để khởi động kép với WIN10. Sau khi cài đặt, GRUB chỉ cung cấp để khởi động Linux chứ không phải Windows.

Tôi đã tìm thấy giải pháp video cho windows 10 bị thiếu trong menu grub và chủ đề diễn đàn Grub không nhận ra Win10 sau Cập nhật / Sửa chữa , nhưng không may là không hoạt động cho tôi nên tôi đã sử dụng kết hợp cả hai để giải quyết vấn đề của mình.

Mở terminal của bạn và làm theo các lệnh này và mở tệp có tên 40_custom:

sudo gedit /etc/grub.d/40_custom

Thêm các dòng này vào cuối tệp, sau đó lưu và thoát:

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

Sau khi bạn lưu tệp, hãy cập nhật GRUB của bạn bằng lệnh này:

sudo update-grub

Sau đó khởi động lại máy của bạn để xem nó hoạt động.

Hy vọng điều này sẽ làm việc cho những người khác quá!


Tôi tin rằng câu trả lời này trong khi chính xác, phần lớn là bản sao của câu trả lời được gửi vào ngày 29 tháng 5 năm 2015
Charles Green

1

Tôi đã có cùng một vấn đề và đã dành 2 ngày để tìm ra nó. Nhưng hôm nay tôi đã có ý tưởng bất ngờ này vào buổi sáng và nó đã thành công.

Bạn nên xem lại cài đặt bios / uefi của bạn. Trong trường hợp của tôi, tôi phải để Uefi khởi động trước. Nếu không, tôi đã không thể phát hiện các cửa sổ từ Ubuntu. Những gì tôi phải đặt là ubfox> Windows Boot Manager> DISK1> DISK2> DISK3. Đã cài đặt DISK1> ubfox> Trình quản lý khởi động Windows> DISK3.

Tôi đã có 2 cài đặt Ubuntu trên một hdd và một trên ssd. Rõ ràng cài đặt ssd không hiển thị dưới dạng UEFI cho một số reasone nhưng tôi muốn khởi động đĩa nhanh hơn trước.

Tôi không mong đợi rằng thứ tự khởi động có thể ảnh hưởng đến grub trong việc phát hiện các hệ thống. Vì vậy, nó là giá trị để xem xét rằng.


1

Tôi đã có vấn đề như ở trên và giải pháp chỉ là thêm mục nhập thủ công như dưới đây:

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
}

trong đó UUID ở trên (688E ...) được lấy từ đĩa windows boot thông qua blkid /dev/sdb1.

CHÚ Ý: dòng bổ sung

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

đề cập đến sdacái có thể nhìn thấy trong Ubuntu vì /dev/sdbngay cả thực tế nó là đĩa đầu tiên trong sata bus trong khi /dev/sdathực tế là ổ đĩa thứ hai được gắn dưới dạng root /.

Có lẽ đó là lý do tại sao các kịch bản grub không thể hoạt động đúng. Tôi không có thời gian để thay đổi thứ tự vật lý của đĩa nhưng hoàn toàn có thể giúp giải quyết vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.