ฉันจะซ่อมแซมระบบด้วยเคอร์เนลที่ถูกลบได้อย่างไร?


10

เนื่องจากฉันต้องการเพิ่มพื้นที่ว่างใน HDD ของฉันฉันจึงลบเมล็ดเก่า (อย่าถามฉันว่าทำไมฉันถึงบ้ามาก) ฉันตั้งใจลบเคอร์เนลที่ใช้งานอยู่ด้วย (3.2.0-27 บน Ubuntu 12.04)

ก่อนอื่นฉันบูตไม่ได้ ฉันติดตั้งเมล็ด 3.2.0-23 และ 3.2.0-27 ผ่านระบบถ่ายทอดสด (ดูที่นี่ )

ตอนนี้เมื่อฉันเริ่มระบบของฉันตอนนี้ฉันจะได้รับบรรทัดเหล่านี้เท่านั้น:

mountall: Event failed
fsck from util-linux 2.20.1
/dev/sda1: clean, 832254/40099840 files, 21092083/160394239 blocks
 * Stopping Flush boot log to disk
 * Stopping Enabling additional executable binary formats
 * Starting bluetooth daemon

รายละเอียดพีซีอื่น ๆ :

  • Intel i5 2500K 4x 3.3 GHz
  • RAM 8 GB
  • / dev / sda1 เป็น Ubuntu ประมาณ 1400GB
  • Zotac Nvidia GTX 560
  • ASRock Z68 Pro3

ขอบคุณล่วงหน้า!

แก้ไข: ที่นี่คุณสามารถค้นหาไฟล์บันทึกจาก / var / log: kern.log boot.log


/var/log/messagesโปรดให้บันทึกจาก หากคุณไม่สามารถเข้าสู่ระบบคุณสามารถรับได้ในขณะที่บูตผ่านซีดีสด
Andrejs Cainikovs

dmesg | pastebinitได้โปรด
ish

ตอนแรกฉันคิดว่าปัญหานี่คือเคอร์เนลไม่ได้ติดตั้งใหม่อย่างถูกต้อง แต่ฉันไม่มั่นใจว่าสิ่งนี้เป็นจริงและ upvotes ในคำตอบของฉัน (ซึ่งมีขั้นตอนการติดตั้งใหม่โดยละเอียดมากขึ้น) ทำให้คำถามนี้ดูมีคำตอบในรายการคำถาม ดังนั้นผมจึงได้ลบคำตอบนั้นและโพสต์ (ที่มีการเปลี่ยนแปลงตามความเหมาะสม) ในคำถามที่มันอยู่ที่ดีขึ้น ทุกคนที่ต้องการมันสามารถพบได้ที่นั่น ขอให้โชคดีกับปัญหานี้!
Eliah Kagan

ทำไมไม่ใช้ไลฟ์ซีดีเชื่อมต่ออินเทอร์เน็ตและอัพเดตซอฟต์แวร์แทนการใช้กระบวนการที่ยาวนาน?
all4naija

1
ดูเหมือนว่าเอาต์พุตของ pastebin ที่คุณโพสต์นั้นจะอยู่ในการบูตซีดีสด [ 0.000000] Command line: noprompt cdrom-detect/try-usb=true file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
John S Gruber

คำตอบ:


4

ตัวเลือกคือการกู้คืนด้วยตนเอง:

ไฟล์เป็นส่วนที่ง่ายที่สุด คุณสามารถทำตามที่ Ramchandra แนะนำ แต่ถ้าคุณต้องการเก็บแอพของคุณไว้คุณควรหลีกเลี่ยงการติดตั้งใหม่ (อย่างที่คุณเคยเห็นเอาแอพออก) ถ้าคุณต้องการหลีกเลี่ยงการถอนการติดตั้งบูตด้วยเคอร์เนลที่หายไป:

  1. Boot เป็น LiveCD

  2. ใช้ nautilus เปิดพาร์ติชันที่ใช้งานไม่ได้

  3. นำทางไปยัง / home / myusernamehere ไฟล์ทั้งหมดของคุณจะอยู่ที่นั่น

ไฟล์อื่น ๆ ที่คุณอาจต้องการบันทึก:

  • /etc/apt/sources.list หากคุณมี repos ด้วยตนเอง

หลังจากเสร็จสิ้นสิ่งนี้แล้วติดมันลงในแฟลชไดรฟ์หรือส่งอีเมลถึงตัวคุณเอง

แอพเป็นส่วนที่มีเล่ห์เหลี่ยม ฉันคิดวิธีแก้ปัญหาแบบวงเวียนซึ่งจะใช้เวลาสักครู่ (ส่วนใหญ่จะไม่มีคุณเข้าร่วม) แต่การกู้คืนแอพของคุณ (โดยไม่มีการตั้งค่า / การกำหนดค่า)

  1. ติดรอบ LiveCD

  2. นำทางไปยัง / usr / lib (อาจใช้เวลาสักครู่ในการโหลด)

  3. ว้าว! โฟลเดอร์จำนวนมาก เปิดขึ้นใน liveCD

  4. พิมพ์สิ่งนี้ใน gedit:

    #!/bin/sh

    sudo apt-get install folder1 folder2 folder3

