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以访问驱动器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |