我从事一些摄影工作,我试图使用 Nautilus 中的基本复制/粘贴功能将我最近的所有原始文件(.NEF 文件,因为我使用的是尼康相机)从 SD 卡复制到我已安装的硬盘(格式化为 NTFS)。在文件传输过程中,我的系统因某种未知原因崩溃(最近偶尔会发生这种情况,尽管我不认为安装的硬盘有问题)。当系统重新启动时,我尝试继续文件传输,但一直出现错误。然后我浏览 Nautilus 中的目标文件夹,它只是显示“文件夹为空”。担心之下,我转到命令行并收到以下输出ls
:
username@localhost:/path_to_main_folder/destination_directory$ ls
ls: reading directory '.': Input/output error
切换到主文件夹,我得到以下输出ls -l
:
username@localhost:/path_to_main_folder$ ll | grep destination_directory
drwxrwxrwx 1 username username 1036288 Apr 14 15:27 destination_directory/
因此,奇怪的是,ls
看到目标目录必须有相当大的内容,但实际上看不到目录内的内容。同样,cp
也吐出输入/输出错误。硬盘看起来没问题——所有其他文件都完好无损,只有那个文件夹。
有什么方法可以从这个损坏的目录中恢复这些数据?
答案1
我们将对您的硬盘进行 fsck(文件系统检查),运行 SMART 实用程序,并对硬盘进行坏块扫描以查找错误。
步骤1
要检查 Ubuntu 分区上的文件系统...
- 启动到 GRUB 菜单
- 选择高级选项
- 选择恢复模式
- 选择 Root 访问
- 在 # 提示符下,输入
sudo fsck -f /
- 如果有错误,请重复 fsck 命令
- 类型
reboot
要检查 NTFS HDD 上的文件系统...
- 启动进入 Windows
- 打开管理员命令提示符窗口
- 输入将
chkdsk /f d:
“d”更改为适当的驱动器号
第2步
- 启动至 Ubuntu Live DVD/USB
- 启动
Disks
应用程序 - 在左侧窗格中选择正确的磁盘
- 转到“汉堡包”图标并选择
SMART Data & Tests
- 审查故障数据
- 运行 SMART 测试
- 辞职
Disks
步骤#3
- 仍在 Ubuntu Live DVD/USB 中
- 打开
terminal
- 输入
sudo e2fsck -c -k /dev/sda
#扫描坏块- 笔记:将“sda”更改为“sdb”或其他正确的驱动器标识符
- 坏块扫描需要一段时间
- 观察任何表明发现{单个|多个}坏块的输出
- 如果没有,或者只有几个坏块,请重新启动并重试 Ubuntu
- 如果有很多坏块,请备份数据,更换硬盘