วันอังคารที่ 6 ตุลาคม พ.ศ. 2558

การแก้ลำดับการบู๊ตของ grub2 ใน UBUNTU

ในกรณีที่เราติดตั้ง UBUNTU คู่กับ Windows ในเครื่องเดียวกันนั้นเมนูบู๊ตของ grub จะบู๊ต UBUNTU เป็นลำดับที่ 1 ถ้าหากต้องการแก้ไขลำดับการบู๊ตใหม่ให้ทำตามนี้ครับ

เปิดเทอมินอลแล้ว sudo gedit /etc/default/grub
 ในไฟล์ grub มีข้อมูลดังนี้ครับ
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap"
GRUB_CMDLINE_LINUX=""

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=1280x800
GRUB_GFXPAYLOAD_LINUX=1280x800

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

ซึ่งค่าเดิมตรง  GRUB_DEFAULT=0
เปลี่ยนจากเลข 0 ซึ่งคือตัวแรกสุด เป็นตัวเลขอื่น โดยให้นับเอาจากหน้าบู๊ตเมนูว่าเอาตัวไหนบู๊ตเป็นลำดับแรกครับ

เปลี่ยนแล้ว sudo update-grub

สาครินทร์   นุ้ยพ่วง
การติดตั้ง grub boot load บน ubuntu เข้าไปใหม่
โดย อดิศร  ขาวสังข์ 
เขียนเมื่อ 27/11/2548

บทนำในบางครั้งเราอาจจะทำให้ boot loader ที่เป็น grub หายไปเช่นกรณีของการลง OS สอง OS (Windows และ Linux) บนเครื่องเดียวกัน และเมื่อเจอปัญหาอาจมีความจำเป็นต้องลง Windows ใหม่  ซึ่งจะทำให้ boot loader ที่อยู่ในส่วนของ Master boot recored (mbr) หายไป  จึงไม่สามารถ boot เข้าสู่ Linux ได้ทั้ง ๆ ที่ partition ที่เป็น Linux ยังคงมีอยู่ หรืออาจจะเกิดจากกรณีอื่น ๆ 
ขั้นตอนการแก้ปัญหา

  1. boot เครื่องจากแผ่น boot (แผ่นที่ใช้ติดตั้ง) ของ ubuntu
  2. เมื่อขึ้นหน้าต่างของการติดตั้งให้กด Enter เหมือนขั้นตอนการติดตั้งปกติ
  3. เลือกภาษา (Choose language) เลือกอะไรก็ได้ เพราะไม่ได้ติดตั้งจริง และไม่มีผลใด ๆ
  4. เลือกคีย์บอร์อด (Select a keyboard layout) ให้เลือกเป็นค่าที่เห็นอยู่ก็แล้วกัน
  5. ถ้าเจอขั้นตอน Configure the network หรือให้ตั้งชื่อ host ก็ไม่ต้องสนใจอะไรมากให้ Enter ไปเรื่อย ๆ
  6. ที่สำคัญเมื่อถึงขั้นตอน Partition Disk ให้หยุดไว้ตรงนี้ก่อนครับอย่า Enter หรือเลือกรายการใด ๆ เดี๋ยวจะเป็นเรื่องใหญ่ แต่ให้กดคีย์ Ctl + Alt + F2 (ถ้าจะกลับหน้าเดิมใช้ Ctl + Alt + F1) และกดปุ่ม Enter เพื่อ Active console
  7. จากนั้นจะได้หน้าต่าง shell prompt ขึ้นมา
  8. ให้ทำการตรวจสอบตำแหน่ง Partition หลักที่เป็น Linux ด้วยคำสั่ง fdisk -l ซึ่งของแต่ละคนอาจจะต่างกัน แต่ของผมจะเป็น /dev/hd3
  9. ให้ทำการ mount พาร์ติชันที่เป็น Linux ให้เป็น directory ใด ๆ ซึ่งในที่นี้ของเลือกเป็น /tmp/hda3  แต่ก่อนการ mount ต้องการทำการสร้าง directory ดังกล่าวก่อน  และเพื่อความชัวร์ก็ให้ลองใช้คำสั่ง ls -l /tmp ดูก่อนว่า directory นี้ได้เคยมีการสร้างไว้แล้วยัง ซึ่งถ้าไม่มีจะได้ผลลัพท์ที่ว่างเปล่า
  10. ทำการสร้าง directory ดังกล่าวด้วยคำสั่ง mkdir /tmp/hda3
  11. ตรวจสอบผลการสร้างด้วยคำสั่ง ls -l /tmp ซึ่งจะมี directory ย่อยที่ชื่อ hda3
  12. ทำการ mount ด้วยคำสั่ง mount -t ext3 /dev/hda3 /tmp/hda3
  13. ตรวจสอบผลการ mount ด้วยคำสั่ง  mount จะมีผลการ mount เป็น /dev/hda3 on /tmp/hda3 type ext3 (rw)
  14. เปลี่ยนสถานะไปเป็น root ที่ hda3 ด้วยคำสั่ง chroot /tmp/hda3
  15. แล้ว shell prompt ก็จะเปลี่ยน (ในที่นี้เปลี่ยนจาก   ~#  ไปเป็น  sh-3.00#  )
  16. ติดตั้ง grub boot loader ด้วยคำสั่ง grub-install /dev/hda
  17. ถ้าข้อความประมาณบรรทัดที่ 5 บอกว่า Installation finished. No error reported ก็แสดงว่าการติดตั้ง OK ครับ
  18. reboot เครื่องด้วยคำสั่ง reboot
    หมายเหตุ : ถ้าต้องการแกไขเมนูของ grub แก้ได้ที่ไฟล์ /boot/grub/menu.lst
จบครับ

สาครินทร์ นุ้ยพ่วง