Wince 6.0 文件系统损坏 - 目录似乎是递归的

发布于 2024-12-06 21:31:33 字数 775 浏览 8 评论 0原文

我们有成熟的Wince 6.0 R2定制设备,能够通过WiFi下载文件并将其存储在NAND闪存FAT文件系统分区中。它已经在全球 15000 多台设备上运行了一年多,但最近在新软件和操作系统版本的一些测试系统上,我们发现一些文件系统损坏,其中特定目录似乎有一个递归链接返回顶层\Flash内容。特别是,我们有一个 \Flash\Manifest 目录,其中包含一个名为 GCMaps 的子目录。通常,它包含许多地图图像,但当发生损坏时,它还包括明显递归循环中的所有高级 \Flash 文件和子目录,例如 \Flash\Manifest\GCMaps\program.exe 和 \Flash\Manifest \GCMaps\Manifest\GCMaps\Manifest...

始终是同一目录出现问题,并且它发生在我们测试架上的多个设备上,尽管我们的许多测试设备完全不受影响。我可以通过重新格式化文件系统分区或擦除整个闪存设备、重新分区、重新刷新操作系统和重新创建文件系统来临时修复受影响的设备。但受影响的设备在几天内继续出现损坏。

最近的测试表明,多次更改清单文件后文件系统仍然完好无损,但随后我们在午夜自动重新启动,并且在启动时,一些受影响的设备出现了问题。

奇怪的是,我们最近没有更改任何清单下载或集成逻辑,也没有更改任何与 GCMaps 有关的内容。我最近所做的一项重大更改是删除 Windows Shell 并以“Kiosk 模式”运行我们的设备,而我们的应用程序是唯一的 UI。

以前有人在 CE 上遇到过这种递归目录损坏吗?如果是的话,你找到解决方案了吗?去除外壳是否有任何原因导致这种情况?任何建议或信息将不胜感激!

谢谢, 里奇·琼斯

We have a mature Wince 6.0 R2 custom device that is capable of downloading files via WiFi and storing them in a NAND flash FAT file system partition. This has been running on over 15000 devices around the world for over a year now, but recently on some test systems for new software and OS versions, we have been seeing some file system corruptions where a particular directory seems to have a recursive link back to the top level \Flash contents. In particular, we have a \Flash\Manifest directory that includes a subdirectory called GCMaps. Normally this contains a number of map images, but when the corruption occurs, it also includes all of the high level \Flash files and subdirectories in an apparent recursive loop, e.g. \Flash\Manifest\GCMaps\program.exe and \Flash\Manifest\GCMaps\Manifest\GCMaps\Manifest...

It is always the same directory that has the problem, and it is happening on multiple devices on our test rack, although many of our test devices are completely unaffected. I am able to temporarily fix the affected devices by either reformatting the file system partition or by erasing the entire flash device, repartitioning, reflashing the OS, and recreating the file system. But the affected devices continue to develop the corruption within a couple of days.

Recent testing has shown that the file system remains intact after changing the Manifest files multiple times, but then we have an automated reboot at midnight, and upon bootup, some of the affected devices exhibit the problem.

What is strange is that we have not recently changed any of the manifest download or integration logic, nor anything that has anything to do with GCMaps at all. One major change I have made recently was to remove the Windows Shell and run our devices in "Kiosk Mode" with our applications being the only UI.

Has anyone encountered this kind of recursive directory corruption on CE before, and if so, did you find a solution? Is there any reason that removing the shell could have caused this? Any suggestions or information would be appreciated!

Thanks,
Rich Jones

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清旖 2024-12-13 21:31:33

如果您在重新启动之前不刷新文件系统缓冲区(或者如果您强行关闭设备),FAT 很容易损坏。这适用于使用 FAT 的 PC 和其他设备。因此,可能是重新启动导致了问题。删除 shell 可以是相关的,也可以是无关的 - shell 可能会定期执行一些刷新,这可以让您避免之前的问题。

FAT is prone to corruption if you don't flush filesystem buffers before rebooting (or if you forcefully turn off the device). This applies to both PCs and other devices that use FAT. So it's probably rebooting that causes the problem. Removal of shell can be related or unrelated - it's possible that shell performs some flushes periodically and this saved you from the issue before.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文