使用Linux恢复Windows跨磁盘(LDM)?

使用Linux恢复Windows跨磁盘(LDM)?,第1张

概述是否可以在 Linux中读取Windows 2008 LDM分区? 我们有五个512GB LUN通过ISCSI导出到死Windows 2008,这个盒子不再需要它们了. Windows认为它们现在是原始设备……所以我想用Linux读取分区.我正在使用最新的ubuntu来尝试保存至少一些数据.问题是我到目前为止找到的所有文档似乎都已过时(经常谈论w2k或XP逻辑磁盘管理器(LDM).但我认为现在它与 是否可以在 Linux中读取windows 2008 LDM分区?

我们有五个512GB LUN通过ISCSI导出到死windows 2008,这个盒子不再需要它们了. windows认为它们现在是原始设备……所以我想用linux读取分区.我正在使用最新的ubuntu来尝试保存至少一些数据.问题是我到目前为止找到的所有文档似乎都已过时(经常谈论w2k或XP逻辑磁盘管理器(LDM).但我认为现在它与2008年不同.

Testdisk [0]给我以下输出

testdisk /List LUN01Testdisk 6.11,Data Recovery Utility,April 2009Christophe GRENIER <[email protected]>http://www.cgsecurity.orgPlease wait...disk LUN01 - 536 GB / 500 GiB - CHS 65271 255 63,sector size=512disk LUN01 - 536 GB / 500 GiB - CHS 65271 255 63     Partition                  Start        End    Size in sectors 1 P MS LDM MetaData               34       2081       2048 [LDM Metadata partition]No FAT,NTFS,EXT2,JFS,Reiser,cramfs or XFS marker 2 P MS Reserved                 2082     262177     260096 [Microsoft reserved partition] 2 P MS Reserved                 2082     262177     260096 [Microsoft reserved partition] 3 P MS LDM Data               262178 1048576966 1048314789 [LDM data partition]

注意:5 LUN中的每一个都具有相同的分区表.

在许多文献[1]中,他们谈论的是ldminfo,它不会返回任何有用的信息.我怀疑它现在已经过时,只是因为它很难找到:)而且因为它不起作用我猜windows 2008使用不同的格式.

# ldminfo LUN01Something went wrong,skipPing device 'LUN01'# losetup /dev/loop1 LUN01# losetup -a/dev/loop1: [fd00]:14 (/mnt/LUN01)# ldminfo /dev/loop1 Something went wrong,skipPing device '/dev/loop1'

然后,我尝试用dmsetup连接它们,但再次没有运气.这就是我使用dmsetup的方式:

# losetup /dev/loop1 LUN01# losetup /dev/loop2 LUN02# losetup /dev/loop3 LUN03# losetup /dev/loop4 LUN04# losetup /dev/loop5 LUN05# blockdev --getsize /dev/loop11048577000# cat > w2008.mapPing# Offset into   Size of this    RaID type       Device          Start sector# volume        device                                          of device0               1048577000  linear          /dev/loop1       01048577000      1048577000  linear          /dev/loop2       02097154000      1048577000  linear          /dev/loop3       03145731000      1048577000  linear          /dev/loop4       04194308000      1048577000  linear          /dev/loop5       0# dmsetup create myfs w2008.mapPing# mount -t ntfs /dev/mapper/myfs /mnt/finalNTFS signature is missing.Failed to mount '/dev/loop1': InvalID argumentThe device '/dev/loop1' doesn't seem to have a valID NTFS.Maybe the wrong device is used? Or the whole disk instead of apartition (e.g. /dev/sda,not /dev/sda1)? Or the other way around?# echo Poo.

所以仍然没有NTFS文件系统:)

有没有人对如何从那里提取数据或给我一些指示有任何想法?

> [0]:http://www.cgsecurity.org/wiki/TestDisk
> [1]:http://www.kernel.org/doc/Documentation/filesystems/ntfs.txt

解决方法 这是(更容易)答案,现在ldmtool存在. ldmtool读取LDM(也称为windows动态磁盘)元数据,并且(除其他外)为相应的驱动器,分区和RAID阵列创建设备映射器条目,允许您随后像linux中的其他块设备一样访问和安装它们.

该程序确实有一些限制,主要是因为它根本不修改LDM元数据.因此,您无法在linux中创建LDM磁盘(请使用windows),并且不应以读写模式安装缺少磁盘的RAID卷. (ldmtool不会修改元数据以反映这种情况,并且下次windows组装RAID阵列时,会出现问题,因为并非所有驱动器都会同步.)

以下是要遵循的步骤:

>安装ldmtool.在Debian和Ubuntu系统上,输入apt-get install ldmtool.在大多数其他最新的linux发行版中应该同样容易.
>运行ldmtool create all.
>您现在应该在/ dev / mapper中有一堆新条目.找到正确的一个(在我的例子中,是一个RAID1数组,所以/ dev / mapper / ldm_vol_VolnameHERE-Dg0_Volume2),然后使用mount -t ntfs / dev / mapper / ldm_vol_VolnameHERE-Dg0_Volume2之类的东西来安装它.

要在引导时自动完成此 *** 作,您可能需要在挂载/ etc / fstab的内容之前,在引导顺序中的正确位置插入对ldm create all的调用.拨打电话的好方法是:

[ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true

但是,如何让这个代码片段在启动过程中的正确时间运行会有很大的不同,具体取决于您使用的分发版本.对于Ubuntu 13.10,我在/etc/init/mountall.conf中插入了该行,就在脚本部分末尾的exec mountall …调用之前.我现在可以在/ etc / fstab中安装我的windows LDM RAID1分区.请享用!

总结

以上是内存溢出为你收集整理的使用Linux恢复Windows跨磁盘(LDM)?全部内容,希望文章能够帮你解决使用Linux恢复Windows跨磁盘(LDM)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1032934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存