ความล้มเหลวในการโหลดโมดูลบูต SLES: ค้นหาไดรเวอร์และแก้ไขปัญหา

เมื่อ SLES แสดงข้อความ “Failed to Start Load Kernel Modules” ระหว่างการบูต ให้ตรวจสอบsystemd-modules-load.serviceบันทึก (log) ก่อนเพื่อระบุโมดูลที่ล้มเหลว หากโมดูลนั้นเป็นรายการเสริมที่ล้าสมัย ให้ลบคำขอออกจากไฟล์การกำหนดค่า หากเป็นโมดูลที่จำเป็น ให้แก้ไขความไม่ตรงกันของไดรเวอร์หรือเคอร์เนลแทนที่จะปิดใช้งานบริการ

ขั้นตอนการดำเนินการนี้ใช้ได้กับ SUSE Linux Enterprise Server (SLES) 15 โดยใช้เอกสารการดูแลระบบ SLES 15 SP7 เป็นข้อมูลอ้างอิง ควรเรียกใช้คำสั่งจากคอนโซลภายในเครื่องหรือเซสชัน SSH ที่ใช้งานได้และมีsudoสิทธิ์เข้าถึง

เข้าใจความหมายของข้อความก่อนที่จะเปลี่ยนแปลงอะไรก็ตาม

โมดูลเคอร์เนลคือไดรเวอร์หรือฟีเจอร์ของเคอร์เนลที่สามารถโหลดแยกต่างหากได้ ในระหว่างการเริ่มต้นsystemd-modules-load.serviceระบบ จะประมวลผลคำขอโหลดโมดูลเฉพาะ รวมถึงโมดูลที่กำหนดไว้ในmodules-load.dไฟล์ คำขอที่ไม่สำเร็จอาจทำให้บริการนั้นล้มเหลว แม้ว่าส่วนอื่นๆ ของเซิร์ฟเวอร์จะยังคงทำงานต่อไปก็ตาม

SUSE ระบุว่าไดรเวอร์ส่วนใหญ่จะโหลดโดยอัตโนมัติเมื่อตรวจพบฮาร์ดแวร์ รายการโมดูลด้วยตนเองมักไม่จำเป็น ดังนั้นรายการที่ไม่ทันสมัยจึงเป็นไปได้—แต่ข้อความบูตเพียงอย่างเดียวไม่สามารถพิสูจน์ได้ ควรคงการเข้าถึงคอนโซลไว้ ถ่ายภาพสแนปช็อตของระบบหรือสำรองข้อมูลการกำหนดค่าหากมี และอย่าถอนการติดตั้งไดรเวอร์จัดเก็บข้อมูล เครือข่าย หรือคลัสเตอร์เพียงเพื่อให้คำเตือนหายไป ดูคู่มือการดูแลระบบโมดูลเคอร์เนล ของ SUSE สำหรับรุ่นที่รองรับ

ขั้นตอนที่ 1: อ่านสถานะการบริการและบันทึกการบูต

เริ่มต้นด้วยคำสั่ง `systemd status` systemdซึ่งเป็นตัวจัดการบริการที่รับผิดชอบในการเริ่มต้นบริการและรายงานสถานะของบริการเหล่านั้น

sudo systemctl status systemd-modules-load.service --no-pager
sudo journalctl -b -u systemd-modules-load.service --no-pager

แฟล็ก นี้-bจำกัดjournalctlการทำงานเฉพาะการบูตปัจจุบัน และ-uเลือกบริการนี้ มองหาข้อความต่างๆ เช่น “ไม่พบโมดูล” ตัวเลือกไม่ถูกต้อง หรือข้อผิดพลาดเกี่ยวกับสิทธิ์หรือลายเซ็น เหนือบรรทัดสุดท้าย “ล้มเหลวพร้อมผลลัพธ์” บันทึกชื่อโมดูลและข้อความแสดงข้อผิดพลาดให้ถูกต้อง อย่าสันนิษฐานว่าโมดูลที่ระบุในตัวอย่างด้านล่างมีอยู่ในเซิร์ฟเวอร์ของคุณ

