แก้ปัญหาพาร์ติชั่นบูต(boot)เต็มสำหรับระบบปฏิบัติการ Ubuntu 16.04.2 LTS หนักใจที่สุดก็คือระบบจะมีปัญหาในการบูตครั้งต่อ ๆ ไป สาเหตุที่พาร์ติชั่นบูตเนื้อที่ไม่พอ
สาเหตุหลักมาจากการที่ระบบพยายามจะอัพเกรดเคอร์เนลเรื่อย ๆ จนกลายเป็นว่ามีการจัดเก็บอิมเมจอย่างยาวนานและต่อเนื่องมาหลาย ๆ เวอร์ชั่นจนทำให้พาร์ติชั่นบูตซึ่งมีขนาดเล็กอยู่แล้วไม่เพียงพอพื้นที่ในการจัดเก็บอิมเมจเหล่านั้นนั่นเองสิ่งที่ต้องระมัดระวังก็คือหากมีการอัพเกรดแล้วไม่ค่อยได้รีบูตเครื่องใหม่ ล่าสุดพบข้อผิดพลาดที่ระบบลินุกส์ไม่สามารถอัพเกรมเคอร์นอลใหม่ได้สมบูรณ์เพราะพื้นที่ฮาร์ดดิสก์ในพาร์ติชั่นบูตไม่เพียงพอ
จากการทดลองดูหลากหลายวิธีพบว่ามีวิธีการที่สำคัญก็คือต้องตรวจเวอร์ชั่นของเคอร์เนลและอิมเมจที่ใช้ดูก่อนว่าเป็นรุ่นไหน
ขั้นตอนที่ 1 ต้องตรวจสอบพื้นที่ว่างของพาร์ติชั่นบูตดูก่อนว่ามีพื้นที่เหลือเพียงพอหรือไม่ จากตัวอย่างข้างล่างจะพบว่า พาร์ติชั่น boot มีการใช้งานไปถึง 465M จากพื้นที่เต็ม 472M คิดเป็นเปอร์เซนต์ที่ 100%
นี่แหล่ะคือปัญหาที่เกิดขึ้นสำหรับเนื้อหาในวันนี้# df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 799M 8.7M 790M 2% /run /dev/mapper/ubuntu--vg-root 28G 22G 5.2G 81% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 472M 465M 0 100% /boot tmpfs 799M 0 799M 0% /run/user/1000
ขั้นตอนที่ 2 เป็นการตรวจสอบเคอร์นอลที่ใช้งานอยู่ว่าเป็นเวอร์ชั่นไหน จากตัวอย่างพบว่าเป็นเวอร์ชั่น 4.4.0-63 ผู้เขียนจึงได้ย้ายข้อมูลในพาร์ติชั่นบูตที่ต่ำกว่าเวอร์ชั่นที่ใช้งานอยู่ออก เพื่อเพิ่มพื้นที่ให้ หลังจากได้ทดลองมาแล้วพบว่าวิธีที่ดีที่สุดสำหรับขั้นตอนนี้ก็คือดำเนินการลบไฟล์เคอร์เนลเวอร์ชั่นที่ต่ำกว่าออก ตามตัวอย่าง
# uname -r 4.4.0-137-genericต่อจากนั้นตรวจสอบด้วยสคริปต่อไปนี้ว่าเคอร์เนลไฟล์ใดที่ต้องการลบออก
# sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") pri nt $2}'|grep -v `uname -r` linux-image-4.4.0-109-generic linux-image-4.4.0-119-generic linux-image-4.4.0-135-generic linux-image-4.4.0-138-generic linux-image-extra-4.4.0-109-generic linux-image-extra-4.4.0-135-generic linux-image-extra-4.4.0-138-generic linux-image-generic
จากนั้นทำการลบไฟล์นั้นออกเลยโดยใช้คำสั่ง
## apt-get --purge remove linux-image-4.4.0-109-generic linux-image-extra-4.4.0-109-generic
ระบบการอัพเกรดเคอร์แนลทำงานได้สมบูรณ์แบบ หลังจากนั้นใช้คำสั่ง apt-get -f install
#apt-get -f install
ขั้นตอนที่ 3 หลังจากที่ดำเนินการอัพเกรดได้เสร็จสิ้นไม่มีข้อผิดพลาดใด ๆ เรียบร้อยแล้วในขั้นตอนที่ 2 ให้ใช้คำสั่ง apt-get autoremove เพื่อจัดการกับเคอร์เนลเก่าที่ไม่ได้ใช้งานออกไป
#apt-get autoremove
จากนั้นตรวจสอบพื้นที่ว่าของพาร์ติชั่นบูตดูใหม่ ตามตัวอย่างพบว่ามีพื้นที่ว่างเพิ่มขึ้น 287M หรือคิดเป็น 37% นั่นเอง
# df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 799M 8.6M 790M 2% /run /dev/mapper/ubuntu--vg-root 28G 21G 6.0G 78% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 472M 162M 287M 37% /boot
จากนั้นใช้คำสั่งอัพเดทบูตโหลดเดอร์
# update-grub
ขั้นตอนที่ 4 เป็นการรีสตาร์ทเพื่อเริ่มระบบใหม่ ปรากฎว่าผ่านการบูตไปไม่ได้ หน้าจอไปติดอยู่ที่ initramfs ก็ไม่ต้องตกใจให้ดำเนินการตามนี้ ให้เลือก y เพื่อทำการแก้ไขไฟล์และinodeที่ผิดพลาดทั้งหมด ตอบใช่ในทุก ๆ ขั้นตอนรอจนระบบบูตได้สมบูรณ์
(initramfs) fsck /dev/mapper/ubuntu--vg-root select 'y' to all 'Fix?' prompts
ต้องขอขอบพระคุณพื้นที่เวบไซต์บล็อกเนื้อหาดี ๆจาก https://thaigpstrackers.com สนับสนุนเนื้อหาดี ๆในวันนี้ให้เราได้ศึกษากัน สนใจระบบจีพีเอสติดตามรถยนต์ มาตรฐานไทย ต้องอย่าลืมแวะเข้าไปเยี่ยมชมที่ลิงค์ดังกล่าวข้างต้น
GPS ติดตามรถ