取出并插入SD卡后是否无法启动?


15

我已经使用Win32DiskImager在我的SD卡上安装了Arch Linux。如果我关闭RPi,取出卡,将其插入,然后再次启动RPi,一切正常。但是,如果我使用进行pacman中的完整系统更新pacman -Syu,则会出现问题。如果我关闭电源并再次启动RPi,没问题,但是如果我关闭电源,取出卡,插入,然后启动RPi,它就无法再次启动,只需要一直等待Rainbow启动屏幕即可。我也不需要卸下SD卡,仅需足以停止30秒钟的电源即可(直到冷凝器完全放电)并启动RPi,并且会发生相同的错误。

我试图通过添加禁用树莓派固件更新包IgnorePgk = raspberrypi-firmware/etc/pacman.conf的文件,然后执行完整的系统更新,然后我取出并插入SD卡,然后我不再次看到彩虹的屏幕,但收到此错误信息:

在此处输入图片说明

[  20.217557] Kernel panic - not syncing : VFS: Unable to mount root fs on unknown-block(179,2)

PANIC: VFS: Unable to mount root fs on unknown-block(179,2)

Entering kdb (current=0xcd828ca0, pid 1) due to Keyboard Entry
kdb> _ 

如果我仅更新linux-raspberrypi软件包,然后仅reboot并且不删除sdcard,也会发生此错误,并且得到相同的内核恐慌错误消息。

我有一张Samsung SDHC 16GB Class10(MB-MPAGA aka MB-MPAGAEU)卡。我也尝试使用Kingmax SDHC 16GB Class10卡和Kingmax SDHC 8GB Class6卡,但均不起作用。

如果我忽略pacman和pacman中raspberrypi-firmwarelinux-raspberrypi软件包,然后进行系统更新,即使删除sdcard也不会发生错误。因此,在这些软件包中一定有一些问题。


2
您如何为Pi供电?Pi开机时是否要卸下SD卡?
史蒂夫·罗比拉德

1
所以它只工作一次?大多数启动问题都可归因于电源不足或SD卡或映像损坏
Steve Robillard 2012年

1
这是第二次了。我重新安装了操作系统,这不会再次启动。我使用带有适配器的kingmax c10 microsd。我有2个适配器,都无法使用。
GergelyFehérvári2012年

1
我建议您尝试使用其他品牌的卡。也许您可以向朋友借钱或进行交易,以避免不得不购买/等待另一个朋友。也有你检查验证的卡列表(elinux.org/RPi_VerifiedPeripherals)和故障排除指南(elinux.org/R-Pi_Troubleshooting
史蒂夫罗比拉德

2
如果您通过完全重写来编辑此问题,并说明产生故障的确切操作顺序,则很有可能获得有用的结果。
克里斯·斯特拉顿

Answers:


8

我将其发布为答案,因为评论中没有足够的空间。因此,从到目前为止收集的所有信息来看,问题似乎仅与/ boot /分区内容有关。现在,问题可能是由两件事引起的:1. / boot /文件系统损坏,这使得引导加载程序无法加载固件文件。2.新版本的固件具有某些退化,从而导致SD卡无法正常工作。您必须检查以下哪一项是正确的。

一种方法是手动更新PC上/ boot /中的文件。为此,您必须首先确保您的系统没有直接引导到图形系统(因为您将无法使用模块,这将使得无法在X中使用键盘/鼠标)。然后,您必须在PC上连接SD卡,备份其内容,转到github页面获取固件文件,进入启动目录,然后将以下文件(覆盖现有文件)下载到/ boot /分区中-bootcode.bin,kernel.img,start.elf,loader.bin。您不需要覆盖任何其他文件。要下载每个文件,您必须单击其名称,然后单击“查看原始文件”并将其保存在光盘上。保存所有文件后,请确保安全弹出SD卡并检查其是否启动。这样,您可以检查最新的固件文件(内核和引导加载程序)是否能够从SD卡引导。如果是真的,那么我们可以确定您的问题是由/ boot /分区损坏引起的,而不是内核/ bootloader回归引起的。

如前所述,当您看到彩虹屏幕时,还应该检查可以看到多少绿色的led闪光灯。不久前,故障排除代码已添加到引导加载程序中,并且将以绿色闪烁绿色LED指示灯多次,以显示出了问题所在。列表如下:3次闪烁:未找到loader.bin 4次闪烁:未启动loader.bin 5次闪烁:未找到start.elf 6次闪烁:未启动start.elf

如果您根本看不到任何闪烁,则说明您的固件太旧而无法支持该固件,或者甚至没有加载bootcode.bin。您还可以通过检查启动所需的所有文件(前面提到的)是否都正常(大小不为零,是否存在等)来检查启动分区是否未损坏。您还可以通过仅还原其中一些文件来检查引导分区上的哪个文件导致了问题。例如,仅还原kernel.bin或仅还原start.elf + loader.bin + bootcode.bin。这可以告诉您是固件还是内核问题。


大声笑。今天,我更新了raspberrypi-firmwarelinux-raspberrypi,问题不再存在。似乎已修复。因此,我什至无需在启动时手动修复,即可正常工作。但是我会接受您的回答,因为这是最接近问题的位置,并且我敢肯定,它将解决问题。
GergelyFehérvári2012年

5

一定是sdcard问题。如果我安装Raspbian“ wheezy”,则在raspi-config中,我将分区扩展为填满卡,然后关闭Raspberry Pi,移除sdcard,再次插入,它将无法启动。不支持Kingmax 16GB SDHC Class10卡。


正如我在问题中提到的,我还尝试了Kingmax 8GB和Samsung 16GB,但都没有用。也许这是其他问题。


1
您可能需要将其添加到我先前链接的已知问题卡的列表中,并保存其他您遇到的问题。
史蒂夫·罗比拉德

您必须检查到底是什么使您的卡无法启动。例如,如果您引导系统但没有登录,那么在打开/关闭电源后它将引导吗?另外,请检查彩虹屏时绿色指示灯是否闪烁。如果是这样,多少次?
2012年

是。如果我进行完整的系统升级,则只能重新启动。如果不进行系统升级,我可以毫无问题地删除并插入sdcard,并且可以很好地启动。
GergelyFehérvári'12年

2
工作时,在PC上备份/ boot /分区的内容。然后进行升级,关闭系统,在PC上还原/ boot文件,然后检查是否可以解决问题。升级后获得的新内核可能存在问题,或者/ boot /文件系统损坏。
2012年

似乎此引导副本和还原解决了问题,但这很好吗?是真正的解决方案,还是只是暂时的解决方案?同样令人惊讶的是,它似乎没有任何改变。内核是相同的,似乎只有pacman中的版本已更改。
GergelyFehérvári,2012年

0

Raspberry PI – PANIC:VFS无法在未知块上挂载根fs(179,2)更新并重新引导后,我收到此消息。

PANIC:VFS由于键盘输入而无法在未知块(179,2)输入kdb(当前= 0xcb846c80,pid 1)上安装根fs

至少对我来说,这个问题很容易解决。

所以我在RescueCD上启动–任何Linux在另一台PC上都可以

然后,我运行文件系统修复(使用您正确的设备名称)

fsck / dev / sdb2

我不得不多次运行它,然后我强制执行检查fsck -f / dev / sdb2

并且文件系统已修复。

也许有临时解决方案。我要做的是在重新启动之前同步文件。因此,我在sudo重新启动之前运行命令同步大约2或3次。从此以后,我再也没有看到该错误。

Update1:​​超频可能会影响文件系统损坏的体验。因为我总是看到较高的负载后出现问题,例如更新和升级。

Update2:是的,当不是超频时,它们就没有问题。也许使用其他SD卡也可以超频工作。

Update3:经过一些调查和测试,我发现原来用于Pi的盒子只有向下的通风孔,因此IO驱动程序可能会过热,并导致以太网,USB和SD卡出现问题。由于我将其打开,因此即使是中等超频也不会出现问题。

Update4:Raspberry失败将其发送以交换给供应商,请参见此处的更多信息。

Update5:Raspberry已由供应商交换。新作品看起来还可以。让我们期待。

Update6:新作品的7/24运行时间约为12天,没有任何问题。甚至所有时间都超频(中)。我想如果有人仍然对稳定性有疑问,那么他应该要求在隔离下进行交换。我现在就用它从购买的原装塑料盒中取出,而没有任何额外的冷却,首先使用SD卡和电源。我没有对原始Raspbian系统使用过任何tweeks。


0

升级到linux-raspberrypi 3.18.3(没有更多的linux-raspberrypi-latest)后,我也遇到了类似的内核恐慌问题。

就我而言,它不是损坏的文件系统,引导加载程序或固件。这是内核软件包。

错误消息是

Error: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

起初我以为可怜的SDHC卡死了,但事实证明还可以。该vfat /boot分区ext4 //home均正常。

我花了一些时间,最后linux-raspberrypi-3.18.3-3包裹才是罪魁祸首。

出于某种原因,程序包会更新/boot/cmdline.txt,它指向/错误的分区/dev/mmcblk0p2应该为/dev/mmcblk0p5

注意:pacman -Qo /boot/cmdline.txt会告诉您它来自哪个软件包。

将SD插入上网本并回滚到良好的cmdline.txt之后,将其重新插入Pi,系统启动并愉快地运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.