สถานะสุดท้ายของ systemd-modules-load.service แสดงสถานะล้มเหลวและรหัสออก 1
ตัวอย่างมุมมองสถานะการให้บริการ: หน่วยที่ล้มเหลวจะระบุว่าบริการเริ่มต้นใดที่ต้องได้รับการตรวจสอบ
บันทึกเทอร์มินัลแสดงตัวอย่างข้อความ "ไม่พบโมดูล" สำหรับ example_driver
ตัวอย่างบันทึกการบูต: ชื่อโมดูลตัวอย่าง example_driver เป็นเบาะแสในการติดตาม ไม่ใช่ความล้มเหลวของ SLES ที่ได้รับการยืนยันแล้ว

หากบันทึกการบริการไม่ให้ข้อมูลที่ชัดเจน ให้ตรวจสอบข้อความจากเคอร์เนลเพื่อดูรายละเอียดเพิ่มเติม:

sudo journalctl -k -b --no-pager

หากคอมพิวเตอร์ไม่สามารถเข้าสู่ระบบได้ ให้เริ่มใช้งานเคอร์เนลเวอร์ชันเก่าที่ติดตั้งไว้จาก GRUB หากมี หรือใช้สื่อกู้คืน SLES อย่าแก้ไขโมดูลที่สำคัญต่อการบูตจากเซสชันระยะไกลที่ยังไม่ได้ทดสอบ เอกสารของ SUSE อธิบายตัวกรองบันทึกในบทการจัดการ journalctl

ขั้นตอนที่ 2: ค้นหาการตั้งค่าเริ่มต้นที่ร้องขอการตั้งค่าดังกล่าว

สมมติว่าชื่อวารสารคือexample_driver. แทนที่ตัวยึดตำแหน่งนั้นด้วยชื่อโมดูลจริง จากนั้นค้นหาในรายการโมดูล:

sudo grep -Rns --include='*.conf' 'example_driver' \
  /etc/modules-load.d /run/modules-load.d \
  /usr/lib/modules-load.d 2>/dev/null

แต่ละบรรทัดที่ตรงกันจะบอกคุณว่าไฟล์ใดร้องขอโมดูลนั้นเมื่อบูตเครื่อง การกำหนดค่าในเครื่องของผู้ดูแลระบบมักจะอยู่ใน `/etc/ systemd/systemd.com` /etc/modules-load.d/ในขณะที่แพ็กเกจอาจจัดเตรียมไฟล์ไว้/usr/lib/modules-load.d/ใน `/etc/systemd/systemd.com` ไฟล์ในเครื่องที่มีชื่อเดียวกันจะมีลำดับความสำคัญเหนือกว่าไฟล์ของผู้จำหน่าย ตามที่อธิบายไว้ในคู่มือการกำหนดค่า systemd ของ SUSE หากการค้นหาไม่พบอะไรเลย ให้ตรวจสอบcat /proc/cmdlineการร้องขอโมดูลเมื่อบูตเครื่องและตรวจสอบว่าชื่อที่เกิดข้อผิดพลาดถูกคัดลอกอย่างถูกต้องหรือไม่

เปิดไฟล์ที่ตรงกันและตรวจสอบว่าฮาร์ดแวร์หรือแอปพลิเคชันยังต้องการรายการนั้นอยู่หรือไม่ โมดูลที่ร้องขอสำหรับอุปกรณ์เก่าที่ถูกถอดออกไปแล้วจะแตกต่างจากไดรเวอร์ตัวควบคุมการจัดเก็บข้อมูลหรือตัวเฝ้าระวังคลัสเตอร์

โปรแกรมแก้ไขข้อความแบบเทอร์มินัล พร้อมตัวเลือกในการเพิ่มรายการ example_driver ในไฟล์ /etc/modules-load.d/example.conf
ตัวอย่างการตั้งค่าในเครื่อง: เปลี่ยนแปลงเฉพาะรายการโมดูลเสริมหลังจากยืนยันวัตถุประสงค์แล้วเท่านั้น

ขั้นตอนที่ 3: ทดสอบโมดูล จากนั้นทำการซ่อมแซมที่เหมาะสม

ตรวจสอบว่าเคอร์เนลใดกำลังทำงานอยู่และไดรเวอร์พร้อมใช้งานสำหรับเคอร์เนลนั้นหรือไม่modprobeโหลดโมดูลเคอร์เนลและแก้ไขการพึ่งพา ตัว-nเลือกของฟังก์ชันนี้จะทำการทดสอบแบบจำลองโดยไม่ใส่โมดูลจริงเข้าไป

uname -r
modinfo example_driver
sudo modprobe -n -v example_driver

อีกครั้ง ให้เปลี่ยนexample_driverการทดสอบแบบจำลอง (dry run) ช่วยระบุปัญหาการค้นหาหรือการกำหนดค่า แต่ไม่ได้พิสูจน์ว่าไดรเวอร์จะเริ่มต้นทำงานบนฮาร์ดแวร์ของคุณได้สำเร็จหรือผ่านการตรวจสอบลายเซ็น Secure Boot SUSE แนะนำให้ใช้modprobeแทนinsmodการโหลดโดยตรง รายละเอียดของแฟล็กการทดสอบแบบจำลองปรากฏอยู่ในคู่มือmodprobe

เทอร์มินัลที่มีคำสั่ง modprobe dry-run สำหรับ example_driver และคำสั่ง uname -r kernel-version สำหรับตรวจสอบเวอร์ชันเคอร์เนล
ตัวอย่างการตรวจสอบ: เปรียบเทียบเคอร์เนลที่กำลังทำงานอยู่กับโมดูลที่คุณกำลังตรวจสอบก่อนทำการเปลี่ยนแปลงใดๆ

หากรายการเสริมที่ล้าสมัยชี้ไปยังโมดูลที่หายไป

สำรองไฟล์โลคัลเฉพาะนั้นไว้ แล้วคอมเมนต์เฉพาะบรรทัดที่ล้าสมัยเท่านั้น ตัวอย่างเช่น ถ้า/etc/modules-load.d/example.confเป็นแหล่งที่มาที่ได้รับการยืนยันแล้ว:

sudo cp -a /etc/modules-load.d/example.conf \
  /etc/modules-load.d/example.conf.bak
sudoedit /etc/modules-load.d/example.conf

เปลี่ยนรายการเดียวexample_driverเป็น# example_driverบันทึก และคงคำขอโมดูลอื่นๆ ไว้เหมือนเดิม หากแหล่งที่มาเป็นไฟล์แพ็กเกจภายใต้/usr/libอย่าแก้ไขไฟล์แพ็กเกจนั้นโดยตรง ให้ใช้การแทนที่ในเครื่องที่ได้รับการตรวจสอบอย่างถูกต้อง หรือแก้ไขการกำหนดค่าของแพ็กเกจนั้น อย่าลบคำขอโมดูลเพียงเพราะmodinfoรายงานว่าขาดหายไป หากอุปกรณ์ที่เกี่ยวข้องนั้นจำเป็น

หากโมดูลที่จำเป็นหายไปหรือไม่เข้ากันไม่ได้

อย่าคอมเมนต์บรรทัดนั้นทิ้งไป ตรวจสอบให้แน่ใจว่าแพ็คเกจไดรเวอร์รองรับเอาต์พุตของคำสั่งuname -rและ Service Pack ของ SLES ที่ติดตั้งไว้ ข้อความ “ไม่พบโมดูล” อาจบ่งชี้ว่าไม่ได้ติดตั้งไดรเวอร์ที่ตรงกัน หรือไม่ได้สร้างใหม่หลังจากอัปเดตเคอร์เนล ข้อความ “รูปแบบโมดูลไม่ถูกต้อง” บ่งชี้ถึงปัญหาความเข้ากันได้ บรรทัดบันทึกของเคอร์เนลสามารถช่วยระบุปัญหาได้ละเอียดขึ้น กู้คืนหรือติดตั้งไดรเวอร์ที่รองรับอีกครั้งผ่านคำแนะนำของ SUSE หรือผู้จำหน่ายฮาร์ดแวร์ หลีกเลี่ยงการคัดลอก.koไฟล์ใดๆ จากเคอร์เนลอื่น

หากโมดูลมีอยู่จริง แต่ดัชนีการพึ่งพาของโมดูลนั้นล้าสมัยอย่างเห็นได้ชัด ให้สร้างดัชนีนั้นใหม่สำหรับเคอร์เนลปัจจุบัน แล้วลองทำการทดสอบแบบจำลองอีกครั้ง:

sudo depmod -a "$(uname -r)"
sudo modprobe -n -v example_driver

ขั้นตอนนี้ไม่ได้ติดตั้งไดรเวอร์ที่ขาดหายไป หากคุณเห็นข้อความ “คีย์ที่จำเป็นไม่พร้อมใช้งาน” หรือการปฏิเสธลายเซ็นโมดูลในระบบ Secure Boot ให้ปฏิบัติตามขั้นตอนการลงทะเบียนคีย์ที่เชื่อถือได้และการลงนามไดรเวอร์ของ SUSE อย่าปิดใช้งาน Secure Boot เป็นวิธีแก้ปัญหาทั่วไป SUSE อธิบายข้อจำกัดของไดรเวอร์จากบุคคลที่สามในคำแนะนำการปรับใช้ Secure Boot ของ ตน

ขั้นตอนที่ 4: ตรวจสอบว่าการบูตครั้งต่อไปนั้นสะอาดหมดจด

หลังจากแก้ไขการตั้งค่าหรือกู้คืนไดรเวอร์แล้ว ให้ลองโหลดโปรแกรมอีกครั้งและตรวจสอบสถานะ ทำเช่นนี้หลังจากตรวจสอบแล้วว่ารายการที่เหลือทั้งหมดถูกต้อง การรีสตาร์ทจะพยายามโหลดตามการตั้งค่าอีกครั้ง

sudo systemctl restart systemd-modules-load.service
sudo systemctl status systemd-modules-load.service --no-pager
sudo journalctl -b -u systemd-modules-load.service --no-pager

หากการดำเนินการสำเร็จ ให้กำหนดเวลาการรีบูตแบบควบคุมโดยเข้าถึงคอนโซล และเรียกใช้คำสั่งสถานะและบันทึกอีกครั้ง การแก้ไขจะได้รับการยืนยันเมื่อบริการไม่ล้มเหลวอีกต่อไปในการบูตครั้งใหม่ และฮาร์ดแวร์หรือซอฟต์แวร์ที่จำเป็นใดๆ ที่ขึ้นอยู่กับโมดูลยังคงทำงานได้ หากข้อผิดพลาดกลับมา ให้เปรียบเทียบบันทึกใหม่กับบันทึกเก่า: โมดูลอื่นที่แสดงอยู่อาจล้มเหลวเช่นกัน เก็บสำเนาสำรองไว้จนกว่าการตรวจสอบนั้นจะผ่าน อย่าปิดบังsystemd-modules-load.serviceเพียงเพื่อระงับข้อความเริ่มต้น

ฝากความเห็น

วันลงทะเบียนผู้มีสิทธิเลือกตั้งแห่งชาติปี 2026 ตรงกับวันนี้: วิธีลงทะเบียนหรือตรวจสอบสถานะของคุณ

วันลงทะเบียนผู้มีสิทธิเลือกตั้งแห่งชาติปี 2026 ตรงกับวันนี้: วิธีลงทะเบียนหรือตรวจสอบสถานะของคุณ

วันลงทะเบียนผู้มีสิทธิเลือกตั้งแห่งชาติคือวันที่ 15 กันยายน 2026 เรียนรู้วิธีการลงทะเบียนออนไลน์ ทางไปรษณีย์ หรือด้วยตนเอง และตรวจสอบสถานะผู้มีสิทธิเลือกตั้งของคุณ

เหตุใดการสร้างชุมชนจึงเป็นการตลาดรูปแบบใหม่ และเมื่อใดที่ไม่ใช่

เหตุใดการสร้างชุมชนจึงเป็นการตลาดรูปแบบใหม่ และเมื่อใดที่ไม่ใช่

การสร้างชุมชนสามารถเสริมสร้างความไว้วางใจ การรักษาฐานลูกค้า การรับฟังความคิดเห็น และการสนับสนุนได้ แต่ก็ไม่ใช่สิ่งที่จะมาทดแทนช่องทางการตลาดทุกช่องทางได้ ควรเปรียบเทียบข้อดีข้อเสียและเลือกรูปแบบที่เหมาะสม

ความล้มเหลวในการโหลดโมดูลบูต SLES: ค้นหาไดรเวอร์และแก้ไขปัญหา

ความล้มเหลวในการโหลดโมดูลบูต SLES: ค้นหาไดรเวอร์และแก้ไขปัญหา

ตรวจสอบหาสาเหตุของความล้มเหลวของโมดูลเคอร์เนลระหว่างการเริ่มต้นระบบ SLES แก้ไขรายการบูตที่ล้าสมัย หรือซ่อมแซมไดรเวอร์ที่จำเป็น และตรวจสอบการบูตครั้งถัดไป

