Ядро не синхронізує паніку: VFS: не вдається встановити root fs на блок невідомого (179,6), на якому працює Raspbian поверх NOOBS


26

Під час завантаження послідовність зупиняється на наступному:

Ядро не синхронізує паніку: VFS: не вдається встановити root root на невідомий блок (179,6)

Що я можу зробити, щоб мій Raspberry Pi 2 знову завантажився, використовуючи існуючу установку Raspbian , оскільки він містить багато файлів і конфігурацій, які було б занадто болісно відтворити?

ПРИМІТКА. Це , це та це пов'язані, але різні.

Відповіді:


28

Зауважте, існує чітке розмежування між помилками, виходячи з цифр в кінці, і я не буду вносити багато деталей, оскільки їх можна легко знайти в Інтернеті, якщо потрібно. Ці виправлення передбачають, що у вас працюють усі необхідні з'єднання (живлення, SD-карта, HDMI, дротова клавіатура, миша) і ви використовуєте Raspbian разом з NOOBS.

Деталі щодо помилки, що закінчується цифрою 2, знаходиться в кінці відповіді. Якщо повідомлення про помилку закінчується на 6 , наприклад:

Ядро не синхронізує паніку: VFS: не вдається встановити root fs на невідомий блок (179, 6 )

вам потрібно буде перевірити та відновити файлову систему:

  1. Почніть Малину, тримаючи Shiftклавішу.
  2. Після завантаження NOOBS натисніть, Alt-F2щоб отримати доступ до командного рядка відновлення.
  3. Увійти з ім'ям користувача rootта паролем raspberry.
  4. Тип sudo fsck.ext4 -y /dev/mmcblk0p6. Це дозволить просканувати та спробувати відновити пошкоджену файлову систему (замініть ext4 на тип розділу, якщо потрібно). Зауважте, що autoрежим fsck(тобто лише набір тексту fsckзамість fsck.ext4) не підтримується.
  5. Введіть, sudo shutdown -h nowщоб вимкнути Малину чисто.
  6. Вимкніть шнур живлення та підключіть його знову. Малинові мали б почати нормально.

Якщо повідомлення про помилку закінчується символом 2 , наприклад:

Ядро не синхронізує паніку: VFS: не в змозі встановити root fs на невідомому блоці (179, 2 )

цілком ймовірно, що проблема викликана помилкою оновлення. Виправлення передбачає перехід 2 на 6 :

  1. Почніть Малину, тримаючи Shiftклавішу.
  2. Натисніть Edit config (e)кнопку або натисніть e.
  3. Перейдіть на cmdline.txtвкладку або натисніть клавішу right arrowна клавіатурі.
  4. Замінити:

root = / dev / mmcblk0p 2

з

root = / dev / mmcblk0p 6

  1. Клацніть, OKа потім натисніть escapeна клавіатурі, щоб продовжити послідовність завантаження.

Тепер ваш Пі повинен добре завантажуватися. Якщо відображається та сама помилка, але з 6 переходите до вищевказаних кроків.


У деяких випадках Pi може ігнорувати зміни, внесені в графічний інтерфейс NOOBS, і ви все одно побачите таку саму помилку, 2в кінці під час завантаження. У цьому випадку відповідь tktbjp може допомогти:

Насправді просто використовувати режим відновлення. Я увійшов у режим відновлення і натиснув alt-F2 на логінг як root. Зміна cmdline.txt з графічного інтерфейсу не працює.

Після входу в систему як root з малиною пароля, перевірте, чи є / завантажувальний каталог. Швидше за все, його не буде. Якщо ні, то створіть його за допомогою mkdir / boot. Потім створіть редактор vi для створення cmdline.txt.

#cd /boot

#vi cmdline.txt

in vi редактор змінити корінь на mmcblk0p6. Мій вміст cmdline.txt виглядає такdwc_otg.lpm_enable=0 console=ttyAM0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait

збережіть файл. то важливо робити синхронізацію.

#sync

Потім завантажте дошку. Перехресна перевірка за допомогою GUI, чи дійсно змінено cmdline. Мій PI B + працює зараз


1
замість натискання 'y' або Enter вручну, ви можете використовувати опцію '-y' fsck ...
Андрій Сапегін

1
Чудова порада, дякую за допомогу. Як ніколи, для мене це не працювало з командою sudo. Система не змогла його знайти. Але це було просто чудово без цього!
Рокер Півич

3
Почати малину, утримуючи клавішу Shift ? Я припускаю, що ви маєте на увазі фізичну клавіатуру, тому що бездротова клавіатура не буде працювати так, як під час завантаження
IgorGanapolsky

1
@IgorGanapolsky Я ніколи не використовував бездротову клавіатуру зі своїм Pi, тому мені не було відомо про цю проблему. Я оновив відповідь, дякую.
Влад Шнаковський

