เมื่อวานมีทีมงานเอาเครื่อง IBM Thinkpad T41 มาให้ดู บอกว่าติดตั้ง Suriyan แล้ว boot ไม่ได้ ก็เลยให้เอาวางทิ้งไว้ก่อนเดี๋ยวดูให้อีกที พอมีเวลาว่างๆ เลยได้นั่งดูปรากฏว่าเป็นกรณีที่ grub หา UUID ของฮาร์ดิสก์ที่เป็น root ไม่เจอทำให้ boot ไม่ได้นั่นเอง สังเกตง่ายๆ ว่าจะมี error ขึ้นมาว่า error no such device XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX ปัญหานี้เป็นทั้ง Ubuntu และ Suriyan ก็หนีไม่พ้น เอาเป็นว่ามีวิธีแก้ไขครับ วิธีง่ายๆ ก็คือ แก้ grub ที่ถูกติดตั้งไว้ ต้องบอกไว้ก่อนว่าวิธีนี้ไม่ใช่วิธีแก้ไขที่ถูกต้องนักแต่ก็ได้ผลครับ :)

  • boot จาก live CD/DVD/USB อันนี้แล้วแต่สื่อที่ใช้
  • เปิด terminal แปลงร่างเป็น root โดยใช้คำสั่ง

    sudo -s

  • จากนั้น mount partition ในฮาร์ดิสก์ของเครื่อง

    mkdir /media/sda
    mount /dev/sda1 /media/sda

  • mount /dev /sys /proc ไปยัง /dev/sda

    mount —bind /dev /media/sda/dev
    mount —bind /proc /media/sda/proc
    mount —bind /sys /media/sda/sys

  • จากนั้น chroot เข้าไป

    chroot /media/sda

  • อัพเกรด package ให้เป็นปัจจุบัน

    aptitude update
    aptitude upgrade

  • แก้ไขไฟล์ /usr/lib/grub/grub-mkconfig_lib ดูตรงแถวๆ

    if fsuuid=”${grub_probe} —device ${device} —target=fs_uuid 2> /dev/null” ; then
    echo “search —no-floppy —fs-uuid —set ${fs
    uuid}”
    fi

  • ให้ เปลี่ยนเป็น

    if fsuuid=”${grub_probe} —device ${device} —target=fs_uuid 2> /dev/null” ; then
    echo “search —no-floppy —fs-uuid —set ${fs
    uuid}”
    echo “”
    fi

  • จากนั้น config grub-pc ใหม่โดยใช้คำสั่ง

    dpkg-reconfigure grub-pc

  • และ exit แล้วลอง reboot เครื่อใหม่อีกรอบ :)

Comments are closed.