ลบ / บูตโฟลเดอร์ผิดพลาดและบูตใหม่


16

ฉันลบโฟลเดอร์ / boot ผิดพลาดจากระบบไฟล์รีบูตและสิ่งที่ฉันได้รับตอนนี้คือ:

error: file '/boot/grub/i368-pc/linux.mod' not found.

grub rescue>


มันแตกต่างกันในกรณีนี้โฟลเดอร์ / boot ถูกลบอย่างสมบูรณ์ ไม่เพียงแค่บางไฟล์เท่านั้นขอบคุณ
Imad Nouari

ฉันทำไม่ได้สิ่งใด ๆ ของคำตอบในคำถามอื่น ๆ มีเพียงพอที่จะแก้ไขปัญหานี้ ..
แกรม

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

7
ข้อผิดพลาดที่ใหญ่กว่าเมื่อเปรียบเทียบกับการลบ /bootคือการรีบูตระบบก่อนที่จะได้รับการแก้ไข
Anthon

คำตอบ:


36

อ๊ะ!

นี่คือสิ่งที่ต้องทำ:

  1. บูตเครื่อง distro สด นี้สามารถเป็นแผ่นติดตั้งอูบุนตูหรืออีกคนหนึ่งเช่นKnoppix

  2. ค้นหาไดรฟ์ / พาร์ติชั่นที่คุณติดตั้งระบบไฟล์รูทของคุณ การทำเช่นนี้คุณสามารถเปิดสถานีและเรียกใช้อย่างใดอย่างหนึ่งหรือsudo parted -l sudo fdisk -lหากคุณไม่สามารถบอกได้ให้แก้ไข คำถามของคุณและเพิ่มผลลัพธ์

  3. สมมติว่าพาร์ติชันรูทของคุณที่คุณพบจากขั้นตอนสุดท้ายคือ/dev/sdxy( xควรเป็นตัวอักษรอื่นและyควรเป็นตัวเลข) จากนั้นเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล:

    mkdir mnt
    sudo mount /dev/sdxy mnt
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot mnt
    
  4. ตอนนี้คุณจะอยู่ในchrootสภาพแวดล้อมซึ่งหมายความว่าการใช้คำสั่งที่นี่เทียบเท่ากับการเรียกใช้คำสั่งเหล่านี้ในระบบที่ติดตั้ง สิ่งแรกที่คุณต้องการทำคือติดตั้ง GRUB2 ลงในอุปกรณ์เพื่อคัดลอกไฟล์ที่ถูกต้องลงใน/bootโฟลเดอร์ ในการดำเนินการดังกล่าวให้เรียกใช้สิ่งต่อไปนี้โดยใช้ไดรฟ์ที่พาร์ติชันของคุณเปิดอยู่ (เช่นลบ/dev/sdxyหมายเลข ( y)):

    grub-install /dev/sdx
    
  5. ตอนนี้คุณต้องการค้นหาแพ็คเกจที่คุณติดตั้งซึ่งมีไฟล์อยู่ในไดเรกทอรีบูตและติดตั้งใหม่ สิ่งนี้จะแทนที่อิมเมจเคอร์เนลที่ถูกลบไปจากสิ่งอื่น ๆ คำสั่งเพื่อค้นหาแพ็กเกจคือ:

    dpkg -S /boot
    

    และติดตั้งใหม่:

    apt-get --reinstall install ...
    

    ไหน...จะถูกแทนที่ด้วยชื่อของแพคเกจจากคำสั่งแรก อย่ารวมเครื่องหมายจุลภาคเพียงแค่มีชื่อแพคเกจที่มีช่องว่างเพื่อแยก

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

  6. เนื่องจากคุณจะลบเมล็ดของคุณและติดตั้งใหม่จึงควรเปิดใช้งานการปรับปรุง GRUB2 โดยอัตโนมัติ แต่ในกรณีที่พวกเขาไม่ได้คุณสามารถเรียกใช้:

    update-grub
    
  7. รีบูตและตอนนี้สิ่งที่ควรได้รับการแก้ไข ปัญหาหนึ่งที่ฉันมีครั้งล่าสุดที่ฉันทำสิ่งที่คล้ายกันคือ Windows ติดตั้งที่ไม่พบโดยupdate-grubเมื่อทำงานในchrootเนื่องจากข้อผิดพลาดos-proberมา หากนี่เป็นปัญหาให้เรียกใช้sudo update-grubอีกครั้งในระบบที่ได้รับการซ่อมแซม


@Olivier ขอบคุณฉันเดิมมีทุกที่เปลี่ยนไปแล้ว/dev/sdax /dev/sdxy
แกรม

ขอบคุณสำหรับข้อมูลที่ดี - มันช่วยฉันด้วยการเพิ่ม เนื่องจากฉันมีซอฟต์แวร์ RAID ฉันต้องทำตามคำแนะนำที่นี่: help.ubuntu.com/community/Grub2/การติดตั้งภายใต้การติดตั้งใหม่โดยใช้วิธีการ chroot เพื่อเริ่ม mdadm และรวบรวมสมาชิก RAID และทำการติดตั้งตามลำดับ จากนั้นหลังจาก chroot ติดตั้งแพคเกจตามที่อธิบายไว้ในคำตอบนี้และทั้งหมดเป็นอย่างดี
bitfiddler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.