GRUB ตรวจไม่พบ Windows


66

ในที่สุดฉันก็ติดตั้ง Ubuntu บนไดรฟ์ที่สอง เมื่อฉันเริ่มคอมพิวเตอร์ของฉันด้วงจะให้ฉันบูต Ubuntu ไม่ใช่ Windows 7ต้องทำอะไรบ้างเพื่อให้ฉันสามารถเลือกระหว่าง Ubuntu และ Windows ในด้วงได้

เมื่อฉันกด F12 สำหรับเมนูบู๊ตเมื่อเริ่มต้นและฉันเลือกWindows Boot Managerมันบูทเข้าสู่ Windows 7


ฉันรันคำสั่งsudo fdisk -lและนี่คือบันทึก ( 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.

โปรดระบุURL สำหรับ Boot-Info ของคุณ นี่จะให้ข้อมูลที่เกี่ยวข้องเพื่อช่วยคุณ
LovinBuntu

คำตอบ:


100
  1. บูต Ubuntu และติดตั้งพาร์ติชัน Windows ของคุณ (เพียงเปิดดิสก์บน Nautilus)

  2. เรียกใช้สิ่งต่อไปนี้บนบรรทัดคำสั่ง ( Ctrl+ Alt+ t):

    sudo os-prober
    
  3. หากพบการติดตั้ง Windows ของคุณคุณสามารถเรียกใช้:

    sudo update-grub
    

โปรดทราบว่าขั้นตอนที่ 2 เป็นเพียงเพื่อความสะดวกของคุณ คุณก็สามารถติดตั้งพาร์ทิชัน Windows 7 update-grubและจากนั้นเรียกใช้

คำถามที่เกี่ยวข้อง


ฉันมีพาร์ติชั่น 2 ตัวพร้อมติดตั้ง windows 2 มันตรวจพบการติดตั้งของฉันบนพาร์ติชันอื่นเท่านั้น แต่ไม่ใช่ Windows ที่ติดตั้งใหม่ (บน SSD)! ติดตั้ง ... ความคิด
Philippe Gachoud

ขอบคุณ น่าสนใจว่า os-prober ดูเหมือนจะต้องการขั้นตอนที่ 1 สำคัญมากไม่เช่นนั้น windows จะไม่ทำงาน
มุมมองรูปไข่

mount -t ntfs-3g -o ro /dev/sda4 /media/windowsเพื่อติดตั้งพาร์ติชัน windows
Yuvaraj Loganathan

ที่สมบูรณ์แบบ! การเรียกใช้ทั้งสองคำสั่งเป็นการหลอกลวง
Aryeh Beitz

ทำงาน! ขอขอบคุณ!
DigaoParceiro

10

หากos-proberวิธีการด้านบนใช้ไม่ได้ให้ลองเพิ่มรายการเมนูด้วงที่กำหนดเอง เอกสารที่นี่

<UUID>สองคนแรกเป็นขั้นตอนสำหรับการค้นหาของคุณ

  1. เรียกใช้lsblkและค้นหาชื่อของแถวด้วย/boot/efi

ตัวอย่างผลลัพธ์(นี่คือคำตอบคือ 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. เรียกsudo blkid /dev/sdaXที่sdaXเป็นคำตอบจากขั้นตอนก่อนหน้า(sda2ในกรณีของฉัน)

ตัวอย่างเอาต์พุต(นี่คือคำตอบคือ 58E4-427D) :

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. เพิ่มต่อไปนี้ในตอนท้ายของไฟล์/etc/grub.d/40_custom:
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. เรียกใช้sudo update-grubและรีบูต

ขอบคุณ @Christopher Markieta สำหรับรายละเอียดทั้งหมดในคำตอบอื่น เพิ่มให้กับรายการนี้เช่นกัน (แม้ว่าข้อมูลเฉพาะของรายการที่กำหนดเองจะแตกต่างกัน
Carolus

9

ฉันใช้ Windows 10 แล้วลองบูทคู่ เมื่อติดตั้ง Ubuntu แล้ว Win 10 ไม่ปรากฏขึ้นในโหลดเดอร์ด้วงของฉัน ฉันลองต่อไปนี้ -

ก่อนอื่นฉันปิดใช้งาน Secure Boot ใน Win10 จากนั้นรันคำสั่งด้านล่างใน Ubuntu:

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

ทำงานออกมาได้ค่อนข้างดี สามารถค้นหาได้ทั้ง Windows และ Ubuntu ใน GRUB หลังจากนั้น


PPA นี้ยังคงอยู่หรือไม่? ผมไม่สามารถที่จะเพิ่มมันและมันอ้างว่ามันไม่ได้มีอยู่จากอูบุนตู 18.04 บูตดิสก์
jocull

เพิ่งได้รับ404 Not Foundข้อผิดพลาดใน Debian
winklerrr

5

ฉันแก้ไขปัญหาที่คล้ายกันโดยทำตามขั้นตอนของBoot-Repair

ติดตั้งซ่อมแซมการบูต

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

กด "คำแนะนำการซ่อมแซม" แล้วใส่คำสั่งบางคำสั่งตามที่แนะนำ

ฉันคิดว่า Grub ของฉันไม่รู้จัก windows เนื่องจากการปิดเครื่องที่ไม่ดีและมันแก้ปัญหาได้


3

หากก่อนหน้านี้คุณมีการติดตั้ง RAID ที่อาจก่อให้เกิดปัญหา ในกรณีของฉันฉันสร้างเดสก์ท็อปของฉันในปี 2010 และฉันติดตั้ง 1.5 TB สองตัวพร้อมกับ RAID แบบสไทรพ์ ผู้ใช้ gracemercy54 ระบุที่นี่ว่านี่เป็นข้อมูลเมตาจากการกำหนดค่า RAID แบบเดิม

เมื่อฉันลองทำตามขั้นตอนโดย Hermes ฉันได้รับข้อผิดพลาดระบุ "อุปกรณ์ผิดจำนวนในชุด RAID" ดังนั้นหากสิ่งนี้เกิดขึ้นกับคุณเปิดเทอร์มินัลและเรียกใช้:

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

นั่นแก้ไขสิ่งนี้สำหรับฉัน


ฉันคิดว่าฉันยังเกิดจากการจู่โจม แต่sudo dmraid -rEไม่ได้ผลสำหรับฉัน ในที่สุดฉันก็ทำการสลับไปใช้AHCIใน BIOS ชั่วคราวจากนั้นบูตไปที่ Ubuntu และดำเนินการsudo update-grubแล้วสลับ RAID ONกลับ
realhu

1
คำเตือน : สิ่งนี้จะทำลายอาร์เรย์ RAID ของคุณหากคุณยังใช้งานอยู่
Christopher Markieta

3

วิธีการที่แตกต่างกันเล็กน้อยเมื่อฉันคัดลอกจากตัวอย่างการทำงานบนคอมพิวเตอร์เครื่องอื่นโพสต์สำหรับบันทึกของฉันเอง

ผนวกต่อไปนี้เพื่อ/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
}

ที่<boot_efi_uuid>เป็น UUID ของคุณ/boot/efiพาร์ทิชัน เพื่อค้นหาสิ่งนี้:

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

แน่นอนเมื่อคุณบันทึกไฟล์แล้วให้เรียกใช้:

sudo update-grub

รีบูตตอนนี้คุณควรจะสามารถเริ่ม Windows ได้สำเร็จ


2

ฉันมีปัญหาเดียวกันกับ Windows 10 ฉันติดตั้ง Linux Mint 18.1 Cinnamon 64- บิตบนแล็ปท็อปของฉันเพื่อดูอัลบูตด้วย WIN10 หลังจากการติดตั้ง GRUB เสนอเพียงเพื่อบูต Linux แต่ไม่ใช่ Windows

ฉันพบโซลูชันวิดีโอสำหรับ windows 10 ที่ขาดหายไปจากเมนู grubและฟอรัมหัวข้อGrub ไม่รู้จัก Win10 หลังจากอัปเดต / ซ่อมแซมแต่น่าเสียดายที่ฉันไม่ได้ใช้งานเลย

เปิดเทอร์มินัลของคุณและทำตามคำสั่งเหล่านี้แล้วเปิดไฟล์ชื่อ 40_custom:

sudo gedit /etc/grub.d/40_custom

เพิ่มบรรทัดเหล่านี้ในตอนท้ายของไฟล์จากนั้นบันทึกและออก:

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

หลังจากคุณบันทึกไฟล์อัพเดต GRUB ของคุณด้วยคำสั่งนี้:

sudo update-grub

จากนั้นรีสตาร์ทเครื่องเพื่อดูว่าใช้งานได้หรือไม่

หวังว่ามันจะใช้ได้กับคนอื่นด้วย!


ฉันเชื่อว่าคำตอบนี้ถูกต้องส่วนใหญ่เป็นสำเนาของคำตอบที่ส่งมาเมื่อวันที่ 29 พฤษภาคม 2558
Charles Green

1

ฉันมีปัญหาเดียวกันและใช้เวลา 2 วันในการหามัน แต่วันนี้ฉันมีความคิดฉับพลันในตอนเช้าและมันก็ออกมาดี

คุณควรตรวจสอบการตั้งค่า bios / uefi ของคุณ ในกรณีของฉันฉันต้องให้บูต Uefi ก่อน มิฉะนั้นฉันไม่สามารถตรวจพบ windows จาก ubuntu สิ่งที่ฉันต้องตั้งค่าคือ ubuntu> ตัวจัดการการบูต Windows> DISK1> DISK2> DISK3 DISK1 ที่ติดตั้งแล้ว> ubuntu> ตัวจัดการการบูต Windows> DISK3

ฉันมีการติดตั้ง Ubuntu 2 ตัวบน hdd และ ssd เห็นได้ชัดว่าการติดตั้ง ssd ไม่แสดงเป็น UEFI สำหรับบางครั้ง แต่ฉันต้องการบูตดิสก์เร็วขึ้นก่อน

ฉันไม่ได้คาดหวังว่าคำสั่งการบู๊ตจะมีผลต่อด้วงในการตรวจจับระบบ ดังนั้นจึงคุ้มค่าที่จะทบทวนว่า


1

ฉันมีปัญหาเช่นที่นี่ด้านบนและการแก้ปัญหาเป็นเพียงการเพิ่มรายการด้วยตนเองดังนี้:

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
}

ที่ UUID ข้างต้น (688E ... ) blkid /dev/sdb1ถูกนำมาจากหน้าต่างบูตดิสก์ผ่าน

ความสนใจ: บรรทัดเพิ่มเติม

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

หมายถึงการsdaที่จะมองเห็นได้ภายใต้อูบุนตูเป็น/dev/sdbแม้ที่จริงมันเป็นดิสก์แรกในรถบัส SATA ในขณะที่ในความเป็นจริงที่สองไดรฟ์ที่เป็นราก/dev/sda/

นั่นอาจเป็นสาเหตุที่สคริปต์ด้วงไม่สามารถทำงานได้อย่างถูกต้อง ฉันไม่มีเวลาเปลี่ยนลำดับฟิสิคัลของดิสก์ แต่เป็นไปได้มากที่จะช่วยแก้ไขปัญหาเช่นกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.