พรอมต์กู้ภัยด้วงซ่อมแซมด้วง


30

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

set root=(hd0,msdos6)
set prefix=(hd0,msdos6)/boot/grub
insmod normal
normal

(พบขั้นตอนเหล่านั้นในโพสต์อื่นที่นี่!)

ฉันเหนื่อยกับการทำซ้ำในทุกครั้งที่บูตฉันจะแก้ไข GRUB อย่างถาวรได้อย่างไร


1
ความเป็นไปได้สองประการ: (1) Boot-Repair (2) Super Grub Rescue Disk ดู: http://linuxnorth.wordpress.com/2012/02/07/repairing-grub/
CentaurusA

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

1
อย่างที่คนอื่นพูดกันว่าการทำ update-grub แล้วก็ grub-install / dev / sda แก้ปัญหา
TheCrazyProgrammer

ดูคาร์ทิคคำตอบ 's สำหรับ 'ไฟล์ไม่พบ': askubuntu.com/questions/443241/...
Samis

คำตอบ:


11

ในการแก้ไขปัญหา grub rescue ให้ทำตามขั้นตอนต่อไปนี้:

  • สิ่งแรกคือเราต้องเริ่มระบบปฏิบัติการของเราเท่านั้นหลังจากนั้นเราสามารถแก้ไขด้วง

    #to start OS-->
    error: unknown filesystem.
    Entering rescue mode...
    grub rescue>

    เมื่อคุณเห็นข้อผิดพลาดดังกล่าวก่อนอื่นเราจะต้องตรวจสอบ“ ระบบแฟ้ม” เป็น ext2 '

    grub rescue> ls        # type 'ls' and hit enter to see drive partition.
    (hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos4) ...   # you will see such things 

นี่คือไดรฟ์ของเราตอนนี้เราต้องตรวจสอบว่าอันไหนเป็น ext2

grub rescue>ls (hd0,msdos6)
error: disk 'hd,msdos6' not found.

ไปหาไดรฟ์อื่นจนกว่าคุณจะได้รับ“ ระบบไฟล์เป็น ext2”

grub rescue>ls (hd0,msdos5)
error: disk 'hd,msdos5' not found.
grub rescue>ls (hd0,msdos2)
(hd0,msdos2): Filesystem is ext2        # this is what we want

ตอนนี้กำหนดเส้นทาง

grub rescue>set boot=(hd0,msdos2)
grub rescue>set prefix=(hd0,msdos6)/boot/grub
grub rescue>insmod normal
grub rescue>normal
  • ตอนนี้เพียงแค่แก้ไขด้วงโดยทำตามคำสั่งบน Ubuntu

    sudo grub-install /dev/sda
    sudo apt-get update
    # to update grub
    sudo apt-get upgrade

ตรวจสอบให้แน่ใจว่าคุณต้องอัปเดตด้วงหลังจากเข้าสู่ระบบปฏิบัติการ


1
OP ทราบวิธีการบูตในระบบปฏิบัติการของเขาแล้ว คำตอบนี้อาจสั้นกระชับกว่านี้
Elder Geek

1
คำตอบนี้เป็นประโยชน์กับฉัน ปัญหาของฉันไม่ตรงกับคำถามเดิมดังนั้นข้อมูลเพิ่มเติมจึงมีประโยชน์
retroj

1
+1 ปัญหานี้ได้รับการแก้ไขโดยการติดตั้ง KDE Neon ที่ล้มเหลว
Darren Lewis

ข้อผิดพลาด: ไม่พบไฟล์ '/boot/grub/i386-pc/normal.mod' ฉันควรทำอย่างไร
BhushanDhamale

7

ฉันจะลองใช้update-grubเพื่อสร้างgrub.conf/ grub.cfgอีกครั้ง

คุณสามารถลองใช้grub-installด้วย แต่ฉันคิดว่าอันนี้จะไม่ช่วย

หากคุณต้องการอ่านเพิ่มเติมให้ตรวจสอบก่อนว่าคุณใช้รุ่นใด (ด้วง 1 หรือ 2) โดยเรียกใช้:

dpkg -l | grep grub

หากคุณมี GRUB 2 คุณสามารถใช้บทช่วยสอนต่อไปนี้: http://www.dedoimedo.com/computers/grub-2.html

แน่นอนว่าต้องจัดการกับด้วงอย่างระมัดระวังขณะที่เรากำลังพูดถึงกระบวนการบูทซึ่งเป็นกลไกที่ละเอียดอ่อน


2
grub-install <correct-drive, i.e. /dev/sda>และupdate-grub2ในที่สุดก็ทำเพื่อฉันใน Ubuntu 15.04
Greg Kramida

6

ดูเหมือนว่าฉันจะupdate-grubประกอบgrub.cfgแต่คุณต้อง (ใหม่ -) เรียกใช้grub-install(หรือgrub-setup?) เพื่ออัปเดต MBR / บูตเซกเตอร์ด้วยข้อมูลพื้นฐาน - พาร์ติชั่นเพื่อค้นหาgrub.cfgไฟล์ & โมดูลเหล่านี้


4

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

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

เนื่องจากคุณสามารถบูตด้วยตนเองการแก้ไขที่ง่ายที่สุดคือการบู๊ตด้วยตนเองและติดตั้ง bootloader ใน MBR เพื่อให้มีการอ้างอิงที่ถูกต้องกับพาร์ติชันของคุณ วิธีที่จะทำคือ:

