我在外部硬盘驱动器分区sdb4上有一个I / O错误(它通常的挂载点是/ run / media / yan / data).

分区没有响应,无法访问并拒绝卸载.我不知道该怎么办但拔下磁盘并重新插上它.之后我的fs出错,所以我运行了fsck:

sudo e2fsck /dev/sdb4 -y -v

它要求许多修复(数千),但由于数据在该磁盘上不重要,我用-y运行它.

data contains a file system with errors, check forced.

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

# Fixed invalid inode numbers, incorrect filetypes, cleared links, deleted/unused inodes

Pass 3: Checking directory connectivity

# Connected unconnected directory inodes to /lost+found

Pass 4: Checking reference counts

#Fix inodes ref count, connected unattached inode to /lost+found

Pass 5: Checking group summary information

# Fix block bitmap differences, blocks count wrong for group

# Fix inode bitmap differences, directories count wrong for group, free inodes count wrong for group

data: ***** FILE SYSTEM WAS MODIFIED *****

72955 inodes used (0.14%, out of 51200000)

2390 non-contiguous files (3.3%)

17 non-contiguous directories (0.0%)

# of inodes with ind/dind/tind blocks: 0/0/0

Extent depth histogram: 72264/636/1

186984621 blocks used (91.30%, out of 204800000)

0 bad blocks

34 large files

70447 regular files

2453 directories

0 character device files

0 block device files

0 fifos

4294966642 links

46 symbolic links (46 fast symbolic links)

0 sockets

------------

71063 files

因此,如果我理解正确,fsck设法挽救70k文件,因此大多数文件因为我在该磁盘上有75-80k文件.问题是只有20k文件出现在’/ run / media / yan / data / lost found’中,而整个分区上只有24k.

[yan@machine ~]$find /run/media/yan/data/lost+found | wc -l

19786

[yan@machine ~]$find /run/media/yan/data | wc -l

23691

我重新fsck,但他告诉我分区是明确的(并有74k文件?)

[yan@machine ~]$sudo fsck /dev/sdb4

fsck from util-linux 2.28

e2fsck 1.42.13 (17-May-2015)

data: clean, 74200/51200000 files, 186685980/204800000 blocks[/cpp]

根据df和du我也有非常不同的磁盘使用量(我知道应该有区别,但这里似乎太大而不正常):

[yan@machine ~]$df -h /run/media/yan/data

Filesystem Size Used Avail Use% Mounted on

/dev/sdb4 769G 700G 31G 96% /run/media/yan/data

[yan@machine ~]$du -sh /run/media/yan/data

586G /run/media/yan/data

我猜测仍有无法访问的恢复数据.

我的问题是:

1)fsck恢复的文件是否可能不会丢失?在那种情况下,他们在哪里?

2)有没有办法找回那些丢失的文件?

3)如果没有,我如何释放这个空间?

编辑:

我在sourcejedi的推荐上尝试了更新版本的e2fsck:

[yan@machine build]$sudo ./e2fsck/e2fsck -f /dev/sdb4

e2fsck 1.43.3 (04-Sep-2016)

Pass 1: Checking inodes, blocks, and sizes

Inode 40501578 extent tree (at level 2) could be narrower. Fix? yes

Pass 1E: Optimizing extent trees

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

data: ***** FILE SYSTEM WAS MODIFIED *****

data: 74200/51200000 files (3.2% non-contiguous), 186685964/204800000 blocks

它没有做太多,丢失发现仍然具有相同的文件数和大小.

解决方法:

我还注意到链接数非常可疑(接近2 ^ 32).

你可以尝试更新的e2fsck,和/或报告错误.这肯定是一个错误.

使用photorec扫描设备/分区可能会恢复更多文件,其中支持格式并且它们是连续的.由于您的FS已满,许多文件不是​​连续的. photorec不会恢复文件名或目录. (例如,如果它们是mp3,你可以使用类似picard的东西来应用mp3元数据中的文件名,即ID3标签).注意photorec需要另一个文件系统上的可用空间,以恢复所有文件.

标签:linux,fsck,data-recovery,e2fsck

来源: https://codeday.me/bug/20190813/1650121.html

