กู้ภัยด้วง - ข้อผิดพลาด: ระบบไฟล์ที่ไม่รู้จัก


59

ฉันติดตั้งระบบมัลติบูต ระบบมีสามไดรฟ์ Multiboot ได้รับการกำหนดค่าด้วย Windows XP, Windows 7 และ Ubuntu - ทั้งหมดในไดรฟ์แรก ฉันมีพื้นที่ว่างที่เหลืออยู่มากมายบนไดรฟ์และสำรองไว้สำหรับการเพิ่มระบบปฏิบัติการอื่น ๆ และสำหรับการจัดเก็บไฟล์ในอนาคต

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

ตอนนี้ฉันได้รับ:

error: unknown filesystem.  
grub rescue>

ก่อนอื่นฉันรู้สึกประหลาดใจที่ไม่พบคำสั่งช่วยเหลือใด ๆ โดยลอง:

help, ?, man, --help, -h, bash, cmdฯลฯ

ตอนนี้ฉันติดอยู่กับระบบที่ไม่สามารถบูตได้ ฉันได้เริ่มค้นคว้าปัญหาและพบว่าผู้คนมักจะแนะนำให้บูตกับ Live CD และแก้ไขปัญหาจากที่นั่น มีวิธีแก้ไขปัญหานี้จากการช่วยเหลือด้วงโดยไม่จำเป็นต้องใช้ Live CD หรือไม่?

UPDATE

โดยทำตามขั้นตอนจากคำสั่ง Persist ที่พิมพ์ไปยัง GRUB rescueฉันสามารถบูตเพื่อเริ่มต้นพรอมต์ แต่ไม่ไกลไปกว่านั้น

จนถึงตอนที่อ่านคู่มือเกี่ยวกับการกู้ภัยด้วงฉันสามารถเห็นไดรฟ์และพาร์ติชันของฉันโดยใช้lsคำสั่ง สำหรับฮาร์ดไดรฟ์แรกฉันจะเห็นสิ่งต่อไปนี้:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)

ตอนนี้ผมรู้ว่า (hd0, msdos6) มี Linux บนมันตั้งแต่ls (hd0,msdos6)/ไดเรกทอรีรายการ คนอื่นจะให้ "ข้อผิดพลาด: ระบบแฟ้มที่ไม่รู้จัก"

อัพเดท 2

หลังจากคำสั่งต่อไปนี้ฉันได้รับไปยังเมนูการเริ่มระบบและสามารถบูตใน Windows 7 และ Ubuntu แต่เมื่อรีบูตเครื่องฉันต้องทำซ้ำขั้นตอนเหล่านี้

ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal

อัพเดท 3

ขอบคุณ Shashank Singh พร้อมกับคำแนะนำของคุณฉันทำให้ขั้นตอนของฉันง่ายขึ้นไปยังสิ่งต่อไปนี้ ฉันได้เรียนรู้จากคุณว่าฉันสามารถแทนที่ msdos6 มีเพียง 6 และที่ฉันก็สามารถทำแทนinsmod normal insmod /boot/grub/linux.modตอนนี้ฉันเพียงแค่ต้องคิดวิธีการบันทึกการตั้งค่านี้จากภายในด้วงตัวเองโดยไม่ต้องบูตเข้าระบบปฏิบัติการใด ๆ

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

อัพเดท 4

ดูเหมือนว่ามันเป็นข้อกำหนดในการบูตเข้าสู่ Linux หลังจากบูทเข้า Ubuntu ฉันได้ทำตามขั้นตอนต่อไปนี้ที่อธิบายไว้ในคู่มือ :

sudo update-grub
sudo grub-install /dev/sda

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

ฉันได้เรียนรู้ว่าตัวเลขไดรฟ์เช่นเดียวกับ hd0 จำเป็นต้องได้รับการแปลเป็นไดรฟ์ตัวอักษรใน / dev / sda สำหรับคำสั่งบางอย่าง hd1 จะเป็น sdb, hd2 จะเป็น sdc และอื่น ๆ พาร์ทิชันที่ระบุไว้ในด้วงเป็น (hd0, msdos6) จะถูกแปลเป็น / dev / sda6

อัพเดท 5

ฉันไม่สามารถหาสาเหตุที่ต่อไปนี้ไม่ได้แก้ไขด้วง:

sudo update-grub
sudo grub-install /dev/sda

ดังนั้นฉันจึงดาวน์โหลดการซ่อมแซมการบูตตามคำตอบจากhttps://help.ubuntu.com/community/Boot-Repairโพสต์ ที่ดูเหมือนจะทำเคล็ดลับหลังจากที่ฉันเลือกตัวเลือก "ซ่อมแซมแนะนำ (ซ่อมแซมปัญหาที่พบบ่อยที่สุด)"


zdnet.com/…ยังมีข้อมูลที่เป็นประโยชน์บางอย่างเกี่ยวกับเรื่องนี้
K7AAY

มีปัญหาคล้ายกัน แต่ใน USB สดของฉันก็ไม่มีประโยชน์goo.gl/Mr61V1
Ramesh

