Score:1

ฉันจะถอนการติดตั้งอย่างสมบูรณ์และติดตั้งการปรับปรุงเคอร์เนล Linux ใหม่ได้อย่างไร

ธง in

ปัญหานี้เริ่มต้นเมื่อฉันติดตั้งการอัปเดต Ubuntu วันนี้ 125 แพ็คเกจต้องได้รับการอัปเดต ฉันวิ่ง อัปเดต sudo apt ติดตามโดย รายการ apt -- อัพเกรดได้ และ sudo apt อัพเกรด บนแล็ปท็อปของฉัน จากนั้นหันไปใช้เครื่องเดสก์ท็อปเพื่อทำงานอื่นต่อไป ฉันสังเกตเห็นว่าหน้าจอแล็ปท็อปมืดลง และเมื่อฉันมองดู มีเคอร์เซอร์กะพริบอยู่ที่มุมบนซ้าย ไม่มีอะไรอื่นบนหน้าจอ ฉันลองเปลี่ยนไปใช้เทอร์มินัลเสมือนอื่น แต่ไม่ได้รับการตอบสนองใดๆ ฉันกดปุ่มเปิดปิดชั่วครู่เพื่อดูว่าจะได้รับการตอบสนองหรือไม่ และแล็ปท็อปก็ปิดลง เมื่อฉันรีสตาร์ทแล็ปท็อป มันกลับไปที่หน้าจอเคอร์เซอร์กะพริบเหมือนเดิม อย่างไรก็ตาม ครั้งนี้ ฉันสามารถเปิดเทอร์มินัลเสมือนได้โดยการกด Ctrl-Alt-F1 และฉันเข้าสู่ระบบ ฉันตรวจสอบรายการแพ็คเกจที่ได้รับการติดตั้งโดยเจ้าหน้าที่สนับสนุนด้านเทคนิค และเขาระบุว่าปัญหาเกิดจากการอัปเกรดไดรเวอร์วิดีโอที่ไม่ดี จาก nvidia-driver-460 ถึง nvidia-driver-470และบอกว่าเราต้องติดตั้ง nvidia-driver-495.

เมื่อฉันพยายามติดตั้งไฟล์ nvidia-driver-495 ฉันได้รับข้อความแสดงข้อผิดพลาดว่า dpkg ถูกขัดจังหวะและฉันต้องวิ่ง sudo dpkg --configure -a ซึ่งดูเหมือนว่าจะติดตั้งทุกอย่างที่รอดำเนินการจากรายการแพ็คเกจ 125 รายการ ฉันลองติดตั้งแล้ว nvidia-driver-495 อีกครั้ง แต่ที่บอกว่ามันหายไป nvidia-driver-510 เป็นที่พึ่งพิง. จากนั้นฉันก็วิ่ง sudo apt ติดตั้ง ติดตั้ง nvidia-driver-510 และทั้งหมด ของมัน การพึ่งพา ฉันตรวจสอบเทอร์มินัล GUI ที่ Ctrl-Alt-F7 และมันยังมีเคอร์เซอร์กะพริบอยู่ จากนั้นฉันก็วิ่ง sudo apt ติดตั้ง nvidia-driver-495 ซึ่งไม่ได้สร้างข้อผิดพลาดใด ๆ - แต่ฉันยังมีเคอร์เซอร์กะพริบอยู่ที่เทอร์มินัล GUI เท่านั้น

ฉันรีบูทแล็ปท็อปและได้รับ

ข้อผิดพลาด: ไม่พบคำสั่ง `hwmatch'
ข้อผิดพลาด: ไม่สามารถจัดสรร initrd

กดปุ่มใดก็ได้เพื่อดำเนินการต่อ...

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

หลังจากการค้นคว้าบางอย่าง ฉันก็วิ่ง sudo update-initramfs -c -k 5.13.0-30-generic และรีบูตเครื่อง - และมีรูปแบบความล้มเหลวเหมือนเดิม ในที่สุดบูตกลับเข้าไปใน -28 เคอร์เนลเพื่อดำเนินการต่อ ฉันสะกิดอีกเล็กน้อยแล้ววิ่ง ปรับปรุงด้วงรีบูต - และผ่านวงจรเดิมอีกครั้ง

ฉันพยายามลบไฟล์ -30 ไฟล์เคอร์เนลจาก /บูต, วิ่ง อัปเดต sudo apt ซึ่งกล่าวว่าแพ็คเกจทั้งหมดเป็นปัจจุบันและทำงานอยู่ sudo apt ลบ เพื่อลบทั้งหมด -30 ไฟล์, กำลังทำงาน ปรับปรุงด้วง อีกครั้ง - และ การปรับปรุงที่เหมาะสม ยังคงยืนยันว่าแพ็คเกจทั้งหมดเป็นปัจจุบัน: มันเหมือนกับว่ามันรู้ว่าได้ติดตั้งเคอร์เนลเวอร์ชันใหม่แล้ว แต่ก็ไม่สามารถสังเกตเห็นได้เมื่อมันถูกลบออก ฉันรีบูตแล็ปท็อปซึ่งประสบความสำเร็จเนื่องจากเริ่มทำงานก่อนหน้านี้ -28 เคอร์เนล - และ การปรับปรุงที่เหมาะสม ยังไม่มีเงื่อนงำเกี่ยวกับการอัพเกรดเคอร์เนล ฉันวิ่ง sudo apt-get ลบ --purge กับรายชื่อ -30 ไฟล์ซึ่งลบเฉพาะไฟล์การกำหนดค่าเนื่องจากตัวแพ็คเกจถูกลบไปแล้ว - และ การปรับปรุงที่เหมาะสม ยังคงเพิกเฉยต่อเคอร์เนลใหม่อย่างมีความสุข

ฉันวิ่ง รายการ apt --installed | grep linux-อิมเมจ ซึ่งแสดงรายการเมล็ดทั้งสองที่ยังคงติดตั้งอยู่ -27 และ -28. ฉันวิ่ง apt-cache ค้นหา linux-image|grep 13|grep ทั่วไป ซึ่งให้รายชื่อเมล็ดสั้น ๆ แก่ฉัน สามารถ ติดตั้ง. จากนั้นฉันก็วิ่ง sudo apt-get install linux-headers-5.13.0-30-generic linux-hwe-5.13-headers-5.13.0-30 linux-image-5.13.0-30-generic linux-modules-5.13.0-30- linux-modules-extra-5.13.0-30-generic ทั่วไป เพื่อติดตั้งแพ็คเกจที่จำเป็นทั้งหมดอีกครั้ง ส่วนหนึ่งของผลลัพธ์คือ

/etc/kernel/header_postinst.d/dkms:
 * dkms: เรียกใช้บริการติดตั้งอัตโนมัติสำหรับเคอร์เนล 5.13.0-30-generic

การเตรียมเคอร์เนลไม่จำเป็นสำหรับเคอร์เนลนี้ กำลังข้าม...

ซึ่งทำให้ฉันสงสัยว่าได้ผ่านขั้นตอนที่จำเป็นหรือไม่ อย่างอื่นดูโอเค ฉันจึงรีบูทเครื่อง - และกลับไปที่

ข้อผิดพลาด: ไม่พบคำสั่ง `hwmatch'
ข้อผิดพลาด: ไม่สามารถจัดสรร initrd

