ผู้ใช้จำนวนมากติดตั้งทั้ง Windows และ Linux ไว้ในคอมพิวเตอร์เครื่องเดียวกัน ซึ่งเรียกว่า Dual Boot วิธีนี้สะดวกมาก แต่หลังจากอัปเดต ปรับพาร์ทิชัน หรือเกิดปัญหากับ bootloader ก็อาจทำให้เครื่องบูตไม่ขึ้นได้
บางครั้งเครื่องจะเข้า Windows ทันที บางครั้งค้างอยู่ที่ GRUB และบางครั้งทั้ง Windows และ Linux ก็เข้าไม่ได้เลย บทความนี้จะอธิบายสาเหตุที่พบบ่อยและวิธีแก้ไขที่ควรลองตามลำดับ
1. ตรวจสอบอาการให้ชัดเจนก่อน
- เปิดเครื่องแล้วเข้า Windows ทันที
- มีเมนู GRUB แต่เข้า Linux ไม่ได้
- มีเมนู GRUB แต่เข้า Windows ไม่ได้
- เห็นเพียง
grub rescue - มีข้อความ
no bootable deviceหรือข้อความคล้ายกัน - จอดำหรือค้างที่โลโก้ผู้ผลิต
อาการที่ต่างกันมักมีสาเหตุไม่เหมือนกัน
2. สาเหตุที่พบบ่อย
- Windows อัปเดตแล้วเปลี่ยนลำดับการบูต
- GRUB เสียหายหรือถูกเขียนทับ
- พาร์ทิชัน EFI มีปัญหา
- ลำดับการบูตใน BIOS/UEFI เปลี่ยนไป
- Fast Startup ทำให้สถานะพาร์ทิชันผิดปกติ
- หลังปรับพาร์ทิชัน ข้อมูลการบูตไม่ตรงกัน
- Windows Boot Manager หรือการตั้งค่า Linux เสียหาย
3. ตรวจสอบลำดับการบูตใน BIOS/UEFI ก่อน
ถ้าเครื่องเข้า Windows ตลอด สิ่งแรกที่ควรตรวจสอบคือลำดับการบูต หลังจากอัปเดตใหญ่ของ Windows บางครั้ง Windows Boot Manager จะกลับมาอยู่ลำดับแรกอีกครั้ง
- รีสตาร์ตเครื่อง
- ตอนเปิดเครื่องให้กด F2, Del, Esc หรือ F12
- เข้าเมนู Boot ใน BIOS/UEFI
- ตรวจสอบว่ารายการบูตแรกคืออะไร
ถ้าเคยใช้ GRUB สำหรับบูต Linux รายการอย่าง ubuntu หรือ debian มักควรอยู่ด้านบน
4. ถ้าเข้าได้เฉพาะ Windows
ไม่ได้แปลว่า Linux ถูกลบเสมอไป หลายครั้งปัญหาเป็นเพียง GRUB ไม่ได้ถูกเลือกให้บูตก่อน
- ตรวจสอบว่าพาร์ทิชัน Linux ยังอยู่หรือไม่
- ตรวจสอบว่ายังมีรายการบูตของ Linux ใน BIOS/UEFI หรือไม่
- ตรวจสอบว่าโหมดบูตยังเป็น UEFI หรือไม่
ถ้าพาร์ทิชัน Linux ยังอยู่ มักสามารถซ่อม GRUB ได้ด้วย Live USB
5. ซ่อม GRUB ด้วย Live USB
ถ้า GRUB ถูกเขียนทับหรือเสียหาย สามารถใช้ Linux Live USB เพื่อซ่อมได้ ให้ตรวจสอบพาร์ทิชันก่อน:
sudo fdisk -l
สมมุติว่า Linux root คือ /dev/sda3 และ EFI คือ /dev/sda1:
sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo grub-install --boot-directory=/mnt/boot /dev/sda
sudo update-grub
ถ้ายังไม่สำเร็จ วิธี chroot มักเชื่อถือได้มากกว่า:
sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda
update-grub
exit
6. ถ้า Windows บูตไม่ขึ้น
ถ้ามีเมนู GRUB แต่เลือก Windows แล้วเข้าไม่ได้ ปัญหาอาจอยู่ที่ Windows Boot Manager หรือ BCD ในกรณีนี้ควรใช้สื่อการติดตั้ง Windows เพื่อซ่อมการบูต
bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
หลังซ่อม Windows แล้ว อาจต้องกลับมาซ่อม GRUB อีกครั้ง
7. ระวัง Fast Startup และโหมด UEFI/Legacy
ในระบบ Dual Boot ควรปิด Fast Startup ของ Windows ไม่เช่นนั้น Linux อาจมีปัญหาในการเข้าถึงพาร์ทิชันของ Windows
นอกจากนี้ Windows และ Linux ควรใช้โหมดบูตแบบเดียวกัน:
- ทั้งคู่เป็น UEFI
- หรือทั้งคู่เป็น Legacy BIOS
ถ้าใช้คนละโหมด ปัญหาการบูตจะเกิดได้บ่อย
8. สรุป
เมื่อ Dual Boot บูตไม่ขึ้น ไม่ได้แปลว่าระบบทั้งหมดหายไปเสมอ บ่อยครั้งปัญหาอยู่ที่ลำดับการบูต, GRUB, พาร์ทิชัน EFI หรือผลจากการอัปเดตของ Windows
- ตรวจสอบลำดับการบูตใน BIOS/UEFI
- ยืนยันว่าพาร์ทิชัน Windows และ Linux ยังอยู่
- ซ่อม GRUB ด้วย Live USB
- ถ้าจำเป็นให้ซ่อม Windows Boot Manager ด้วย
ถ้าพาร์ทิชันยังไม่ถูกลบ ปัญหา Dual Boot ส่วนใหญ่ยังสามารถกู้คืนได้