Linux fs清理文件,linux – 在fs崩溃并运行fsck之后,一些文件被恢复但是找不到丢失的文件?...相关推荐

  1. 无法打开模块文件“C:\Users\sq\AppData\Local\Temp\.NETFramework,Version=v4.5,AssemblyAttributes.vb”:系统找不到指定的文件

    打开vs2012,打算重新生成一下自己的程序,但是,却提示: 无法打开模块文件"C:\Users\sq\AppData\Local\Temp\.NETFramework,Version=v4 ...

  2. linux系统清理内存,Linux实验室:五个清理磁盘空间小妙招

    1删除安装包:清空系统APT缓存 玩儿电脑最怕的就是卡慢,那么电脑卡慢应该怎么解决呢?对于windows系统来说,你可能有各种免费的杀毒软件.全家桶帮你清空系统空间,那么Linux系统怎么办?今天笔者 ...

  3. linux下清理脚本,linux通用清理脚本

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. #!/bin/sh ########################### #delete ...

  4. 如何恢复USB移动设备上丢失的文件?

    什么是USB移动设备? 一款体积小.可携带的移动盘能插入电脑上的USB接口,功能就跟外接式硬盘一样. USB移动设备被人追捧易于使用,是因为它们体积小到可以放在口袋中携带,并可以插入带有USB接口的任 ...

  5. linux 进程 清理,总结linux清理垃圾命令

    Ubuntu Linux与Windows系统不同,Ubuntu Linux不会产生无用垃圾文件,但是在升级缓存中,Ubuntu Linux不会自动删除这些文件,今天就来说说这些垃圾文件清理方法. 1, ...

  6. linux 怎样清理内存,linux清理内存命令(示例代码)

    1.清理前内存使用情况 free -m 2.开始清理 echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况 free -m 4.完成! 查看内存条数命令: ...

  7. linux下清理信号量,Linux下进程间通信方式——信号量(Semaphore)

    1.信号量 信号量本质上是一个计数器(不设置全局变量是因为进程间是相互独立的,而这不一定能看到,看到也不能保证++引用计数为原子操作),用于多进程对共享数据对象的读取,它和管道有所不同,它不以传送数据 ...

  8. linux 内存清理cached,Linux cached内存释放

    查看系统内存使用情况 使用 free 命令,可以查看内存使用情况: free -s 2; 可以两秒刷新一次查看. 可以看到 cached 几乎占用了所有的内存. 释放 cached 内存 释放方法有三 ...

  9. linux下清理信号量,Linux下kill的信号量列表

    Linux下kill的信号量列表 kill -s SIGSTOP PID i.e. kill -s SIGSTOP PID (暂停进程) kill -s SIGCONT PID (恢复运行进程) #d ...

最新文章

  1. Python 字符串判断字母 数字 大小写
  2. 深度学习笔记4:Self-Taught Learning and Unsupervised Feature Learning
  3. Linux学习之系统编程篇:与信号捕捉有关的函数(signal / sigaction)
  4. VS2015 将*.xaml.cs文件包裹在*.xaml文件下
  5. iOS之实现“摇一摇”与“扫一扫”功能
  6. python后端将svc文件数据读入数据库具体实现
  7. php将数字转化为中文大写人民币格式
  8. mxnet深度学习(NDArray)
  9. 官司缠身!马斯克和特斯拉目前面临数十起诉讼和调查
  10. Redis企业级数据备份与恢复方案
  11. atmega328p引脚图_Arduino UNO兼容ATmega328开发板-Seeeduino v4.0,附原理图/PCB/使用说明等...
  12. boost::asio 阻塞卡顿问题
  13. linux环境使用c语言获取当前目录下有哪些文件,并打印它们的名字
  14. NOIP 模拟题 国际跳棋
  15. 操作系统存储管理之虚拟存储与分页式虚拟存储系统
  16. python考拉兹猜想_Python练习题 042:Project Euler 014:最长的考拉兹序列
  17. 使用gdiplus显示gif图片
  18. Ph P Manual
  19. 牵手·············
  20. 香蕉派 BPI-P2 Zero 四核开源物联网开发板,支持PoE网络供电

热门文章

  1. 清空UIWebView历史网页
  2. 本地连接ipv4无网络访问权限解决办法
  3. 是男人就要坚持30秒:原生JS小游戏
  4. oj 3014 文件格式变换
  5. 毕业了,说几句真心话+献上自导自演的毕业照吧
  6. Makerdown小白使用指南
  7. webStrom使用gitee管理代码
  8. 截至2017 年 2 月全球桌面操作系统市场份额:Linux 占 2.05%...
  9. Java腾讯云支付对接
  10. “笨办法”学Python3,Zed A. Shaw, 习题13