sudo grub-install /dev/sda

สิ่งนี้จะถือว่าคุณบูตจาก/dev/sda(ส่วนใหญ่ แต่ถ้าไม่ใช่ให้แทนที่ด้วยไดรฟ์ที่ถูกต้อง)

วิธีนี้ง่ายกว่าการใช้boot-repairแต่ถ้าคุณไม่แน่ใจนี่อาจจะเหมาะสมกว่า


1
+1 สำหรับการอธิบายสิ่งที่เกิดขึ้นในคำศัพท์ที่เข้าใจง่าย
monotasker

2

วิธีที่ง่ายที่สุดคือ:

sudo apt-get purge grub-pc grub-pc-bin

แล้ว:

sudo apt-get install grub-pc grub-pc-bin

2
นี่เป็นวิธีแบบค้อนขนาดใหญ่ที่น่าจะใช้งานได้ แต่ง่ายกว่าเพียงแค่ติดตั้ง bootloader ใหม่เพื่ออัปเดตการอ้างอิงไปยังพาร์ติชั่น
bcbc

1

แก้ปัญหากรณีที่ดีที่สุดของความล้มเหลวของด้วงกู้ภัย: ปัญหา: 1. ไม่พบ i386 พีซี **** โหมดปกติไม่ได้ทำงาน CP ไม่ทำงาน search.file ไม่ทำงาน ทั้งหมดสามารถแก้ไขได้ด้วยคำสั่งต่อไปนี้ทำงานร่วมกับ Ubuntu 18.04 เช่นกัน ขั้นที่ 1: ค้นหาโฟลเดอร์รากที่มีไดเรกทอรี

ls

ตัวอย่างเช่นถ้าโฟลเดอร์รูทอยู่ใน (hd0, gpt4) ให้พิมพ์

นี่คือรูปลักษณ์

ls (hd0, 4)/

คุณจะเห็นไฟล์หรือโฟลเดอร์:

ไฟล์รูทของฉันอยู่ใน (hd0, gpt4)

ตอนนี้ถ้าคุณโชคดีให้ทำดังนี้:

set root=(hd0, 4)
set prefix=(hd0, 4)/boot/grub/
insmode normal
normal

หากคุณโชคดีก็จะแก้ปัญหาของคุณ บางครั้งผู้คนมีปัญหาเช่นไม่พบโฟลเดอร์ 1386-pc ในกรณีนี้คุณต้องดูว่าโฟลเดอร์ด้วงอยู่ตรงไหน หากคุณมีปัญหาเช่น:

boot / grub / i386-pc / normal.mod ไม่พบ

ในกรณีนี้คุณต้องค้นหาโฟลเดอร์ grub2 หากคุณมี grub2 และอยู่ในโฟลเดอร์นั้นคุณอาจมีโฟลเดอร์ i386-pc ของคุณ จากนั้นคุณต้องพิมพ์

prefix=(hd0, 4)/grub2/

มันจะทำงาน. หากคุณไม่มี grub2 และไม่พบโฟลเดอร์ i386-pc ให้ทำดังนี้:

grub rescue>set root=(hd0, 4)
grub rescue>set prefix=(hd0, 4)/usr/lib/grub
grub rescue>insmode normal
grub rescue>normal

หลังจากดำเนินการคำสั่งนี้โหมดกู้ภัยด้วงของคุณจะไปที่ เมนูด้วง ตอนนี้คุณสามารถรันคำสั่ง linux ได้

คำสั่ง linux

grub>set root =(hd0, 4)
grub>set prefix= (hd0, 4)/boot
grub>insmaod linux
grub>linux vmlinuz.....-generic
grub>intrd (hd0, 4)/boot/...-generic
grub>boot

มันจะนำคุณเข้าสู่โหมดการกู้คืน จากตรงนั้นคุณสามารถเลือกตัวเลือกการกู้คืนได้ ถ้ามันไม่ได้ช่วยคุณต้องดาวน์โหลด ubuntu os ตัวอย่างเช่น ubuntu 18.04 คุณสามารถดาวน์โหลดได้จากลิงค์ต่อไปนี้: ลิงก์ Ubuntu

สร้างไดรฟ์ที่สามารถบู๊ตได้และเปิดคอมพิวเตอร์ของคุณด้วยดิสก์สด มันจะไม่เป็นอันตรายต่อเอกสารใด ๆ ของคุณ ดูวิดีโอเกี่ยวกับวิธีการทำ ตอนนี้คุณต้องค้นหาโฟลเดอร์ i386-pc ของคุณ มันจะอยู่ใน

rootContainingDirectory-usr-lib-grub

ตอนนี้คัดลอก i386-pc เพื่อบูต / ด้วง / โฟลเดอร์ คุณอาจมีปัญหาการอนุญาตให้เอาชนะคำสั่งต่อไปนี้:

sudo nautilus

ตอนนี้คลิกขวาที่ไดเรกทอรีนั้นและเปลี่ยนเจ้าของเป็น ผู้ใช้เซสชัน ubuntu live

ติดตามวิดีโอ: การเปลี่ยนแปลงการอนุญาต

หลังจากที่คุณวางลงในโฟลเดอร์ boot / grub รีสตาร์ทและเอาไดรฟ์ usb ออก ครั้งนี้ใช้คำสั่งชุดที่ 1มันจะทำงาน หากคำสั่งcpทำงานแล้วคุณสามารถทำได้จากเมนูด้วง

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