Raspberry 4 застрял в initramfs

Вопрос или проблема

Я новый на этом сайте, так что надеюсь, что не выгляжу очень глупо (к тому же мой английский не лучший)

У меня есть Raspberry Pi 4B с картой памяти 64GB от Sandisk Ultra. Установлена на ней версия Ubuntu Server 20.04 для ARM. Обычно она работает 24/7 в моей локальной сети для исследований и немного обучения.

Что случилось:

После установки обновления с помощью “Sudo apt update”, “sudo apt upgrade” и завершения его командой “reboot”, я застрял в initramfs.

Единственное сообщение, которое отображается:

ext4
Чт Янв 1 00:00:06 UTC 1970
writable: восстанавливаю журнал
writable: флаг необходимости восстановления суперблока чист, но в журнале есть данные.
writable: Запустить журнал в любом случае

writable: НЕОЖИДАННАЯ НЕКОРРЕКТНОСТЬ; ЗАПУСТИТЕ fsck ВРУЧНУЮ.
          (т.е. без параметров -a или -p) 
fsck вышел с кодом статуса 4
Корневая файловая система на /dev/mmcblk0p2 требует ручного fsck

BusyBox v1.30.1 (Ubuntu 1:1.30.1-6ubuntu2) встроенный шелл (ahs)
Введите 'help' для списка встроенных команд.

(initramfs)_

Я сделал то, что сказано, и попытался запустить это вручную командой:

(initramfs) fsck /dev/mmcblk0p2
fsck из util-linux 2.36.1
e2fsck 1.45.7 (28-Jan-2021)
writable: восстанавливаю журнал
Суперблок требует восстановление, флаг чист, но в журнале есть данные.
Запустить журнал в любом случае<y>? да
fsck.ext4: невозможно установить флаги суперблока на записи

writable: ********** ПРЕДУПРЕЖДЕНИЕ: Файловая система все еще имеет ошибки **********

(initramfs) _

После некоторого исследования я выяснил, что, возможно, это карта sd, так что я попытался снова переустановить сервер ubuntu на ней.

Но карта sd не очищается. Не очищается ни в Windows, ни в Linux. Файлы внутри имеют только для чтения, но попытка очистить ее с помощью sudo на другом устройстве не влияет на нее. Попытка удалить что-либо или сделать ее записываемой в initramfs дает мне “Доступ запрещен”.

Поскольку все мои данные уже в безопасности, я хотел бы очистить ее. Но мне все еще любопытно, почему это происходит, потому что это случилось со мной дважды. В первый раз это было легко исправить просто переустановив. И это второй раз.

Н希望 кто-то из вас имеет какую-либо идею, как это исправить. Я гуглил и вбок, но ничего не нашел.

Я тоже новичок (не могу комментировать), но вы пытались использовать команду dd (вот ссылка) для карты sd? Может быть, через виртуальный Linux, если вы работаете на Windows?

Ответ или решение

Проблема, с которой вы столкнулись на вашем Raspberry Pi 4B, связана с повреждением файловой системы на вашей SD-карте. Ниже приведены детальные шаги для диагностики и исправления проблем с загрузкой в режиме initramfs, а также рекомендации по работе с SD-картами, включая возможные решения с использованием команды dd.

Причины проблемы

  1. Проблемы с файловой системой: Сообщение об ошибке говорит о том, что файловая система требует восстановления. Это может произойти из-за некорректного завершения работы системы, потери питания или повреждения SD-карты.
  2. Поврежденная SD-карта: Sandisk Ultra может поддаваться износу и повреждению, особенно если она использовалась долго и активно. Это может вызвать недоступность данных и невозможность записи новых данных.
  3. Режим «только для чтения»: Если файловая система становится недоступной для записи, это может указывать на физическое повреждение карты или на то, что она находится в состоянии «только для чтения».

Решения

  1. Запустите fsck:

    • Попробуйте вручную выполнить команду fsck для вашей SD-карты:
      (initramfs) fsck /dev/mmcblk0p2
    • Если система предлагает запустить журнал, примите это предложение. Если fsck не сможет восстановить файловую систему, выполните следующие шаги.
  2. Проверка SD-карты на другом устройстве:

    • Попробуйте вставить SD-карту в другое устройство, например, в Windows или другой компьютер с Linux.
    • Убедитесь, что SD-карта не установлена в режиме «только для чтения». Если это так, попробуйте использовать переключатель защиты от записи, если он есть.
  3. Использование команды dd для полного затирания карты:

    • Если вы хотите полностью стереть данные на SD-карте, то вы можете использовать команду dd. Предупреждаю, что это удалит все данные на устройстве:
      sudo dd if=/dev/zero of=/dev/sdX bs=4M
    • Замените /dev/sdX на обозначение вашей SD-карты (например, /dev/mmcblk0). Будьте очень осторожны, убедитесь, что вы выбираете правильное устройство.
    • Управлять и выполнять данную операцию можно из Live CD или USB с Linux.
  4. Перепрошивка SD-карты:

    • После выполнения команды dd, вы сможете перезаписать образ Ubuntu Server на SD-карте. Скачайте и используйте инструмент balenaEtcher или Raspberry Pi Imager, чтобы записать образ на карту.
  5. Замените SD-карту:

    • Если проблема повторяется, подумайте о замене SD-карты на более надежную. Карты класса A1 или A2 обеспечивают лучшую производительность и долговечность.

Профилактика

  • Регулярно выполняйте резервное копирование данных и обновляйте программное обеспечение.
  • Используйте стабильные источники питания для вашего Raspberry Pi, чтобы минимизировать риск повреждения файловой системы из-за отключения питания.
  • Рассмотрите возможность использования SSD или другого устройства для хранения данных, если вы планируете активное использование Raspberry Pi.

Если ни одно из описанных решений не привело к успеху, возможно, ваша карта действительно имеет физическое повреждение. В этом случае дальнейшая работа с ней может оказаться нецелесообразной.

Оцените материал
Добавить комментарий

Капча загружается...