Невозможно успешно загрузить рабочий стол после принудительного выключения

Невозможно успешно загрузить рабочий стол после принудительного выключения

Я использую Raspbian Wheezy. Со вчерашнего дня я не могу загрузить свой RPi после принудительного выключения (отключение шнура питания). С тех пор он запускается следующим образом:http://pastebin.com/QiEbda2y

Обратите внимание на следующие несколько строк:

  [    2.176606] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
...
  [    2.220626] Starting init: /etc/init exists but couldn't execute it (error -13)

Затем он запускает sh. Когда я пытаюсь запустить bash, он выдает следующие предупреждения:

bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
root@(none):/#

Обратите внимание, что там сказано:root@(none)

Также (что вполне ожидаемо) загрузочный диск не смонтирован и (что совершенно не ожидаемо) корневой диск находится в режиме только для чтения. Я могу смонтировать их оба в режиме rw с помощью:

fsck /dev/mmcblk0p1 (needed because dirty bit is set)
mount /boot
mount -o remount,rw /

Когда я запускаю ps, он говорит мне запустить mount -t proc proc /proc. Это также необходимо для использования ifup/ifdown.

Если я не использую ifdown/ifup на eth0, мой ifconfig пуст, но простое использование ifup заставляет его сообщать, что eth0 уже включен.

Я могу запустить службу ssh service ssh start, и она доступна после предыдущей настройки eth0.

Программы типа vim все еще работают, но такие вещи, как shutdown -r nowshutdown, не работают, так как shutdown не распознается (там, где он был раньше). При наборе текста exitвозникают ошибки (не при выходе из bash, а из sh, у которого pid 1):

 Kernel panic - not syncing: Attempted to kill init! exitcode=00000800
...

После этого я изменил cmdline.txt, чтобы запустить корневой раздел на USB-накопителе /dev/sda2(он не был подключен в первый раз, когда я столкнулся с проблемой, но был подключен, когда я скопировал dmesg в pastebin). USB-накопитель был создан для размещения Raspbian Jessie. Теперь он работал, и рабочий стол загружался (хотя мышь и клавиатура перестали работать, как только появился рабочий стол), и я мог подключиться к нему по ssh без какой-либо настройки (кроме смены паролей на pi и учетной записи root)

Изменив cmdline.txt обратно на /dev/mmcblk0p2, на котором находился старый корень, и после надлежащей перезагрузки с помощью shutdown -r now, все старые проблемы сохранились, за исключением того, что мне не пришлось выполнять fsck раздела /boot.

До принудительного отключения, вызвавшего проблемы, я около года выполнял обновление/модернизацию apt-get.

Может ли кто-нибудь помочь мне вернуть мою установку Raspbian в рабочее состояние?

Существуют ли какие-либо инструменты, которые могли бы помочь мне восстановить неизвестные сломанные части операционной системы?

Связанный контент