คุณอาจจะต้องติดตั้ง grub2 ใหม่โดยใช้ distro สดซึ่งจะเป็นประโยชน์https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows
ปัญหาอาจเกิดจากข้อเท็จจริงที่ว่า cotroller ใหม่บน MB กำลังกำหนดเลเบลต่าง ๆ ให้กับดิสก์มากกว่าดิสก์เก่าและด้วง (ซึ่งใช้ตารางแบบคงที่สำหรับการบูท) ทำให้ "สับสน" โดยที่
หากระบบอัตโนมัติไม่อ่านพาร์ติชั่นของ windows คุณสามารถทำได้ด้วยวิธี "ทางเทอร์มินัล"
ก่อนอื่นตรวจสอบให้แน่ใจว่าได้ติดตั้งพาร์ติชันทั้งหมดแล้วแม้แต่ใน Windows
สร้างไฟล์ fstab (ใช้ -U หรือ -L เพื่อกำหนดโดย UUID หรือป้ายกำกับตามลำดับ):
# genfstab -U /mnt >> /mnt/etc/fstab
คุณอาจมีตารางพาร์ติชัน MBR เพื่อตรวจสอบว่าคุณสามารถใช้:
# parted /dev/sdx print
ในกรณีของดิสก์ที่แบ่งพาร์ติชัน MBR คุณเพียงแค่ต้องเรียกใช้
# grub-install --target=i386-pc /dev/sdx
# grub-mkconfig -o /boot/grub/grub.cfg
เพื่อติดตั้ง grub2 ไปยังดิสก์ / dev / sdx (แทน sdx สำหรับพาร์ติชั่นจริง)
หากยังไม่สามารถใช้งานได้คุณจะต้องเขียนไฟล์ /boot/grub/grub.cfg ที่กำหนดเอง
ในการทำเช่นนั้นคุณจะต้องมี uuid ของพาร์ติชัน windows (/ SYSTEM_RESERVED อันหนึ่งไม่ใช่ C: \ drive) สมมติว่าจุดเชื่อมต่อสำหรับ bootloader ของ windows คือ / media / SYSTEM_RESERVED / bootmgr คุณสามารถ:
# grub-probe --target=fs_uuid /media/SYSTEM_RESERVED/bootmgr
เพื่อรับ uuid ของพาร์ติชันนั้น
จากนั้นคุณจะต้องแก้ไขไฟล์ /etc/grub.d/40_custom โดยการเพิ่มบรรทัดต่อไปนี้:
if [ "${grub_platform}" == "pc" ]; then
menuentry "Microsoft Windows Vista/7/8/8.1 BIOS-MBR" {
insmod part_msdos
insmod ntfs
insmod search_fs_uuid
insmod ntldr
search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 "UUID"
ntldr /bootmgr
}
fi
การแทนที่ "UUID" ด้วย uuid จริงสำหรับพาร์ติชันของคุณและรันคำสั่ง grub-mkconfig อีกครั้งดังกล่าวข้างต้น
นี่อาจช่วยให้คุณปรับแต่งการตั้งค่าด้วงของคุณได้:
https://wiki.archlinux.org/index.php/GRUB#Windows_installed_in_UEFI-GPT_Mode_menu_entry
หากคุณต้องการใช้ windows bootloader ในขณะที่บูต windows คุณสามารถเรียกใช้เครื่องมือซ่อมแซมการเริ่มต้นได้