杨丕华
摘 要: 现今智能手机的功能越来越强大,需要大量的存储空间,手机内存已无法满足需求,需要存储卡来存储数据。文章以SD卡为例,分析了该卡的物理结构和数据存储原理,研究了其产生逻辑故障后的数据恢复过程,并利用WinSDCard和Winhex软件进行数据恢复。测试表明,该方法数据恢复效果较好,可用于个人数据恢复、嫌疑手机取证等。
关键词: 智能手机; SD卡; 数据恢复; 逻辑故障
中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2017)03-20-03
Abstract: Today's Smartphone features more and more powerful, requires a lot of storage space, so a memory card is needed to store the data, as the phone memory has been unable to meet the requirement. Taking the SD card as an example, this paper analyzes the physical structure of the card and the principle of data storage, studies the data recovery process after generating a logical fault, and uses software WinSDCard and Winhex to recover the data. The test results show that the method has a good recovery effect, and can be used for personal data recovery, mobile phone forensics, etc.
Key words: Smartphone; SD card; data recovery; logical fault
0 引言
智能手机在人们的工作和学习中扮演着越来越重要的角色,智能手机具备的功能越来越多,存储的数据量和所需的存储空间也越来越大。当手机本身的存储空间不能满足需求时,就需要安装数据存储卡。然而,用户在使用智能手机的过程中,由于各种主观或客观的原因,存储卡会经常出现重要数据丢失和损坏的情况,给用户造成非常大的损失。因此,为了尽可能替用户恢复数据,挽回损失,就需要探究手机存储卡的数据恢复方法。
目前,常用的手机存储卡主要有RS-MMC卡、SD卡等类型[1]。笔者以SD存储卡为例,在分析其数据存储结构与原理的基础上,使用WinSDCard和Winhex数据恢复软件,研究了数据恢复的具体方法。
1 SD卡数据存储原理
SD卡(Secure Digital Memory Card)是一种基于半导体Flash技术的新一代记忆设备。SD卡由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制[2]。SD卡体积小,其大小犹如一张邮票,重量只有2克,具有高记忆容量、数据传输速度快、可热插拔、极大的移动灵活性以及很好的安全性等优良的特性,它被广泛地用于便携式装置上,例如数码相机、数码摄像、个人数码助理(外语缩写PDA)、智能手机和多媒体播放器等。
SD卡可以通过市面上很普遍的USB接口读卡器即可将存储的测量数据读出,省略了耗时长且不安全的数据导出过程,价格便宜,容量较大,非常适合于长期测量系统的数据存储[3]。SD卡支持SD模式和SPI模式,其中SPI模式中使用的SPI接口在单片机系统中应用非常广泛,在SPI总线模式下,CS为主控制器向卡发送的片选信号,SCLK为主控制器向卡发送的时钟信号。DI(Data In)为主控制器向卡发送的单向数据信号,DO(Data Out)为卡向主控制器发送的单向数据信号[3]。SD卡的内部结构如图1所示。
2 SD卡数据损坏的原因
在日常使用中,SD卡会由于各种原因导致数据损坏,其原因可以归纳为物理损坏和逻辑故障两大类。
2.1 物理损坏
物理损坏主要是由于硬件发生故障、受损而造成的[4-5],具体表现形式及损坏原因如表1所示。
2.2 逻辑故障
逻辑损坏主要是由于软件受损而造成的[4-5],主要原因有以下几种。
⑴ 恶意破坏:主要包括各种病毒、木马对数据的损害,造成数据丢失。
⑵ 误删除、误格式化,将文件的首字节改为E5H。
⑶ 系統故障:比如在读写数据时,意外停止、拨出;拷贝数据未正式结束,就拨出、强行停止;在从电脑退出时,未按正常退出步骤操作,人为(弹)拨出等,造成数据无法找到,手机不能识别SD卡。
SD卡出现逻辑故障后,数据之间的关系出现错误,但是只要SD卡未有重复读写的操作,数据仍可以部分使用,数据恢复的希望还是比较大的。
3 SD卡数据恢复方法介绍
3.1 物理损坏的修复及避免方法
SD卡一旦由于物理原因造成数据损坏,必须请专业的硬件维修机构对数据进行恢复,需要对SD卡进行芯片级的维修,这不仅费用昂贵,而且数据也不一定能完全恢复,还容易造成电路烧毁,SD卡可能直接报废,给用户造成巨大的损失。因此,用户在使用智能手机存储卡时应注意以下几点,以避免发生物理损坏,造成重要数据损毁。
⑴ 及时对数据进行备份。用户应定期将文件拷贝至手机内存、电脑、移动硬盘或云盘。
⑵ 在读/写SD卡数据时,不要拔出SD卡。有些卡在系统拷贝进度条消失后仍处于工作状态,应等待读写状态灯熄灭后再拔下读卡器或存储卡。
⑶ 避免热插拔SD卡。若在开机状态插入新的SD卡,由于手机没有对卡进行初始化,可能造成无法正常识别,还可能损坏手机和存储卡。
⑷ 在智能手机电池电量不足时,尽量少读写SD卡。
3.2 逻辑故障的数据恢复方法
对于逻辑故障引起的数据丢失和损坏,只要数据区没有被彻底覆盖,用户通过相关软件的使用,一般都可以顺利恢复。比如误删除操作,实际上此时保存在硬盘中的文件并没有真正被完全覆盖,而是把指向数据存储空间的链条删除了,真正的数据还是以二进制的方式存储在SD上。只要这些数据不被覆盖,通过一些数据恢复软件,寻找主文件表中数据的存放位置,对这些存储数据的SD卡进行扫描,通过扫描找到存在的数据残段并进行数据修复并备份修复好的数据[6]。数据恢复流程见图2。
接下来,本文结合WinSDCard(SD存储卡数据备份软件)和Winhex数据恢复软件,介绍如何对数据出现逻辑故障的SD存储卡的数据进行恢复。主要过程分为两步:
第一步:利用WinSDCard软件将SD存储卡的数据复制成为一个RAW原始映像文件。
运行WinSDCard,然后插入装有SD卡的读卡器,WinSDCard会发现新插入的SD存储卡。选中该盘符,点击“Backup Image工作模式”,然后备份数据成为镜像文件。
第二步:使用Winhex软件恢复数据。
启动Winhex, 打开镜像后的文件。选择“工具/磁盘工具”菜单,使用“通过文件类型恢复”的功能菜单,在弹出的窗口中选择以下几种方式,对SD存储卡数据进行恢复操作:
⑴ “选择文件类型”:是指需要指定文件类型,如果要恢复的文件类型是WORD,那么就选择“Msword”文件类型;如果要添加没有在列表中的文件類型,可以选择“自定义”文件类型;
⑵ “输出文件夹”:是存放恢复后的文件,默认路径为“C:Recovery Disk U”,也可以自行设置文件路径;
⑶ “为每个文件类型创建子文件夹”选项是为每一种文件类型建立一个子目录,默认选中该功能;
⑷ “仅在选块中搜索”:是选择搜索模式,如果SD存储卡的容量不是很大,可以选择这个模式;如果SD存储卡容量很大,可以选择“搜索全部扇区边界”模式,如果想更精确,可以选择“完整的字节级搜索”字节搜索模式,这个模式的速度慢些;
⑸ 最后,点击“确定”,等待文件恢复。
经过上述步骤,数据恢复结束,退出程序。
4 结论
为测试采用本文方法恢复数据的效果,笔者首先对MICRO SD存储卡中的图片、文档和视频等不同数据类型的文件作删除操作,之后利用WinSDCard和Winhex软件恢复数据。实验证明,采用该方法恢复了95%的被删除的文件,而且内容恢复准确率达97%。
本文分析了SD存储卡的物理结构和数据存储原理,重点研究了SD卡的逻辑故障,提出了利用WinSDCard和Winhex软件进行数据恢复的方法,实践证明有很好的数据恢复效果。在实际操作中,为进一步提高内容恢复的准确率,还需尝试不同的数据恢复软件。
参考文献(References):
[1] 陶荣,饶佳艺,严丽娜等.智能手机RS-MMC存储卡数据恢复研究[J].电子设计工程,2012.20(17):180-182
[2] 周立功.ARM嵌入式系统软件开发实例(二)[M].北京航空航天大学出版社,2006.
[3] 刘素花,龚德俊,徐永平等.SD卡在海洋数据存储中的应用[J].海洋科学,2009.33(3):16-20
[4] 李志强.常见硬盘数据损坏的类型及恢复方法[J].硅谷,2011.23:124-126
[5] 杜江,贾昌海.基于Thumbs.db文件的数据恢复技术研究与开发[J].电子设计工程,2011.17:10-12
[6] 梁宇恩,沈建刚,梁启来.计算机数据恢复技术[M].西安电子科技大学出版社,2009.