lvm – 使用64kb块大小从XFS中获取文件
|
我一直在执行一项任务,从我的2个完美工作,未损坏,未加密的NAS驱动器中恢复文件,这些驱动器曾经是RAID 1. NAS是Patriot Javelin S4,(我从我的研究中发现) )使用Promise Fasttrack假raid控制器. 这方面的信息非常稀缺,所以对于同样情况的谷歌来说,这里有一些关于这个NAS的事实: > RAID控制器:承诺FastTrack(FakeRaid) 这样做时我只有Windows 10和MacOS计算机,我发现没有能够在LVM2卷中安装XFS的软件(有1个例外,下面有更多内容).我不得不拿出我的旧上网本Acer Aspire One,并在其上安装puppy linux(特别是lxpup风味). 在小狗linux上,我设法使用名为dmraid的工具安装此文件系统.这个工具有一种安装pdc卷的方法,这是Promise FastTrack的id.一旦我设法跳过安装它的一些箍,我就获得了访问实际的XFS文件系统的权限,令我沮丧的是,它的块大小为64kb. 这是我开始谷歌搜索“读取xfs 64kb块大小”和无处可寻的东西.只有几个答案说:“linux不能读取大于4kb的块大小,除非你修补内核”.我不知道如何修补内核,我很困惑,没有任何类型的模拟允许这样做. 我在Win / Mac上无法读取此分区的应用程序中提到了1个异常.那个例外是ufsexplorer.这是一个100美元的应用程序,它能够无缝地显示文件.我复制了几个文件证明它有效,但试用版只允许复制微小的文件. 我拒绝相信没有任何复杂程度的免费开源工具无法帮助我读取64kb xfs. 我的问题是:有人知道任何这样的工具吗?关于如何使用一个或多个工具,内核修补或其他(免费)获取数据的任何具体说明都非常感谢. 还有一点:我非常希望不必创建这些驱动器的本地映像(除非这是唯一的方法).毕竟,这是2TB的数据,我可能没有这么大的空间. 附:如果有一个已知的Linux我可以在我的Acer上安装,可以读取64kb xfs,这也是一个可行的解决方案. 更新1:我刚刚了解了https://www.cgsecurity.org/wiki/TestDisk.可能值得一试.一旦我有时间尝试就会报告回来. 更新2:TestDisk似乎认识到XFS分区的存在,但我不确定如何从那里继续.我没有看到提取文件的方法,所以我暂时放弃它,并在Matthew的答案中尝试qemu方法. 解决方法我对你的问题进行了一些研究.不容易但看起来可行.打破你的代码区域就是这样(好吧,在更新的内核中): 271 /*
272 * Until this is fixed only page-sized or smaller data blocks work.
273 */
274 if (unlikely(sbp->sb_blocksize > PAGE_SIZE)) {
275 xfs_warn(mp,276 "File system with blocksize %d bytes. "
277 "Only pagesize (%ld) or less will currently work.",278 sbp->sb_blocksize,PAGE_SIZE);
279 return -ENOSYS;
280 }
它基本上要求XFS块大小至少等于系统页面大小. 这意味着两件事. >这是以前不了解的错误的解决方法. 我去检查了一个非常老的内核(EL4),上面的限制仍然存在.这意味着它根本不可能在您的体系结构(x86)上执行您想要执行的操作. 鉴于你提供了NAS的名字,我做了一些谷歌搜索并发现了这个: 这意味着它使用PPC CPU.
实际上,在PowerPC上,内核可以构建为使用64k页或4k页.这可以解释为什么块是64k,以及为什么你不能在你的机器上运行文件系统,之前它在自己的NAS上工作. 如果你想尝试打开文件系统 – 我认为你最好的选择是使用PPC64LE在虚拟机管理程序中运行虚拟机实例(我认为那是CPU的实际架构),Fedora用64k页面构建他们的PPC64LE. https://alt.fedoraproject.org/alt/ 您可以使用qemu执行此操作.这家伙似乎给出了一些关于你如何做这件事的(没有经过测试的)指示. https://rwmj.wordpress.com/tag/ppc64le/ 从那里,直接暴露VM中的磁盘并执行正常的dmraid / lvm / mount以访问驱动器. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何记录linux服务器配置?
- 更改ls命令的emacs bash颜色
- linux – 我可以在使用qsub提交后删除shell脚本而不影响作业
- linux – 如何使用busybox和openssl更改脚本中的用户密码?
- linux – 配置Systemd Service以使用root访问权限运行
- linux – 为什么重新启动导致我的ZFS镜像的一面成为UNAVAIL
- linux – 使用“uniq -c”命令时需要从输出中删除计数
- linux – cp -p会保留一些文件的时间但不是全部吗?
- linux – GCC处理不同优化级别的浮点数比较
- linux – warning:GDB:无法设置控制终端:参数无效
