เมื่อวานมีทีมงานเอาเครื่อง 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 ${fsuuid}”
fi -
ให้ เปลี่ยนเป็น
if fsuuid=”
${grub_probe} —device ${device} —target=fs_uuid 2> /dev/null
” ; then
echo “search —no-floppy —fs-uuid —set ${fsuuid}”
echo “”
fi -
จากนั้น config grub-pc ใหม่โดยใช้คำสั่ง
dpkg-reconfigure grub-pc
-
และ exit แล้วลอง reboot เครื่อใหม่อีกรอบ :)