> 邮报

> 邮报

状态更新 01/17/22:
两个月后我仍然没有弄清楚如何从 Linux 访问存储空间。超级用户那里的好心人似乎也不知道。可能有办法做到这一点,但我还没有弄清楚。此后我删除了存储空间驱动器,备份并格式化了我的一半Windows,并搁置了这个项目。我可能会在某个时候再试一次,或者如果有人有其他想法,所以无论如何,如果您有想法,请提出来!在那之前,我将尽情享受我的 Linux 机器!

> 邮报

我对 Linux 还很陌生,所以请温柔点!我已经在网上搜索了几天,想找到一些方法来做到这一点,但在删除所有数据或其他东西之前,我已经认输了。

我是 Windows 的长期用户,拥有 2 个 1TB 驱动器,我使用 Windows 文件资源管理器在软件 raid 中配置了这些驱动器。我使用设置向导等的默认方式完成了此操作。这是我存储游戏、大量媒体等的地方......

我决定切换到主要使用 Linux 的机器,但如果我上大学需要的话,请为 Windows 双启动留出一些空间。 Steam 声称他们的整个库可以在 Linux 和 PopOS 上运行,并打包了 NVidia 驱动程序;我认为没有理由继续使用 Windows。我交换到基于 Ubuntu 的 PopOS 21.04 21.10。

奇妙的转折是,不知何故我删除了我的 Windows 启动分区(小的 EFI 分区),现在我无法再启动到 Windows。老实说,甚至可能没有 EFI 分区...无论哪种方式,我都无法再启动到 Windows,但我确实可以访问 NVMe 上的 Windows 安装。所有修复启动问题的方法都失败了。当我放弃搜索时,我可能会就此发表另一篇文章。我被困在 Linux 中(可能是为了更好),并且无法再访问我的 PC 上的 2TB 硬盘空间。


一些信息

当我查看这些驱动器时,lsblk我发现sda每个驱动器sdb都有两个分区。这两个分区都被列为未知格式。sda(b)1是 128MB 分区,sda(b)2是大存储分区。截图如下。

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 931.5G  0 disk 
├─sda1        8:1    0   128M  0 part 
└─sda2        8:2    0 931.4G  0 part 
sdb           8:16   0 931.5G  0 disk 
├─sdb1        8:17   0   128M  0 part 
└─sdb2        8:18   0 931.4G  0 part 
sdc           8:32   0 931.5G  0 disk 
├─sdc1        8:33   0   100M  0 part 
├─sdc2        8:34   0    16M  0 part 
└─sdc3        8:35   0 931.4G  0 part /media/faarie/487C2C9D7C2C87B0
nvme0n1     259:0    0 953.9G  0 disk 
├─nvme0n1p1 259:1    0    50M  0 part 
├─nvme0n1p2 259:2    0   483G  0 part 
├─nvme0n1p3 259:3    0   200M  0 part 
├─nvme0n1p4 259:4    0   128M  0 part 
├─nvme0n1p5 259:5    0   100M  0 part 
├─nvme0n1p6 259:6    0   100M  0 part 
├─nvme0n1p7 259:7    0 468.9G  0 part /
├─nvme0n1p8 259:8    0   500M  0 part /boot/efi
└─nvme0n1p9 259:9    0   499M  0 part

nvme0n1是我在 Windows 和 Linux 之间的分割启动驱动器。 p2 是 Windows 文件系统,p3 p4 p5 和 p9 是我在修复和创建 EFI 分区时的可怕执行...sda并且sdb是我的软件 raid 驱动器。sdc是我在 Windows 上使用的单个 1TB 驱动器,安装得很好。


尝试的解决方案

我尝试ldmtool --create all并在控制台中得到“[]”。我试过这个解决方案由此邮政正如我之前提到的,我还尝试了 ldmtool 解决方案。

我尝试mdadm --assemble --scan并得到了这个作为我的输出

mdadm: No arrays found in config file or automatically

还有一件事。我可以访问 USB 驱动器上的 Windows 10 安装介质。sdc在将文件移走后,我尝试安装 Windows 10,看看是否可以进入 Windows 并执行某些操作,但始终无法安装。

我不知道是否可以在安装介质中通过 CMD 拆除 RAID 而不会丢失数据,然后启动 Linux 并挂载每个驱动器?我还可以在安装介质中备份数据,如果数据无法保存,则拆除 RAID。我只需要一些关于如何做到这一点的指导。


更多信息

不管怎样,这是我的 fdisk -l 打印出来的内容,以防它有帮助:

root@pop-os:/home/faarie# fdisk -l
Disk /dev/nvme0n1: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
Disk model: INTEL SSDPEKNW010T8                     
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DB39829D-3C32-11EC-BA97-5CF3708894B3

