前段时间我家里有一个RAID5系统。4 个磁盘中的一个出现故障,但在移除并放回后似乎没问题,所以我开始重新同步。当它完成时,我惊恐地意识到 4 个磁盘中有 3 个出现故障。但是我不相信这是可能的。磁盘上有多个分区,每个分区是不同 RAID 阵列的一部分。
md0 和 md2 报告所有磁盘已启动,而 md1 报告 3 个失败(sdb2、sdc2、sdd2)。我的理解是,当硬盘驱动器出现故障时,所有分区都应该丢失,而不仅仅是中间的分区。
那时我关闭了计算机并拔掉了驱动器。从那时起,我使用那台计算机和一个较小的新磁盘。
有没有希望恢复数据?我能以某种方式说服 mdadm 我的磁盘实际上在工作吗?唯一可能真正有问题的磁盘是 sdc,但其他阵列也报告了该磁盘。
更新
我终于有机会连接旧磁盘并从 SystemRescueCd 启动这台机器。以上都是凭记忆写的。现在我有一些硬数据。这是输出mdadm --examine /dev/sd*2
/dev/sda2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 …Run Code Online (Sandbox Code Playgroud) 我试过 dd, dd_rescue和ddrescue,都失败了。我认为这些工具绕过文件系统并进行按位复制。
dd 被愚弄了,它完成了但只是生成一个小文件并说明它已完成。
dd_rescuse 和 ddrescue 抱怨读取错误并且速度慢得令人无法忍受。这些工具只能在 10 分钟内复制几 MB。
重要提示:VLC 无法打开 DVD。
为什么会发生这种情况,为什么这些工具会失败?
AnyDVD可以在一秒钟内将光盘复制到 Win7 主机上。它说 UDF 文件系统已打补丁,奇怪的是,它还说没有坏扇区。可以在 10 分钟内复制整个光盘。
更新:至于解决方案,请参阅我在 superuser 上的类似问题。
我有一个包含大约 2000 个文件的目录。
我运行以下命令将这 2000 个文件移动到目标目录中:
find /opt/alfresco \
-type f \( -iname \*.pdf -o -iname \*.xml \) \
-exec mv {} /opt/alfresco/archived/2020-01-07 \; > /opt/alfresco/scripts/move.log
Run Code Online (Sandbox Code Playgroud)
但是,我忘了/在目标路径的末尾附加一个。所以上面的命令所做的是,它创建了一个带有名称的文件,2020-01-07并向其中写入了一些现在不可读的二进制内容。我的 2000 个文件不见了。此2020-01-07文件的大小为 220 KB。但那 2000 个文件的总大小约为 1 GB。
有什么办法可以恢复那 2000 个文件吗?或者我可以通过什么方式将此文件转换2020-01-07为2020-01-07我的数据返回的目录?
我有一台需要启动的计算机,但密码似乎是假的。另外我不能挂载写驱动,而且它是一个mips处理器,所以我不能把它放在另一台机器上运行它。
无论如何,他们的passwd文件有一些看起来像这样的用户,用户名后面有一个星号。这意味着空白密码还是什么?
root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
daemon:*:1:1:daemons:/:/dev/null
bin:*:2:2:System Tools Owner:/bin:/dev/null
uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh
Run Code Online (Sandbox Code Playgroud) 我使用 Kate 进行编码和记笔记。有时它会崩溃——通常是当我有很多空的时候。未保存的“真实”文档(例如,由文件支持的文档,在某些时候已保存)通常有一个备份/自动保存类型的恢复文件,或多或少是有效的。不幸的是,我已经习惯于使用未命名的缓冲区(例如,按下CtrlnKate)来存储临时笔记。
凯特刚刚坠毁,我失去了其中的六个。Kate 是否在任何地方存储“新”文件的备份?我查了一下,~/.kde/share/apps/kate/没有看到明显的东西...
kate-editor 3.8.5
KDE 4.8.5
Ubuntu 12.04 (Don't remember if Kubuntu or Ubuntu + KDE, in case that makes a difference)
Run Code Online (Sandbox Code Playgroud) 我突然需要恢复一个旧tar.gz文件,但是一旦我执行了:
tar -zxvf filename.tar.gz
Run Code Online (Sandbox Code Playgroud)
我明白了:
gzip: stdin: invalid compressed data--format violated
tar: Child returned status 1
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud) 我不小心将一个 512 字节的二进制文件写入了错误的 USB 磁盘,dd并且该设备不再显示任何分区fdisk。
我以为所有数据都消失了,但dd if=/dev/sdx | strings显示数据似乎仍然存在,因为dd幸运的是将其限制在前 512 个字节。有什么办法可以恢复吗?
磁盘有两个分区:一个 ext4 (~4GB) 一个,剩下的 16GB 被格式化为 NTFS。
我使用终端将文件从一个驱动器复制到另一个驱动器。
sudo mv -vi /location/to/drive1/ /location/to/drive2/
Run Code Online (Sandbox Code Playgroud)
然而,在创建目录后,它突然停止了,几个小时后,并且没有错误。
我自己的解决方案通常是散列和比较的混合,这主要是一个耗时的混乱,因为我现在必须从中间副本中恢复而不真正知道丢失了哪些文件(为 zsh 编写了很长的单行代码 - 请注意此脚本在编写的 bash 中不起作用):
source_directory="/path/to/source_directory/";
target_directory="/path/to/target_directory/";
while read hash_and_file; do {
echo "${hash_and_file}" | read hash file;
echo "${file}" | sed "s/^/${source_directory}/g" | read copy_from;
echo "${copy_from}" | sed "s/${source_directory}/${target_directory}/g" | read copy_to;
mv -v "${copy_from}" "${copy_to}" | tee -a log;
rm -v "${copy_from}" | tee -a log; };
done <<<$(
comm -23 <( find ${source_directory} -type f -exec sha256sum "{}" \; |
sed "s: ${source_directory}: :g" | sort;
) …Run Code Online (Sandbox Code Playgroud) 我不小心删除了 /etc/redhat-release 文件。如何恢复或创建一个新的?我有 CentOS Linux 版本 7.0.1406(核心)。
我正在从 1 TB 故障驱动器中抢救数据(在更换硬盘的过程中询问过它?)。我ddrescue从系统救援 USB 中完成了 557568 B 在 191 个错误中产生的错误大小,可能全部在/home(我假设它所谓的“错误”不是坏扇区,而是它们的连续序列)。
现在,我看到的几个指南建议e2fsck在新磁盘上做,我希望这会以某种方式发现某些文件已被分配“空白扇区/块”,至少知道哪些文件无法保存所有的。但是根本没有发现任何错误(我运行它但没有-y确保我没有遗漏任何东西)。现在我用 再次运行它-c,但到目前为止 95% 没有发现错误;我想我有一个新驱动器,里面有一些看起来正常的文件,里面有归零或随机的部分,直到我用相应的软件打开它们或 Linux Mint 需要它们时才能检测到它们。
我可以对旧/新驱动器做任何事情以获得可能损坏的文件的列表吗?我不知道它们有多少,因为那 191 个可以跨文件,但至少总大小并不大;我最关心的是一大堆旧的家庭照片和视频(每个 1+ MB),其余的可能无关紧要或最近已备份。
更新:e2fsck 的新通行证确实提供了一些新的东西,我对此一无所知:
Block bitmap differences: +231216947 +(231216964--231216965) +231216970 +231217707 +231217852 +(231217870--231217871) +231218486
Fix<y>? yes
Free blocks count wrong for group #7056 (497, counted=488).
Fix<y>? yes
Free blocks count wrong (44259598, counted=44259589).
Fix<y>? yes
Run Code Online (Sandbox Code Playgroud)