และเคอร์เนลตื่นตระหนก ในที่สุดฉันก็สามารถแยกแยะสิ่งที่ขาดหายไปได้ ฮ่วย ปัญหาผ่านการรีบูตอีกสองครั้งโดยทำตามคำแนะนำจาก https://www.linux.org/threads/error-cant-find-command-hwmatch-during-boot.32618/ - การคัดลอก /usr/lib/grub/i386-pc/hwmatch.mod เข้าไปใน /boot/efi/efi/grub ไดเร็กทอรีที่ฉันต้องสร้าง

สิ่งหนึ่งที่ฉันสังเกตเห็นคือ -30 เริ่มต้น ภาพใหญ่กว่าภาพอื่น 50+%:

-rw-r--r-- 1 รูทรูท 99M 2 มี.ค. 16:41 initrd.img-5.13.0-27-generic
-rw-r--r-- 1 รูทรูท 99M 2 มี.ค. 16:57 initrd.img-5.13.0-28-generic
-rw-r--r-- 1 รูทรูท 156M 2 มี.ค. 21:41 initrd.img-5.13.0-30-generic

นั่นอาจเป็นส่วนหนึ่งของปัญหาหรืออาจเป็นผลมาจากปัญหา ฉันไม่แน่ใจ

หลังจากวิ่ง sudo apt-get ลบ --purge เพื่อลบทั้งหมด -30 แพ็คเกจอีกครั้งฉันวิ่ง sudo find / -xdev -name "*5.13.0-30*" ซึ่งกลับมาเท่านั้น

/var/cache/apt/archives/linux-headers-5.13.0-30-generic_5.13.0-30.33~20.04.1_amd64.deb
/var/cache/apt/archives/linux-modules-extra-5.13.0-30-generic_5.13.0-30.33~20.04.1_amd64.deb
/var/cache/apt/archives/linux-image-5.13.0-30-generic_5.13.0-30.33~20.04.1_amd64.deb
/var/cache/apt/archives/linux-hwe-5.13-headers-5.13.0-30_5.13.0-30.33~20.04.1_all.deb
/var/cache/apt/archives/linux-modules-5.13.0-30-generic_5.13.0-30.33~20.04.1_amd64.deb

ฉันไม่คิดว่าไฟล์เหล่านั้นเป็นปัญหา แต่หลังจากพยายามค้นหาสาเหตุอื่นสำหรับข้อความ "การเตรียมเคอร์เนลโดยไม่จำเป็นสำหรับเคอร์เนลนี้" ไม่สำเร็จ ฉันจึงใช้ หา เพื่อลบออก เมื่อฉันวิ่ง sudo apt-get ติดตั้ง อย่างไรก็ตาม อีกครั้ง ฉันได้รับข้อความ "การเตรียมเคอร์เนลโดยไม่จำเป็น" เหมือนเดิม และการรีบูตทำให้ฉันกลับไปที่ ข้อผิดพลาด: ไม่สามารถจัดสรร initrd ปัญหา.

ตอนนี้ฉันได้ลบ -30 เคอร์เนลอีกครั้ง ดังนั้นฉันจึงไม่ต้องต่อสู้กับแล็ปท็อปเมื่อฉันต้องการรีบูต แต่ฉัน จะ ต้องการติดตั้งเคอร์เนลใหม่ซึ่งฉันแน่ใจว่ามีการแก้ไขความปลอดภัย

ฉันต้องทำอย่างไรเพื่อให้ Ubuntu ลืมว่า -30 เคยติดตั้งเคอร์เนล ดังนั้นฉันจึงสามารถติดตั้งในสถานะบูตได้สำเร็จหรือไม่

โพสต์คำตอบ

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