Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

กู้คืน GRUB Boot Menu ใน Ubuntu: แก้ไขขั้นตอน

ผู้ใช้มักติดตั้ง Windows และ Ubuntu (หรือ *buntu) ด้านๆ กัน partition แยก บน boot device เดียว Microsoft รองรับ Windows 7 อีกหลายปี แต่กำลัง phase out ไป Windows 10 อาจได้ free upgrade ช่วง rollout หรือซื้อ upgrade ใหม่ ไม่ว่าจะ upgrade อย่างไร หลัง upgrade Windows 7 -> 10 มักไม่เห็น GRUB boot menu ตอนเริ่มเครื่อง แทนที่จะมีตัวเลือก Windows/Ubuntu จะเข้า Windows 10 ทันที

เพราะ Windows 10 installer ไม่มีซอฟต์แวร์อัปเดต GRUB menu Microsoft มี boot loader proprietary ไม่ compatible Linux หากต้องการ dual-boot เหมือนเดิม (ไม่ใช่ติดตั้ง Ubuntu ใน Windows 10) ต้องทำอย่างอื่น ถ้า Ubuntu partition ไม่ถูกทับระหว่างติดตั้ง บูต Windows 10 ปกติ เปิด Control Panel (classic ไม่ใช่ modern) แล้วทำตามวิธีที่เหมาะสม

วิธีที่ 1: ใช้ Boot Repair Suite แบบกราฟิก

บางคนเข้าถึงได้แค่ Control Panel แบบ modern (Windows 8.1/8 deprecated เหมือนกัน) เปิด command prompt as admin ถ้ายาก พิมพ์ control Enter เลือก Energy Settings > Show Hidden Settings (prompt approval) ยกติ๊ก Fast Boot OK ปิด Control Panel และ command prompt

สร้าง boot drive บน USB/SD card บูตเครื่องเหมือนตอนติดตั้ง Ubuntu ครั้งแรก เริ่ม USB boot disk creator จาก Ubuntu Dash หรือ usb-creator-gtk จาก CLI (Lubuntu/Xubuntu) ต้องการ image จาก official site (หรือ dd command)

หากไม่มีเครื่อง Linux สร้าง bootable drive: ลอง Rufus ดาวน์โหลดจาก safe site (softpedia.com หรือ rufus.akeo.ie - มีโปรแกรมปลอม) เริ่ม Rufus โหลด ISO เขียนลง media ว่าง (ข้อมูลเดิมจะหาย)

บูตเข้าสู่ Ubuntu/*buntu live environment รันคำสั่งจากเทอร์มินัล (Enter ทุกคำสั่ง):

sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install -y boot-repair && boot-repair

จะบังคับ Ubuntu index Boot Repair repos แล้วติดตั้งพร้อมรัน ต้องมี network connection ทำงาน จบติดตั้ง โปรแกรมเริ่มรัน เลือก Recommended Repair ให้โปรแกรมทำงาน จบแล้ว reboot จาก main boot volume ควรเห็น GRUB menu อีกครั้ง เลือก OS ได้

วิธีที่ 2: ใช้ Command Line Windows และ Linux

เหมือนวิธีที่ 1 ต้อง disable Fast Boot ก่อน แต่เก็บ administrator command prompt เปิดอยู่ ต้อง disable hibernation: จาก Windows command line พิมพ์:

powercfg /h off

อาจไม่มี output shutdown หลังนั้น ใช้ shutdown -s -t 00 จาก command line (Microsoft redefine shutdown)

บูตจาก removable install media เปิดเทอร์มินัลจาก Dash (หรือ Ctrl+Alt+T)

Legacy BIOS + MBR: sudo mount /dev/sd*# /mnt (แทน * = letter, # = number ของ system partition ที่ GRUB อยู่ มักเป็น sda1/sda2) จากนั้น sudo grub-install --boot-directory=/mnt/boot /dev/sd* (แทน * เดียวกัน)

UEFI: ยังต้อง mount system partition แต่มี EFI partition ต้อง mount ด้วย:

sudo mount /dev/sd** /mnt/boot/efi

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

sudo chroot /mnt

grub-install /dev/sd*

update-grub

ใน /dev/sd* ใช้แค่ disk letter ไม่ใช่ volume number (มักเป็น /dev/sda) MBR: GRUB ติดตั้ง disk เดียวกับ Windows GPT: GRUB ใน EFI partition หา drive/volume ที่ถูกต้อง: GParted, Disks Utility, หรือ sudo fdisk -l จาก CLI