强制关机后无法成功启动到桌面

强制关机后无法成功启动到桌面

我正在运行 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 所必需的。

如果我不在 eth0 上使用 ifdown/ifup,我的 ifconfig 就是空的,但仅仅使用 ifup 会使它抱怨 eth0 已经启动。

我可以使用 ssh 服务启动service ssh start,并且在之前的 eth0 设置之后可以访问它。

像 vim 这样的程序仍然可以工作,但是像shutdown -r now关机这样的程序无法工作,因为无法识别(以前可以识别)。输入时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 安装恢复工作状态吗?

是否有任何工具可以帮助我恢复操作系统中未知的损坏部分?

相关内容