การเปลี่ยนลำดับการบู๊ตเริ่มต้นจากซีดีการกู้คืนของ Windows 7 จุดเริ่มต้นเทอร์มินัลพิมพ์ "Bootrec.exe / FixMbr" (โดยไม่ต้องใส่เครื่องหมายอัญประกาศ) และการรีบูตเครื่องช่วยแก้ไขปัญหาของฉัน
consuela

ใน Update3 ก่อนหน้านี้ทำงานได้สำหรับฉัน แต่ตอนนี้ปัญหาเดียวกัน ไม่ทำงานแม้ฉันจะลองกับโฟลเดอร์ที่ระบุไว้ในการช่วยเหลือด้วง ฉันได้พยายามสำรองข้อมูลโดยใช้อุปกรณ์อูบุนตู ISO, อูบุนตูที่มีอยู่ไม่ได้ออกรายการ ช่วยฉันตอนนี้ฉันควรทำยังไงดี?
Jaccs

นี้น่าจะเป็นคำถามที่ยอมรับ แต่เป็นคำถามที่แม้เก่าเป็นระบบไฟล์ที่ไม่รู้จัก: กู้ภัยด้วง
Peter Mortensen

คำตอบ:


25

ฉันไม่สามารถหาสาเหตุที่ต่อไปนี้ไม่ได้แก้ไขด้วง:

sudo update-grub
sudo grub-install /dev/sda

ดังนั้นฉันจึงดาวน์โหลดการซ่อมแซมการบูตตามคำตอบจากคำสั่ง Persist ที่พิมพ์ลงใน GRUB rescue post ที่ดูเหมือนจะทำเคล็ดลับหลังจากที่ฉันเลือกตัวเลือก "ซ่อมแซมแนะนำ (ซ่อมแซมปัญหาที่พบบ่อยที่สุด)"

ฉันใช้Grub Customizerเพื่อปรับแต่งลำดับการบูต


มันไม่ทำงานเพราะหลังจากใช้คำสั่งสุดท้ายคุณจะต้องเรียกใช้ sudo update-grub อีกครั้ง ในเซสชันสดคุณจะต้องเมานต์ระบบไฟล์เป้าหมายเพื่อ mnt, chroot ลงในระบบไฟล์แล้วคุณจะต้องรัน sudo update-grub จาก chroot
เย็น

การใช้ข้อมูลจากคำตอบนี้ (การติดตั้งและใช้การซ่อมแซมการบูท) และจากคำถามมันใช้งานได้สำหรับการกู้คืนในเน็ตบุ๊ก Acer ที่ฉันเลือกรายการที่ไม่ถูกต้องในเมนู GRUB "Windows Recovery Environment (โหลด) (เปิด/dev/sda1)"ระหว่างเวลาบูต
ปีเตอร์มอร์เทนเซ่น

7

มีสาเหตุอื่นของปัญหานี้ ในกรณีนี้ GRUB ได้รับความเสียหายและจำเป็นต้องได้รับการซ่อมแซมหรือติดตั้งใหม่ อย่างไรก็ตามดังที่แสดงในการช่วยเหลือ Grub ล้มเหลวด้วย "การซ่อมแซมการบูต" โดยมีข้อผิดพลาด "ระบบไฟล์ที่ไม่รู้จัก"อาจเป็นไปได้ว่าพาร์ติชันรูทที่ติดตั้ง GRUB นั้นอาจเสียหายได้ ในการแก้ไขปัญหานี้:

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


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

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

  1. เปิดตัวเซสชันสดของ Ubuntu วิดีโอใช้ซีดีสดขณะที่ฉันใช้ USB สด ฉันแน่ใจว่า USB ที่ใช้งานจริงมี Ubuntu รุ่นเดียวกับที่ฉันมีในฮาร์ดไดรฟ์ของฉัน
  2. ค้นหาตำแหน่งที่รูทพาร์ติชันของคุณติดตั้งอยู่ ในวิดีโอผู้ใช้ใช้ Nautilus เพื่อนำทางแต่ละไดรฟ์ที่ติดตั้ง มันถูกประกอบเข้ากับสตริงของตัวเลขและตัวอักษรที่มีความยาว หากเป็นกรณีนี้ให้ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งพาร์ติชันใหม่ มิฉะนั้นให้ทำตามขั้นตอนที่ 5
  3. เรียกใช้เทอร์มินัลด้วยCtrl+ Alt+ Tและใช้mountคำสั่งเพื่อค้นหาชื่อของพาร์ติชัน
  4. เมานต์พาร์ติชัน สร้างโฟลเดอร์ใหม่ในโฟลเดอร์สื่อของคุณ sudo mkdir /media/ubuntu. จากนั้นเพียงติดตั้งพาร์ติชันของคุณกับโฟลเดอร์นั้น sudo mount /dev/sdxx /media/ubuntuที่xxของsdxxจะถูกกำหนดในขั้นตอนที่ 3
  5. ผูกไดเรคทอรี่ต่อไปนี้จากไดเรคทอรีรากของ CD / USB สดของคุณไปที่ไดเรคทอรีรูทของคุณในอูบุนตูเวอร์ชันของคุณ ไดเรกทอรีเป็นและdev proc sysทำด้วยคำสั่งต่อไปนี้:

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
    
  6. เปลี่ยนไดเร็กทอรีรูทเป็นไดเร็กทอรีบนพาร์ติชัน Ubuntu ของคุณ sudo chroot /media/ubuntu/

  7. หลังจากทำตามข้างต้นแล้วการติดตั้ง GRUB 2 อีกครั้งจะติดตั้งลงในไดเรกทอรีรากของการแจกจ่ายอูบุนตูของคุณไม่ใช่ของ CD / USB สด ดังนั้นไปข้างหน้าและวิ่งsudo grub-install /dev/sdx

