引导时,序列在以下位置停止:
内核紧急不同步:VFS:无法在未知块上安装根fs(179,6)
我该怎么做才能使Raspberry Pi 2使用现有的Raspbian安装再次启动,因为它包含许多文件和配置,以至于很难重新创建?
引导时,序列在以下位置停止:
内核紧急不同步:VFS:无法在未知块上安装根fs(179,6)
我该怎么做才能使Raspberry Pi 2使用现有的Raspbian安装再次启动,因为它包含许多文件和配置,以至于很难重新创建?
Answers:
请注意,根据末尾的数字,错误之间有明显的区别,我不会赘述,因为如果需要,可以很容易地在网上找到它们。这些修复程序假定您具有所有必需的连接(电源,SD卡,HDMI,有线键盘,鼠标),并且正在将Raspbian与NOOBS一起使用。
以2结尾的错误的详细信息在答案的结尾。如果您的错误消息以6结尾,如下所示:
内核恐慌不同步:VFS:无法未知块上安装根FS(179,6)
您将需要进行文件系统检查和修复:
Shift
键启动Raspberry 。Alt-F2
访问恢复命令行。root
和密码登录raspberry
。sudo fsck.ext4 -y /dev/mmcblk0p6
。这将进行扫描并尝试修复损坏的文件系统(如果需要,请用分区类型替换ext4)。请注意,不支持的auto
模式fsck
(即仅键入fsck
而不是fsck.ext4
)。sudo shutdown -h now
以完全关闭Raspberry。如果您的错误消息以2结尾,则如下所示:
内核恐慌不同步:VFS:无法未知块上安装根FS(179 2)
该问题很可能是由更新错误引起的。解决方法是将2切换为6:
Shift
键启动Raspberry 。Edit config (e)
按钮或按e
。cmdline.txt
选项卡或按right arrow
键盘上的。根= / dev / mmcblk0p 2
与
根= / dev / mmcblk0p 6
OK
,然后按escape
键盘上的以继续启动顺序。您的Pi现在应该可以正常启动。如果显示相同的错误,但显示6,则继续执行上述步骤。
在某些情况下,Pi可能会忽略在NOOBS GUI中所做的更改,并且您仍然会看到完全相同的错误,并且2
在启动时最后出现了错误。在这种情况下,tktbjp的答案可能会有所帮助:
实际上,使用恢复模式很简单。我进入恢复模式,然后按alt-F2键以root身份登录。从GUI更改cmdline.txt不起作用。
以root用户身份使用密码raspberry登录后,检查是否存在/ boot目录。它很可能将不存在。如果没有,则使用mkdir / boot创建它,然后使用vi编辑器创建cmdline.txt。
#cd /boot
#vi cmdline.txt
在vi编辑器中,将根目录更改为mmcblk0p6。我的cmdline.txt内容看起来像
dwc_otg.lpm_enable=0 console=ttyAM0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait
保存文件。那么进行同步很重要。
#sync
然后启动板子。如果确实更改了cmdline,则使用GUI进行交叉检查。我的PI B +现在正在工作
我遇到了同样的问题,但是使用unknown-block(179.7),第一个解决方案运行良好,只需替换为:
sudo fsck.ext4 -y /dev/mmcblk0p6
有了这个:
sudo fsck.ext4 -y /dev/mmcblk0p7
我不是专家,但希望这可以对其他人有所帮助。
要解决问题的核心(不是解决方法),如果无法引导(或没有“ NOOBS”),则需要:
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卡。
尝试在太小的SD卡上安装Raspbian(Lite)后,我最终收到此错误。当然,如果我实际看过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:无法未知块上安装根FS(179 2)
搜索后,发现新的SD卡比原始SD卡略小。
因此,挂载根分区失败。进而导致臭名昭著的内核恐慌信息。我猜想内核试图到达SD卡末尾的块,或者发现分区(按顺序排列的最后一个)不完全适合SD卡。
由于我确实想保留我的文件和设置,因此缩小了根文件系统。这涉及resize2fs
先运行,然后fdisk
调整分区。请注意,一种工具以4k块为单位报告大小,另一种工具以512字节扇区开始/停止偏移量工作。搞砸真的很容易。因此,请保留已知良好映像的备份。
最好在另一台带有读卡器的PC或笔记本电脑上执行此操作。不在树莓本身上。
不用说,您应该在文件系统中具有足够的空间以实际能够缩小它。
在我的情况下,由于将sd克隆到另一个sd中,因为原始文件损坏了该扇区。
要在Windows中进行克隆,可以使用以下工具:Win32 Disk Imager。
要缩小sd映像,如果新的sd小于原始sd,则可以在共享了sd映像的linux vm中使用此脚本:PiShrink。
最后,如果您想在此视频中看到整个过程。