Порятунок грубу - помилка: невідома файлова система


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?

ОНОВЛЕННЯ

Виконуючи кроки з команд Персист, набраних до рятувальної роботи GRUB , я зміг завантажитися у підказку initramfs. Але ніде далі, ніж це.

Поки що не читав посібник з порятунку з грубу , я зміг побачити свої диски та розділи за допомогою 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

Дякую Шашанк Сінгх, з вашими вказівками я спростив свої кроки до наступного. Я дізнався від вас, що я можу замінити msdos6 лише 6 і що я можу просто зробити insmod normalзамість insmod /boot/grub/linux.mod. Тепер мені просто потрібно розібратися, як зберегти ці налаштування зсередини grub, не завантажуючись в будь-яку ОС.

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 тощо. Розділи, вказані в grub як (hd0, msdos6), будуть переведені на / dev / sda6.

ОНОВЛЕННЯ 5

Я не міг зрозуміти, чому наступне не виправляє гріш:

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

Тому я завантажив завантажувальний ремонт на основі відповіді з https://help.ubuntu.com/community/Boot-Repair post. Це, здавалося, зробило трюк після того, як я вибрав варіант "Рекомендований ремонт (виправлення найчастіших проблем)".


zdnet.com/… також має корисну інформацію з цього приводу.
K7AAY

у мене є аналогічна проблема, але в моєму прямому ефірі USB також марно goo.gl/Mr61V1
Рамеш,

Зміна порядку завантаження, починаючи з компакт-диска для відновлення Windows 7, запускаючи термінал, набираючи "Bootrec.exe / FixMbr" (без лапок) та перезавантажуючи, вирішила мою проблему.
consuela

У попередньому update3 працював для мене, але зараз та сама проблема. Не працюючи навіть я намагався із переліченими папками в рятуванні від grub. Я спробував створити резервну копію даних за допомогою пристрою ubuntu ISO, існуючий ubuntu не вийшов із списку. Допоможіть мені, що мені робити зараз?
Жак

Це, мабуть, є канонічним питанням, але ще старішим питанням є файлова система Невідома: рятування через груб .
Пітер Мортенсен

Відповіді:


25

Я не міг зрозуміти, чому наступне не виправляє гріш:

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

Тому я завантажив ремонт-завантаження, грунтуючись на відповіді команд Персист, набраних на рятувальний пост GRUB . Це, здавалося, зробило трюк після того, як я вибрав варіант "Рекомендований ремонт (виправлення найчастіших проблем)".

Я також використовував Grub Customizer, щоб налаштувати порядок записів завантаження.


Це не спрацювало, оскільки після запуску останньої команди вам знову потрібно запустити sudo update-grub. У прямому сеансі вам потрібно буде встановити цільову файлову систему на mnt, chroot у файлову систему, і тоді вам потрібно буде запустити sudo update-grub з chroot.
mchid

Використовуючи інформацію з цієї відповіді (встановлення та використання завантажувального ремонту) та з цього питання, вона працювала для відновлення в нетбуку Acer, де я вибрав неправильний елемент у меню GRUB, "Windows Recovery Environment (loader) (on /dev/sda1)". , під час завантаження.
Пітер Мортенсен

7

Існує альтернативна причина цієї проблеми. У цьому конкретному випадку GRUB був якось пошкоджений та потребував ремонту чи перевстановлення. Однак, як показано у програмі Grub рятування не вдається з "Ремонтом завантаження" з помилкою "невідома файлова система" , також можливо, що кореневий розділ, на якому встановлено GRUB, може бути пошкоджений. Щоб виправити це:

Це можливе рішення, але його не слід використовувати, ймовірно, щоб ваш кореневий розділ не погіршився. Запускаючи команду fsck -t ext4 /dev/sda1, ця програма намагається шукати та виправляти помилки у пошкодженій файловій системі. Замініть sda1 фактичним кореневим розділом. Замініть ext4 фактичною файловою системою; ви повинні знати файлову систему, інакше розділ буде більш пошкоджений. Додаткову інформацію див. У розділі Відновлення пошкодженої файлової системи .


Незважаючи на те, що на це питання є відповідь, є альтернативний спосіб виправити проблему, яка працювала на мене. Етапи пояснені в болісному відео Grub Rescue - Посібник для початківців . Коротше кажучи, він перевстановить GRUB 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 до каталогу вашого кореневого каталогу у вашій версії Ubuntu. Каталоги - це 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 знову встановить його в кореневий каталог вашого дистрибутива Ubuntu, а не в той, що знаходиться в прямому ефірі CD / USB. Тож іди вперед і біжиsudo grub-install /dev/sdx

І ось як виправити GRUB за допомогою живого 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

В основному нам потрібен GRUB, щоб знати, де знаходиться /boot/grubпапка. Якщо це не працює, я думаю, що встановлення GRUB з завантажувального CD - це хороший варіант.


Дякуємо за вашу допомогу. Я думаю, що моєю проблемою могло бути те, що мій завантажувальний каталог увімкнено / dev / sdb, а не / dev / sda. Але виправлення завантаження виправляло це автоматично, тому далі мені нічого не потрібно було робити.
user53817

3

Смішно, у мене також була та сама проблема ще годину тому!

У всякому разі, це я і зробив.

  1. Завантажте ubuntu:

    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

Встановіть Ремонт завантаження в Ubuntu

  1. Завантажте комп'ютер на живому компакт-диску Ubuntu або в режимі live-USB.

  2. Виберіть "Спробувати Ubuntu"

  3. Підключіть Інтернет

  4. Відкрийте новий термінал ( 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.

Використання завантажувального ремонту

введіть тут опис зображення

Рекомендований ремонт

  1. Запустити відновлення завантаження з будь-якого:

    а. Dash (логотип Ubuntu у верхньому лівому куті екрана)

    б. Або Система-> Адміністрація-> Меню відновлення завантаження (лише Ubuntu 10.04)

    c. Або ввівши "ремонт-завантаження" в терміналі

  2. Потім натисніть кнопку "Рекомендований ремонт". Коли ремонт закінчено, зверніть увагу на URL-адресу (paste.ubuntu.com/XXXXX), яка з’явилася на папері, після чого перезавантажте та перевірте, чи відновили ви доступ до своїх ОС.

  3. Якщо ремонт не вдався, вкажіть URL-адресу людям, які допомагають вам електронною поштою або на форумі.


@penreturn Дуже дякую, що це спрацювало чудово. : D
Джел Шах

0

Ще однією причиною проблеми є те, що файлова система на завантажувальному диску може вийти з ладу в рідкісних випадках. Як було сказано в інших відповідях, я спочатку використовую lsкоманду для переліку всіх дисків / розділів у рятувальному запиті GRUB, але всі повідомляють про невідому помилку файлової системи . Нарешті я вирішив проблему на Ubuntu 16.04 (Xenial Xerus), відновивши файлову систему наступним чином:

  1. Завантаження з USB-накопичувача (спробуйте Ubuntu без встановлення)

  2. Знайдіть завантажувальний диск (перевірте ємність диска або виконайте виконання fsckна кожному розділі):

    sudo fdisk -l
    
  3. Відновлення файлової системи:

    sudo fsck /dev/sdb1
    
  4. Після того як файлова система буде виправлена ​​та очищена, перезавантажте машину з завантажувального диска.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.