ตั้งค่า DM-Multipath บน SLES 15 เพื่อให้ได้เส้นทาง SAN ที่เชื่อถือได้

ตั้งค่า DM-Multipath บน SLES 15 เพื่อให้ได้เส้นทาง SAN ที่เชื่อถือได้

เตรียมเส้นทาง SCSI SAN เปิดใช้งาน multipathd ตรวจสอบค่าเริ่มต้นของฮาร์ดแวร์ของ SUSE และตรวจสอบแผนที่อุปกรณ์ที่เสถียรโดยไม่ต้องเดาการตั้งค่าอาร์เรย์

ปลดล็อก Zypper อย่างปลอดภัยบน SUSE Linux Enterprise

ปลดล็อก Zypper อย่างปลอดภัยบน SUSE Linux Enterprise

ค้นหาโปรเซสที่กำลังล็อกแพ็กเกจของ Zypper อยู่ แยกแยะความขัดแย้งของโปรเซสออกจากแพ็กเกจที่ถูกล็อก และลองอัปเดตอีกครั้งโดยไม่ต้องลบไฟล์ล็อกโดยไม่รู้สาเหตุ

สร้างคลัสเตอร์ SLES 15 HA ที่รองรับด้วย Fencing First

สร้างคลัสเตอร์ SLES 15 HA ที่รองรับด้วย Fencing First

ลงทะเบียน SLE HA, บูตสแตรปโหนด SLES 15 จากนั้นเพิ่มการป้องกัน, โควรัม และทรัพยากรบริการที่ผ่านการทดสอบก่อนที่จะพึ่งพาการสลับระบบเมื่อเกิดข้อผิดพลาด

SLES Zypper HTTP 500: ค้นหาแหล่งเก็บข้อมูลที่ล้มเหลว

SLES Zypper HTTP 500: ค้นหาแหล่งเก็บข้อมูลที่ล้มเหลว

ตรวจสอบหาสาเหตุของข้อผิดพลาดในการรีเฟรชของ Zypper ว่ามาจาก SUSE, RMT หรืออุปกรณ์ปลายทางของบุคคลที่สาม จากนั้นใช้การแก้ไขปัญหาฝั่งเซิร์ฟเวอร์หรือแคชที่ถูกต้องโดยไม่ต้องปิดใช้งานการอัปเดตที่จำเป็น

พื้นที่พูลบางของ SLES ไม่เพียงพอ: ขยาย LVM อย่างปลอดภัยและกู้คืนการเขียน

พื้นที่พูลบางของ SLES ไม่เพียงพอ: ขยาย LVM อย่างปลอดภัยและกู้คืนการเขียน

แก้ไขข้อผิดพลาดเกี่ยวกับพื้นที่ thin-pool ของ SUSE LVM โดยการตรวจสอบการใช้งานข้อมูลและเมตาเดต้า ขยายพูลอย่างปลอดภัย และป้องกันการหยุดทำงานซ้ำซ้อน

เมื่อ SLES Btrfs เข้าสู่โหมดอ่านอย่างเดียว: ตรวจสอบหาสาเหตุก่อนทำการเมานต์ใหม่

เมื่อ SLES Btrfs เข้าสู่โหมดอ่านอย่างเดียว: ตรวจสอบหาสาเหตุก่อนทำการเมานต์ใหม่

ตรวจสอบว่า Btrfs ถูกตั้งค่าเป็นโหมดอ่านอย่างเดียวโดยเจตนา พื้นที่เหลือน้อย หรือกำลังปกป้องข้อมูลหลังเกิดข้อผิดพลาด จากนั้นเลือกวิธีการกู้คืนที่เหมาะสมกับสาเหตุ

ลงทะเบียน SLES 15 กับ SUSE Manager ในเครือข่ายออฟไลน์

ลงทะเบียน SLES 15 กับ SUSE Manager ในเครือข่ายออฟไลน์

เตรียมช่องสัญญาณจำลอง สร้างคีย์การเปิดใช้งาน และบูตสแตรปไคลเอ็นต์ SLES 15 โดยไม่ต้องเข้าถึงอินเทอร์เน็ตโดยตรง ในขณะที่ยังคงรักษาการเชื่อมต่อที่จำเป็นสำหรับการเช็คอินของผู้จัดการไว้