... โดยที่ folder1 folder2 folder3 เป็นชื่อของโฟลเดอร์

นี่คือโปรแกรมทั้งหมดที่คุณติดตั้งบน Ubuntu (ฉันคิดว่า) บางส่วนของเหล่านี้ (ประมาณ 50% อาจจะมากกว่า) มาพร้อมกับระบบดังนั้น arent จำเป็นแต่การเดิมพันที่ปลอดภัยก็แค่ใส่ทุกอย่าง

อีกที่ที่ควรมองหาแอพคือ / etc และ / etc / ทางเลือก (อัปเดตฉันถ้าฉันไม่มีจุดอินเทอร์เน็ต!)

บันทึกไฟล์เป็น. sh และอีเมลหรือแฟลชไดรฟ์

ตอนนี้เมื่อคุณเริ่มคอมพิวเตอร์ของคุณ (หลังจากติดตั้งใหม่ทั้งหมด) คุณสามารถเรียกใช้สคริปต์นี้เพื่อ sudo apt-get โปรแกรมทั้งหมดของคุณที่คุณเคยมี พวกเขาจะดีเหมือนใหม่!


1
คำตอบนี้ไม่ถูกต้องอย่างน้อยสองวิธี: (1) มันไม่ได้อธิบายถึงวิธีการซ่อมแซมระบบ แต่วิธีการสำรองข้อมูลลบแล้วติดตั้งระบบของคุณ! (2) ได้รับส่วนหลัง / ติดตั้งผิดเช่นกัน! สำหรับการอ้างอิง: / usr / lib / ไม่มีรายการแพ็กเกจและไม่มี / etc / ทางเลือก หากคุณต้องการรายการแพ็คเกจที่ติดตั้งในระบบของคุณคุณสามารถรับได้ง่าย ๆ ด้วย: <code> dpkg --get-selections </code> และสามารถเรียกคืนได้ด้วย <code> dpkg --set-selection </code> แม้ว่า Ubuntu รุ่นล่าสุดจะได้รับการติดตั้งใหม่ให้ใช้งานได้โดยไม่ต้องใช้ dselect ก็สามารถใช้ความพยายามได้
Benjamin Mako Hill

5

บูตจาก livecd ติดตั้งฮาร์ดดิสก์และติดตั้งเคอร์เนลใหม่ ตัวอย่างเช่น:

sudo -s
mount /dev/sda1 /mnt
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
chroot /mnt
apt-get install linux-image-3.2.0-27-generic-pae

สวัสดี Psusi - ฉันรันคำสั่งเหล่านี้ ( askubuntu.com/questions/89710/… ) เมื่อวานนี้บนแล็ปท็อปขนาดเล็กและลบเคอร์เนลของฉันโดยไม่ตั้งใจ โดยทำตามคำแนะนำของคุณในโพสต์นี้ฉันกู้คืนระบบของฉันใน 2 นาที ถ้าฉันทำตามคำแนะนำอื่น ๆ ฉันจะยังคงต่อสู้เพื่อกู้คืน ขอบคุณอีกครั้ง!
root -11

ฉันสามารถยืนยันคำแนะนำเหล่านี้ได้ในวันที่ 14.04
Gianluca Della Vedova

สิ่งนี้ถูกต้อง แต่มีหลายสิ่งที่ควรสังเกต: (1) ระบบไฟล์รูทของคุณอาจไม่ / dev / sda1 (2) โดยปกติเครือข่ายจะไม่สามารถเข้าถึงได้จากภายใน chroot หากคุณต้องการดาวน์โหลดแพ็คเกจด้วย apt-get (3) หากระบบไฟล์ของคุณได้รับการเข้ารหัสไม่เพียง แต่มันจะไม่ใช่ / dev / sda1 แต่เคอร์เนลใหม่จะ (ถูกเรียกใช้จาก LiveCD) ไม่รวมเครื่องมือ cryptsetup LUKS ที่จำเป็นในการถอดรหัสดิสก์ของคุณในขณะทำการบูท แก้ไขปัญหานี้ได้ แต่ยากกว่ามาก
Benjamin Mako Hill

3

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

ในการทำเช่นนั้นที่โปรแกรมติดตั้งให้เลือกพาร์ติชันขั้นสูงและใช้พาร์ติชันที่ติดตั้งอูบุนตูเป็น /

ฉันยังไม่ได้ทดสอบ


ก่อนอื่นขอบคุณสำหรับคำตอบของคุณ การติดตั้งใหม่โดยไม่มีการจัดรูปแบบช่วย! ตอนนี้ฉันได้รับข้อมูลทั้งหมดจากโฮมไดเร็กตอรี่ของฉันแล้ว แต่:แอปพลิเคชันทั้งหมดการตั้งค่าทั้งหมดและการกำหนดค่าทั้งหมดของฉันจะหายไป นอกจากนั้นยังมีข้อบกพร่องและข้อบกพร่องมากมายด้วยตัวจัดการหน้าต่างและความสามัคคี ฉันยังลองติดตั้งใหม่และใช้งานได้ดีกว่าสำหรับฉัน
slashcrack
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.