想让 Windows 读取 Linux RAID 阵列?三步装好 WinMD,mdadm 数据直接挂载

📅 2026/8/17 20:29:55
想让 Windows 读取 Linux RAID 阵列?三步装好 WinMD,mdadm 数据直接挂载
想让 Windows 读取 Linux RAID 阵列三步装好 WinMDmdadm 数据直接挂载【免费下载链接】winmdWinMD项目地址: https://gitcode.com/gh_mirrors/wi/winmd四块硬盘从退役的 Linux 服务器拆下来插进 Windows 工作机磁盘管理里却只有四个未分配的裸盘——这正是WinMD要解决的Windows 读取 Linux RAID难题让 Windows 直接认下 mdadm 创建的软件阵列数据不再被锁在 Linux 里。先讲一个每天都在发生的故事老张的处境就是这么来的。公司那台跑业务的 Linux 服务器该退役了机器可以淘汰但里面三年的财务数据不能丢。他把阵列里的磁盘挨个拆下来满怀期待地插到 Windows 工作机上——结果系统只当它们是几块陌生的裸盘既认不出曾经的分区也读不出任何文件。在 Linux 世界里mdadm几乎是软件 RAID 的代名词运维用它把几块磁盘拼成 RAID 0、RAID 1、RAID 5……性能和冗余都安排得明明白白。可惜 Windows 天生不认这套体系磁盘一旦离开 Linux就成了失忆的硬盘。那么有没有办法让 Windows 自己读懂这套阵列而不是被迫搬出虚拟机、或者找一台 Linux 机器临时中转解药一个会翻译的驱动程序答案是肯定的。WinMD是一个运行在 Windows 内核态的驱动它的全部工作可以浓缩成一句话读取 mdadm 写在磁盘上的超级块还原阵列的成员与布局再把整个阵列虚拟成一个 Windows 认识的磁盘卷。你可以把它理解成一位翻译官Linux 阵列用一套专属暗号超级块记录自己是谁、由哪几块盘组成、条带怎么切WinMD 在 Windows 这边把暗号逐条解码再转述给 Windows 的存储体系。于是熟悉的阵列卷就出现在了磁盘管理里。更贴心的是它同时认 1.0、1.1、1.2 三个版本的超级块——这基本覆盖了当前 mdadm 的主流配置。三步逆转mdadm 阵列挂载方法从插上没用到即插即用原理先放一边装起来体验一下最快。整个过程短得让你怀疑是不是漏了哪一步。第一步拿到驱动。装了 Chocolatey 就一行命令choco install winmd想自己编译、研究源码也可以直接拉取仓库git clone https://gitcode.com/gh_mirrors/wi/winmd第二步右键安装。解压后找到winmd.inf右键选择安装。驱动本身带签名现代 Windows 基本即装即用。唯一的小插曲微软对最近几版 Windows 10 的签名要求更苛刻如果安装时碰到签名错误去 BIOS 里暂时关闭 Secure Boot 即可。第三步重启验证。重启后打开磁盘管理如果看到了熟悉的阵列卷就成功了一半。再装好对应的文件系统驱动ext2/3/4 用 Ext2fsdBtrfs 用 WinBtrfs数据就会老老实实出现在资源管理器里。三步仅此而已。没有虚拟机没有拷贝脚本没有漫长的数据迁移。选型之前先看懂这张对照表WinMD 支持哪些阵列与其听我复述不如看这张对照表顺便把每种阵列的人话解释也附上。mdadm 阵列类型WinMD 支持一句话人话RAID 0条带化✅数据拆开平摊到每块盘读写快坏一块全完蛋RAID 1镜像✅同一份数据写两遍坏一块盘数据仍在RAID 4 / 5奇偶校验✅拿出一块盘的容量存校验信息兼顾速度与冗余RAID 6双重校验✅比 RAID 5 多一层保险能扛两块盘同时损坏RAID 10条带镜像✅先镜像再条带near / far / offset 三种布局都认Linear线性拼接✅把几块盘首尾相接单纯扩大容量嵌套阵列nested set✅阵列套阵列的复杂组合也能识别这些阵列在底层到底干了什么举个生活化的例子RAID 0 的条带化就像仓库里几位工人分拣货物每人负责自己那一堆动作同步、各管一摊整体速度自然上去了RAID 1 则像把重要合同复印两份办公室锁一份、家里锁一份丢了一边还有另一边。想通了这两点你选型时心里就有了一杆秤。藏在源码里的车间分工WinMD 的源码结构相当清爽每个 RAID 级别都独占一个实现文件。打开src/目录就能看到src/raid0.c—— 条带化的核心逻辑src/raid1.c—— 镜像读写的调度处理src/raid45.c—— 奇偶校验的生成与恢复src/raid6.c—— 双重校验的进阶算法src/raid10.c—— 多种布局的兼容实现src/linear.c—— 线性拼接的简单方案这种一车间一工序的模块化布局让代码的可读性和可维护性都相当高。核心数据结构超级块解析、磁盘信息、阵列状态集中在src/winmd.h中想研究某个 RAID 级别的实现直接打开对应文件即可不用在一堆无关代码里大海捞针。新手最容易踩的 5 个坑项目虽好用几个细节不提前知道很容易白折腾一场。这些都是过来人的经验⚠️WinMD 只负责认出阵列不负责读出文件。你还得装一个文件系统驱动——ext 系列用 Ext2fsdBtrfs 用 WinBtrfs否则阵列挂上了也是未格式化。⚠️千万别把阵列里的单块盘当普通硬盘用。阵列数据是协作的成果镜像阵列除外单块盘在 Windows 里只会显示为乱码更不要手滑格式化否则整个阵列直接报废。⚠️降级阵列有盘损坏暂时挂载不了。如果阵列已处于 degraded 状态WinMD 目前还不会带病工作先回 Linux 侧恢复阵列再说。⚠️整盘 RAID 暂不支持。当前认的是分区级别的阵列整盘组建的阵列先别拿来测试。⚠️装完驱动记得重启。这听起来像句废话但确实有人装完不重启就抱怨没反应。现在就动手别让数据继续躺着说到底WinMD 解决的是一个非常具体的痛点让 Linux 的存储资产在 Windows 上继续发光发热。无论你是服务器退役后抢救数据还是双系统用户想随时访问另一套系统的文件或是开发时需要在两个平台间倒腾数据——装上它几分钟内就能在磁盘管理里看到那个熟悉的阵列卷。项目基于 LGPL 开源协议发布可放心使用也欢迎研究甚至修改它的源码。如果你的 Linux RAID 阵列数据迟迟无法在 Windows 上访问不妨运行git clone https://gitcode.com/gh_mirrors/wi/winmd拉取项目装好驱动重启然后在磁盘管理里收获那个惊喜的瞬间。【免费下载链接】winmdWinMD项目地址: https://gitcode.com/gh_mirrors/wi/winmd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考