และนี่คือวิธีการแก้ไข GRUB โดยใช้ live CD / USB วิธีนี้ได้รับการพัฒนาโดยผู้ใช้ YouTube crazytechzone


6

ใช้:

  1. set prefix=(hdX,Y)/boot/grub. ใช้ค่าที่กำหนดไว้ก่อนหน้า
    ตัวอย่าง: หากระบบ Ubuntu บน sda5 ให้ป้อน:
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y). ตัวอย่าง:set root=(hd0,5)
  3. insmod normal. พยายามโหลดโมดูลปกติ
  4. normal

โดยทั่วไปเราต้องการให้ด้วงรู้ว่า/boot/grubโฟลเดอร์อยู่ที่ไหน หากสิ่งนี้ไม่ทำงานฉันเดาว่าการติดตั้ง GRUB จากบูตซีดีเป็นตัวเลือกที่ดี


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

3

ตลกฉันยังมีปัญหาเดียวกันเมื่อชั่วโมงที่แล้ว!

อย่างไรก็ตามนี่คือสิ่งที่ฉันทำ

  1. โหลดอูบุนตู:

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

    ตั้งแต่ Ubuntu ของคุณติดตั้งใน 6 ใช่มั้ย

  2. เรียกใช้ขั้ว:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    

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

2

ติดตั้ง Boot-Repair ใน Ubuntu

  1. บูตเครื่องคอมพิวเตอร์ของคุณบน Ubuntu live-CD หรือ live-USB

  2. เลือก "ลอง Ubuntu"

  3. เชื่อมต่ออินเทอร์เน็ต

  4. เปิด Terminal ใหม่ ( Ctrl+ Alt+ T) จากนั้นพิมพ์:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  5. Enterกด

  6. จากนั้นพิมพ์:

    sudo apt-get install -y boot-repair && boot-repair
    
  7. Enterกด

การใช้ Boot-Repair

ป้อนคำอธิบายรูปภาพที่นี่

แนะนำการซ่อม

  1. เรียกใช้ Boot-Repair จาก:

    The Dash (โลโก้ Ubuntu ที่มุมบนซ้ายของหน้าจอ)

    ข หรือระบบ -> การดูแลระบบ -> เมนู Boot-Repair (Ubuntu 10.04 เท่านั้น)

    ค หรือโดยพิมพ์ 'boot-repair' ในเทอร์มินัล

  2. จากนั้นคลิกปุ่ม "แนะนำการซ่อมแซม" เมื่อการซ่อมแซมเสร็จสิ้นให้จดบันทึก URL (paste.ubuntu.com/XXXXX) ที่ปรากฏบนกระดาษแล้วรีบูตและตรวจสอบว่าคุณกู้คืนการเข้าถึงระบบปฏิบัติการของคุณหรือไม่

  3. หากการซ่อมแซมไม่สำเร็จให้ระบุ URL แก่ผู้ที่ช่วยเหลือคุณทางอีเมลหรือฟอรัม


@penreturn ขอบคุณมากมันใช้งานได้อย่างยอดเยี่ยม : D
Jeel Shah

0

สาเหตุของปัญหาก็คือระบบไฟล์ในไดรฟ์บูตอาจล้มเหลวในกรณีที่หายาก ตามที่ระบุไว้ในคำตอบอื่น ๆ ผมเริ่มใช้lsคำสั่งไปยังรายการไดรฟ์ทั้งหมด / พาร์ทิชันในการแจ้งกู้ภัยด้วง แต่ทั้งหมดรายงานข้อผิดพลาดของระบบแฟ้มที่ไม่รู้จัก ในที่สุดฉันก็แก้ไขปัญหาบน Ubuntu 16.04 (Xenial Xerus) โดยการกู้คืนระบบไฟล์ดังต่อไปนี้:

  1. บูตจากแท่ง USB (ลองใช้ Ubuntu โดยไม่ต้องติดตั้ง)

  2. ค้นหาบูตไดรฟ์ (ตรวจสอบความจุของไดรฟ์หรือทำfsckในแต่ละพาร์ติชัน):

    sudo fdisk -l
    
  3. กู้คืนระบบไฟล์:

    sudo fsck /dev/sdb1
    
  4. หลังจากระบบไฟล์ได้รับการแก้ไขและทำความสะอาดให้รีบูตเครื่องจากบูตไดรฟ์

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