被格式化的硬盘,怎么写C#程序找回数据?磁盘写入数据的顺序是什么?

秋的红果实 2017-11-22 08:56:53
硬盘误格式化,假设就是快速格式化,只是清除了文件列表,如何找到真正的内容?
用C#是不是可以实现,有没有弄过的大侠,说下思路

另外,他是海康威视监控用的硬盘,共录了4天,格式化后,又录了半天,然后关闭断电。
格式化后,录的新数据(真正的数据,不是文件列表),存入硬盘的顺序是什么,从低地址依次存入吗?还是有什么规则
...全文
554 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2018-03-29
  • 打赏
  • 举报
回复
引用 12 楼 From_TaiWan 的回复:
感谢大家! 看来,是我自己把问题想简单了,原以为遍历整个磁盘,重建文件列表……,就可以了 数据已经恢复了,画300买了软件,自己恢复的。 有空了,好好研究下原理
你没下我的资源?晕。白白浪费300块。
threenewbee 2017-12-10
  • 打赏
  • 举报
回复
http://download.csdn.net/download/caozhy/9930898
圣殿骑士18 2017-12-10
  • 打赏
  • 举报
回复
10年前,我安装系统误将硬盘格式化,里边都是工作用的程序和文档,后来找数据恢复公司,花了500块都恢复了。
  • 打赏
  • 举报
回复
使用及其“危险的”程序方式,直接进行内存和磁盘I/O底层操作,你对 windows 文件系统非常精通,经过成千上万次实验,那么编写这种程序完全可以啊。用c#还是c,都可行。关键在于你对于 windows 操作系统的本身数据结构要非常了解。但是一般的专业开发人员也不钻研这个,这种情况,我觉得比种100万元彩票难。
  • 打赏
  • 举报
回复
引用 4 楼 xomix 的回复:
[quote=引用 3 楼 From_TaiWan 的回复:] 汇编以前学过点,早忘了,不知道用C语言可以不
这就不知道了,C的底层有没有到磁道和扇区的接口我真的不知道。 说起来汇编真的是足够底层。[/quote] 汇编、c 或者甚至是 true basic语言,这并不是问题,都能进行 i/o 操作,只不过是语法是否足够简单而已。汇编最简单,c语言接近于汇编,而高级语言则需要复杂的语法、甚至调用一些特殊序列化方法才能(不安全地)读写内存数据块。
  • 打赏
  • 举报
回复
我得动硬盘里边有上百G有用的文件,刚刚格式化,然后赶紧“恢复”,恢复的没有一个有用的文件,只好放弃。 要自己写程序“恢复数据”,这就好像是去找恐龙化石,只要你去专门学习 windows 磁盘操作系统的源代码就行了。一般人只用磁盘操作系统,不学这个。
xuzuning 2017-12-10
  • 打赏
  • 举报
回复
自己写的话涉及太多专业知识,不如下载一个 UNFORMAT 软件运行之
秋的红果实 2017-12-10
  • 打赏
  • 举报
回复
结不了帖子,请版主帮忙,提示:分数分配与总分不符。
秋的红果实 2017-12-10
  • 打赏
  • 举报
回复
感谢大家! 看来,是我自己把问题想简单了,原以为遍历整个磁盘,重建文件列表……,就可以了 数据已经恢复了,画300买了软件,自己恢复的。 有空了,好好研究下原理
秋的红果实 2017-12-09
  • 打赏
  • 举报
回复
无法结帖,提示:分配的分数和总分不匹配!
  • 打赏
  • 举报
回复
引用 3 楼 From_TaiWan 的回复:
汇编以前学过点,早忘了,不知道用C语言可以不
这就不知道了,C的底层有没有到磁道和扇区的接口我真的不知道。 说起来汇编真的是足够底层。
秋的红果实 2017-11-22
  • 打赏
  • 举报
回复
汇编以前学过点,早忘了,不知道用C语言可以不
秋的红果实 2017-11-22
  • 打赏
  • 举报
回复
引用 1 楼 xomix 的回复:
好像没有直接操作磁盘扇区的官方方法或接口。 WindowsAPI好像也不到很底层。 所以如果你要处理这些……建议是调用汇编写的底层数据操作。 汇编我记得是把0磁道数据全部读出来,然后根据读出的数据尝试重建文件分配表。 至于更详细的我当年真的只用工具处理,没有接触过了。 还能记得当年硬盘0道损坏,debug搬家0道到27道……我现在已经完全不会做了。
你的回复很有价值,谢谢
  • 打赏
  • 举报
回复
好像没有直接操作磁盘扇区的官方方法或接口。 WindowsAPI好像也不到很底层。 所以如果你要处理这些……建议是调用汇编写的底层数据操作。 汇编我记得是把0磁道数据全部读出来,然后根据读出的数据尝试重建文件分配表。 至于更详细的我当年真的只用工具处理,没有接触过了。 还能记得当年硬盘0道损坏,debug搬家0道到27道……我现在已经完全不会做了。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