1
Зараз я вирішив свою проблему - це не мало нічого спільного з обговореними тут відповідями. Я не зрозумів, як налаштувати образ диска. Оскільки я, здається, більше не можу розмістити свою відповідь тут, я опублікував це як нове запитання і відповідь тут .
Білл

5

У мене була така ж проблема, але з невідомим блоком (179.7), і перше рішення справно працювало, просто замінивши це:

sudo fsck.ext4 -y /dev/mmcblk0p6

з цим:

sudo fsck.ext4 -y /dev/mmcblk0p7

Я не експерт, але сподіваюся, що це може допомогти іншим.


1
Чи доступна команда fsck.ext4 на Mac?
ІгорГанапольський

Ні, на жаль, це не так.
Девід Артманн

4

Для вирішення основної проблеми (не вирішення), якщо ви не можете завантажуватись (або у вас немає "NOOBS"), вам потрібно:

  • вийміть SD-карту з вашого Pi та покладіть її в кард-ридер на вашому комп'ютері Linux.
  • якщо автоматично встановлено, промацуйте обидві секції. Перевірте правильне ім’я пристрою за допомогою fdisk -lта mount -l. У моєму прикладі він встановлений як /dev/sdb1і /dev/sdb2. Отже, для демонтажу, використання umount /dev/sdb1та umount /dev/sdb2. ( Будьте уважні, щоб перевірити свій номер учасника. "2" ось лише МОЙ приклад).
  • Тепер ви готові продовжити перевірку з виправленнями.
    • При fdisk -lідентифікації DOS розділ, щоб переглянути / виправити його fsck.fat -y /dev/sdb1( Перевірте правильний номер )
    • Також fdisk -lпоказує вам номер ext4розділу. Зафіксуйте це fsck.ext4 -y /dev/sdb2( Перевірте свій правильний номер )
  • Якщо воно знову автоматично, umountобидва знову. Якщо ні, ви готові вийняти з комп’ютера ваш Raspberry Pi і включити його.

Якщо це лише "блокове" питання, воно, ймовірно, буде запущене і працює. Якщо Kernel Panicпродовження, перевірте, чи змінилось повідомлення про помилку на щось інше. У цьому випадку вам слід знову пошукати інші відповіді, або, можливо, подумайте про те, щоб переписати SD-карту з нуля.


3

Я виявив цю помилку після спроби встановити Raspbian (Lite) на SD-картці, яка була занадто маленькою. Звичайно, якби я насправді дивився на вихід із процесу DD, я б це бачив, перш ніж сліпо вкласти карту в свій Pi:

$ dd bs=1m if=Downloads/2016-05-27-raspbian-jessie-lite.img of=/dev/rdisk3
Password:
dd: /dev/rdisk3: short write on character device
dd: /dev/rdisk3: Input/output error
969+0 records in
968+1 records out
1015808000 bytes transferred in 45.492548 secs (22329108 bytes/sec)

Я закінчив установку Minibian .


2

Отримала ця помилка, що закінчується двома під час копіювання відомої хорошої картки. В основному те, що я робив, було скопіювати байти з оригінальної карти на свіжу / нову SD-карту dd. Я не очікував помилок від цього простого процесу, тому уявіть моє здивування, коли я зіткнувся з цим повідомленням:

Ядро не синхронізує паніку: VFS: не в змозі встановити root fs на невідомому блоці (179, 2 )

Після пошуку виявилося, що свіжа SD карта була трохи меншою, ніж оригінал.

Через це не вдалося встановити кореневий розділ. А це в свою чергу призвело до сумнозвісного повідомлення про паніку ядра. Я думаю, ядро ​​намагалося дістати блоки в кінці SD-карти або виявило, що розділ (будучи останнім у порядку) не повністю вписується на SD-карту.

Оскільки я дуже хотів зберегти свої файли та налаштування, я скоротив кореневу файлову систему. Це передбачає запуск resize2fsспочатку, а потім fdiskдля налаштування розділу. Майте на увазі, що один інструмент повідомляє розмір у 4 к блоках, інший працює з компенсацією запуску / зупинки сектору 512 байт. Зіпсувати це дуже просто. Тому зберігайте резервні копії відомих хороших зображень.

Це, мабуть, найкраще робити на іншому ПК або ноутбуці з кардрідером. Не на саму малину.

Само собою зрозуміло, що у файловій системі вам має бути достатньо місця, щоб насправді змогти зменшити її ...


1

У моєму випадку я через клонування sd в іншому SD, тому що оригінал був пошкоджений саме в цьому секторі.

Для клонування в Windows можна скористатися цим інструментом: Win32 Disk Imager .

Щоб зменшити зображення sd, якщо новий sd менший за розмір оригіналу, ви можете використовувати цей скрипт у Linux vm, де ви поділилися sd зображенням: PiShrink .

Нарешті, якщо ви хочете переглянути всю процедуру у цьому відео .

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