Device              Start        End    Sectors   Size Type
/dev/nvme0n1p1       2048     104447     102400    50M Microsoft basic data
/dev/nvme0n1p2     104448 1013065727 1012961280   483G Microsoft basic data
/dev/nvme0n1p3 1013065728 1013475327     409600   200M EFI System
/dev/nvme0n1p4 1013475328 1013737471     262144   128M Microsoft reserved
/dev/nvme0n1p5 1013737472 1013942271     204800   100M EFI System
/dev/nvme0n1p6 1013942272 1014147071     204800   100M EFI System
/dev/nvme0n1p7 1014908928 1998358526  983449599 468.9G Linux filesystem
/dev/nvme0n1p8 1998358528 1999382526    1023999   500M EFI System
/dev/nvme0n1p9 1999382528 2000404479    1021952   499M Windows recovery environment


Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Hitachi HDS72101
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7E9C3F37-421E-11EB-BA75-5CF3708894B3

Device      Start        End    Sectors   Size Type
/dev/sda1    2048     264191     262144   128M Microsoft reserved
/dev/sda2  264192 1953523711 1953259520 931.4G Microsoft Storage Spaces


Disk /dev/sdb: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Hitachi HDS72101
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7E9C3F2F-421E-11EB-BA75-5CF3708894B3

Device      Start        End    Sectors   Size Type
/dev/sdb1    2048     264191     262144   128M Microsoft reserved
/dev/sdb2  264192 1953523711 1953259520 931.4G Microsoft Storage Spaces


Disk /dev/sdc: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Hitachi HDS72101
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0897C9BD-80E3-488A-925F-6774096DC888

Device      Start        End    Sectors   Size Type
/dev/sdc1    2048     206847     204800   100M EFI System
/dev/sdc2  206848     239615      32768    16M Microsoft reserved
/dev/sdc3  239616 1953523711 1953284096 931.4G Microsoft basic data

我不知道该怎么办。老实说,被困在 Linux 中真是太棒了。讽刺的是,我的游戏运行得更好,到目前为止这是一次很棒的体验。实际上,我正在考虑将 Windows 从 NVMe 迁移到 sdc,这样我就可以将整个 NVMe 交给 Linux。

我不太关心如何进入 RAID,无论是备份所有数据并重新格式化、将其作为完整的 RAID 访问还是进行某种转换。我就是不能丢失那里的数据。我了解到 Linux 非常强大,所以我希望有一个解决方案。请帮忙!



编辑将
标题中的“软件 RAID”更改为“标题中的 Windows 存储空间”
添加了存储标签

答案1

如果您仍然感兴趣,我也许可以恢复您的数据。自 2019 年以来,我一直在 Linux 中安装 Microsoft 存储空间逻辑卷,没有出现任何问题。我编写了一个程序,将存储空间 LV 映射转换为 linux dmsetup 表文件(精简配置 = 只读!固定配置可以挂载读/写,无需担心)。存储空间元数据似乎每隔几个月的 Windows 更新就会发生变化,因此我需要查看存储空间分区的前 1MiB 才能确定(并可能让您相信我是认真的),如通过 和 获得sudo dd if=/dev/sda2 of=sda2.dd bs=1M count=1的还/dev/sdb2

简单总结一下,在 Linux 中使用 hexedit,查看/dev/sda2(不要以 root 身份;那会很疯狂。相反,简单地授予您的用户读取权限,这样您就不会意外地更改单个字节)。存储空间分区以SPACEDBASCII 开头。该标头包含有关 PD 的信息。在偏移量 4096 处,您将看到SDBCASCII 格式的内容。该标头包含有关元数据数据库的信息。 512 字节之后,您将看到数百甚至数千个 64 字节块,每个块都以SDBBASCII 开头,然后依次递增的整数。其中每一个都是元数据记录,其中包含有关池、pds、lvs 以及 lv 块到 pd 板映射的信息。如果您以 UTF16-BE 格式查看它,您甚至会在其中的某个位置看到池、PD 和 LV 的“友好名称”。

答案2

看起来Windows RAID实际上是一种叫做Windows 存储空间这是专有的,Linux 不支持。我发现AskUbuntu 上的这个答案它声称它是基于 ReFS(另一种 MS 专有存储技术)构建的,可以使用ReFS Paragon 驱动程序。但这是商业软件,如果您只想挽救一些数据,这可能不是一个好的选择。我建议尝试使用以下命令来救援 Windows 安装Windows 恢复驱动器(或者与 Windows 世界类似的东西)并禁用 RAID 功能,这应该使数据可以从 Linux 读取(支持“正常”NTFS)。

相关内容