奇怪的BUG:U盘插入打印机后文件目录为空,可读可写,写入内容无法在电脑端查看

本文主要是介绍奇怪的BUG:U盘插入打印机后文件目录为空,可读可写,写入内容无法在电脑端查看,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题描述

现象描述:从打印机扫描到U盘时,发现U盘目录为空(实际有在U盘中保存文件),扫描生成文件后,U盘插入电脑,文件目录正常显示,但找不到扫描件。再次将U盘插入打印机,可读取到前期扫描的文件并进行打印,打印内容和扫描内容完全一样。

现象总结:疑似打印机在访问U盘时使用了新的空间,与在电脑端识别到的空间不同。

软硬件环境:

  • 打印机:KONICA MINOLTA bizhub C3350i (支持从U盘打印、扫描到U盘)
  • U盘:Kingston DataTraveler 2.0 (7.25 GiB,比较老的一款,正常读写没问题,无故障历史)

排查过程:

  • 测试发现Windows电脑、MAC电脑和Linux电脑中,插入U盘均进入正常存储空间。
  • 测试发现插入U盘后打印机对新空间可读可写,由于打印机操作系统限制无法查看到U盘的属性,包括文件空间大小等信息。
  • 前期为了能在打印机上使用,专门将U盘格式化为FAT格式(打印机只能识别FAT格式,其他格式插入后不显示),其他FAT格式在打印机上测试未发现相同问题。

 

问题解决 

故障原因:采用分区编辑器(其他磁盘工具,例如分区助手、diskgenius也可以)查看U盘,发现被分为两个区,均为FAT格式,按存储单元顺序存在的第一分区,标识为EFI+BIOS,空间为200MB,在电脑设备中会被默认视为存放引导文件的空间,不可见,第二分区为可见的数据区,标识为msfdata,空间为7G左右。打印机默认读取了第一分区,并在其中进行读写操作,并且只能挂载一个分区,忽略了第二分区。

因为U盘前期用于做了启动盘,后期使用后直接格式化了,导致第一分区为空,格式化时未注意到这一点,从而看起来像打印机使用了全新的分区空间。

故障截图:

 我的电脑里的磁盘只有第二个分区可以被读取,第一个分区默认是不可见的。

 分区顺序应该是按照sda1->2->3->...的顺序来的。

解决方法:(后两个方法会丢弃原来扫描到不可见分区的文件)

  • 方法一:将第二分区分出来一部分空间,创建第三分区,将第一分区的内容拷贝进第三分区。执行后重新插入U盘,此时电脑将分配两个盘符,并在存储中显示两个磁盘,可以在第二个磁盘中找到想要的文件。
  • 方法二:删除第一分区和第二分区(需提前将数据拷出备份),重新分区U盘,将U盘分为一个分区,并重新使用打印机扫描。
  • 有问题待进一步解决的方法:将第一分区删除后,将第二分区扩容至全部空间,然后重新扫描。(此方法会产生新问题:U盘插入打印机后无法被识别,即使分区为FAT格式也无法识别,但在电脑端均可以正常读写,疑似分区路径未修改,仍然为/dev/sda2造成的【之前删掉的第一分区为/dev/sda1】)

删除第一分区后,分区号不变,仍然为sda2:

 即使将分区sda2的空间起始点移动到最起始的位置,也仍然无法在打印机上识别,刷新后分区仍然为/dev/sda2:

据此猜测,打印机只支持读取首个分区,即/dev/sda2

最终将U盘整成以下这个样子就可以正常在打印机和电脑之间使用了(方法2):

  

学习资料

EFI系统分区(英语:EFI system partition,简写为ESP),是一个FAT格式的磁盘分割,但是其分区标识是EF (十六进制) 而非常规的0E或0C,因此,该分区在Windows操作系统下一般是不可见的。UEFI固件可从ESP加载EFI启动程式或者EFI应用程式。

EFI分区通常大小约为100-200MB,用于系统启动,引导硬件设备加载操作系统。

efi是如何引导系统启动的?

EFI分区简单来说相当于一块固定在存储空间开头位置的区域,安装系统时会将程序的入口文件放在这个位置,硬件(主板)将从这个入口文件开始加载启动,并由此进入系统。(有点类似于点击微信的exe文件启动后,微信才会正常打开,硬件固定到这个区域去找这样的启动文件,操作系统厂商只需要把引导文件放在这里即可)。由于之前用U盘重装系统,需要从U盘启动微PE,首个分区被设置为EFI,并被隐藏,以保证不受破坏或不被格式化(这个引导文件很重要)。

EFI分区内通常包含哪些内容?

Boot是计算机默认引导文件所在的目录,Microsoft是微软Windows系统引导所在的目录。
Boot目录:


Microsoft目录:


Microsoft\Boot目录:


上图中红框内的bootmgfw.efi就是windows默认的系统引导文件。

更多资料:

EFI系统引导的一些零碎知识点:https://www.bbsmax.com/A/KE5QK81ZzL/
更高级的UEFI引导过程:https://blog.csdn.net/qq_42584874/article/details/123702759

这篇关于奇怪的BUG:U盘插入打印机后文件目录为空,可读可写,写入内容无法在电脑端查看的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275999

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

使用Qt编程QtNetwork无法使用

使用 VS 构建 Qt 项目时 QtNetwork 无法使用的问题 - 摘叶飞镖 - 博客园 (cnblogs.com) 另外,强烈建议在使用QNetworkAccessManager之前看看这篇文章: Qt 之 QNetworkAccessManager踏坑记录-CSDN博客 C++ Qt开发:QNetworkAccessManager网络接口组件 阅读目录 1.1 通用API函数