简介:MegaSR C105 RAID驱动是面向服务器存储维护场景的关键组件,适合企业级服务器管理员、运维工程师以及需要为老款服务器重装系统的用户。该压缩包共18个文件,整体仅1.6MB,包含inf安装描述、sys核心驱动、cat数字签名、oem部署脚本、xml配置信息及md5完整性校验文件,并提供Windows Server 2003 x64/x86两套版本,便于按系统环境选择。驱动支持RAID 0/1/10/5/6等常用级别,可解决RAID卡无法被系统识别、磁盘阵列无法挂载等典型问题,也兼容多种硬件平台。已有155人学习下载。该资源还能帮助快速完成驱动安装与签名验证,同时附有经过测试的版本说明,降低兼容性风险;对于批量部署或维护老旧服务器的人员,这份材料能节省逐站查找的时间,直接提供可用的驱动集合与校验参照,无需再寻找旧版驱动。
1. 装系统时磁盘列表空白,问题多半就是 MegaSR C105 RAID 驱动没进去
给一台老服务器装 Windows Server,自检界面能看到 RAID 卡,阵列在 BIOS 里也早就建好了,可安装程序走到“选择要安装的磁盘”这一步,列表就是空的。很多人这时候开始怀疑硬盘坏了,换了盘重启还是老样子。其实对于 MegaSR C105 这类 RAID 控制器,最常见的病因就是驱动没进安装流程。MegaSR 是这块控制器的 Windows 驱动名,C105 是它在设备 ID 里的标识;RAID 卡把物理盘接管以后,Windows 不靠通用驱动直接认盘,必须在系统安装早期把厂商驱动喂给安装程序。这篇笔记就把整套流程讲透:怎么确认是不是这块卡、从哪找可用驱动、以及用安装界面、DISM 离线注入和无人值守三种方式让 Windows 看见阵列。适合机房运维和常年负责装机的同事,照着能复现,也能躲开我踩过的几个坑。
2. 先别急着找驱动:确认 RAID 卡、硬件 ID 和阵列状态是同一件事
2.1 RAID 控制器驱动和普通硬盘驱动有什么不同
普通 SATA/NVMe 盘走的是系统自带的 AHCI 或 NVMe 驱动,安装介质默认就带,插上就能看到。RAID 控制器不一样:它在操作系统之前接管硬盘,把所有物理盘组合成虚拟磁盘(Virtual Disk),再通过 PCIe 总线暴露给系统。Windows 要访问这个虚拟磁盘,必须认识控制器的 PCI 设备 ID,并且加载对应的 SCSI/RAID 驱动,否则设备树里连“未知设备”都不一定有,磁盘列表自然空白。
MegaSR C105 属于老一代入门级 SAS/SATA RAID 控制器,驱动文件名一般是 MegaSR.sys,配套 INF 文件里会写明它支持哪些设备 ID。这类卡的典型表现是:开机自检能看到控制器,RAID BIOS 里阵列也是 Online,但所有 Windows 安装盘、PE 都看不到硬盘。尤其是现在主流的 Windows Server 安装镜像,早就把老 RAID 卡的驱动裁掉了,所以不是你操作不对,而是驱动缺失。
判断问题是不是出在驱动上,有一条很实用的分界线:如果阵列在 RAID BIOS 里显示正常,而 Windows 里看不到任何磁盘,九成是驱动;如果 RAID BIOS 里就看不到盘或者报错,那先查物理盘、背板和线缆,跟驱动没关系。带着这个判断去查,能少走一大段冤枉路。
2.2 用 PE 或现有系统查出控制器的硬件 ID
要下对驱动,先确认控制器在系统眼里的“身份证”。最简单的方式是启动一个能进桌面的 PE,打开设备管理器,找带黄色感叹号的未知设备或存储控制器,查看“硬件 ID”属性,里面 VEN_xxxx&DEV_C105 这种格式就是关键信息,DEV_C105 的型号标识如果和标题一致,基本可以锁定 MegaSR C105。
如果 PE 里连未知设备都刷不出来,不用慌,这是正常的。因为 PE 本身也没带这个驱动,控制器可能根本没被枚举。这时回到开机自检阶段,在 RAID BIOS 的配置界面里找到控制器型号信息,记下来就行。我一般会同时拍一张照,免得回头找不到。
已经装好系统、只是想确认当前用的是不是这块卡的情况,用 PowerShell 直接查更干净:
Get-PnpDevice -PresentOnly | Format-Table Class, FriendlyName, InstanceId -AutoSize这条命令会把当前系统所有设备枚举出来,重点看 Class 为 SCSIAdapter 的行。如果 FriendlyName 或 InstanceId 里带 MegaSR、C105 字样,说明系统正在用它。设备 ID 一栏会形如 PCI\VEN_xxxx&DEV_C105,后面那串 C105 就是确认硬件身份的依据。命令本身不修改任何东西,可以放心跑。
初次接触这种机器的人容易弄混一个细节:Windows 的“设备管理器”里看不到不代表没安装,而是 RAID 控制器的驱动没有加载,控制器没有被正确识别。正常情况下,驱动加载后设备会出现在“存储控制器”或 SCSI 适配器分类下,而不是“磁盘驱动器”。判断时看控制器而不是看磁盘,不然很容易把“没有盘”误读成“盘坏了”。
2.3 阵列建好了才算数:RAID BIOS 里确认虚拟磁盘状态
驱动只解决“Windows 能不能看到 RAID 卡”的问题,前提是阵列本身是好的。很多装机现场卡在一个尴尬位置:驱动加载了,磁盘列表出来了,但识别出来的虚拟磁盘状态不对,容量不对或者显示未初始化。这时候要从 RAID BIOS 里确认阵列状态,而不是在 Windows 里乱点“初始化磁盘”。
开机自检时留意屏幕提示,按提示的组合键进 RAID BIOS。不同厂商的入口不一样,但提示语里都带 RAID 字样。进去以后找 Virtual Disk 或 Logical Drive 列表,确认状态是 Online / Good,同时看一眼 RAID 级别和容量。如果显示 Degrade 或 Offline,说明磁盘掉线或者阵列损坏,先处理硬件问题。
我见过最典型的情况是:有人拿一台淘汰服务器练手,里边两块盘其实是直通模式,根本没建阵列,Windows 加载驱动后看到的是两块裸盘。这时候不是驱动失效,而是磁盘在 RAID 卡上以 JBOD/直通方式呈现。所以每次装机前,把阵列配置确认一遍,比反复找驱动版本更省时间。确认完硬件 ID 和阵列状态,下一步才轮到真正找驱动。
3. 找到匹配的 MegaSR C105 驱动:三个来源与解包关键动作
3.1 三个驱动来源:官网支持页、同型机器提取、维护者驱动包
确定了控制器是 MegaSR C105 之后,找驱动有三个渠道,按可靠性排序。首选是控制器厂商或服务器厂商的官网支持页,按控制器型号或服务器整机型号搜索,筛选对应的 Windows Server 版本。这类老产品的缺点很明显:页面还在但下载链接经常失效,尤其换过几次域名以后,旧驱动基本只能碰运气。
第二个来源是已经在跑的同型机器。如果机房里有另一台相同控制器且系统正常的机器,直接从它身上提取驱动,是效率最高、最匹配的办法。注意不要只拷贝 C:\Windows\System32\drivers 下的 MegaSR.sys,驱动不只是一个 sys 文件,还需要 INF 和 CAT。完整做法是打开设备管理器找到控制器,右键“卸载设备”时勾选“删除驱动程序软件”?不行,那会把驱动删掉。正确做法是使用 pnputil 导出:
pnputil /export-driver *megasr* D:\MegaSR_Export这条命令把系统中与 megasr 相关的完整驱动包导出到 D:\MegaSR_Export 目录,导出的内容包含 inf、sys、cat 以及可能的 coinstaller,比手工复制可靠得多。参数megasr是通配符,也可以换成更精确的 oem*.inf 具体编号。导出完成后,到目标目录里确认有没有 megasr.inf 和 megasr.sys 两个核心文件。
第三个来源是维护者自己积累的“驱动合集”,装机多了的人手里都有一份,文件夹命名一般是 MegaSR_C105_x64 这种。这类来源的问题是版本混乱,同一个文件夹里可能混着 Windows 7 和 Windows Server 2012 的驱动,用错了直接识别失败。所以无论从哪个来源拿到的驱动,我建议都做一次版本核对。
3.2 驱动包解包:自解压 exe 与软盘镜像的打开方式
老驱动最常见的形态是自解压 exe,双击以后弹出一个安装向导,把文件释放到临时目录再问你要不要继续装。在 Windows 安装界面里,这种 exe 根本跑不起来,因为纯 WinPE 环境没有完整安装框架。正确做法是用解压工具直接拆开,不要运行。
我一般用 7-Zip 的命令行处理:
7z x MegaSR_C105_win64.exe -oD:\MegaSR_Driver参数 x 表示解压,-o 指定输出目录。执行完以后进入 D:\MegaSR_Driver,正常情况下能看到 megasr.inf、megasr.sys、megasr.cat 这几个文件。如果解出来是 .vfd 或 .img 后缀的文件,说明驱动包是按老式 F6 软盘镜像封装的,需要继续拆一层。F6 软盘是 XP/2003 时代给安装程序喂 RAID 驱动的老办法,现代 Windows 安装流程已经不需要软盘,但镜像文件还在很多老驱动包里残留。
拆软盘镜像还是用 7z:
7z x megasr_2k8_x64.vfd -oD:\MegaSR_Driver\vfd拆开以后同样找 inf/sys/cat 三个文件。读到这如果发现文件对不上,不用怀疑,只是不同厂商把驱动文件放的位置不一样。判断文件是否有效,可以直接查看 INF 内容,确认其中的设备 ID 是否匹配:
findstr /i "C105" D:\MegaSR_Driver\megasr.inf如果 INF 里能搜出包含 C105 的行,说明这个 INF 确实声明支持该设备。找不到的话,即使 INF 文件长得再正常,装上也大概率失败。这一步是很多人忽略的,也是最直接的“后悔药”,能省下在安装界面反复试错的时间。
3.3 核对驱动签名与体系结构:装不上的两个隐性问题
老 RAID 驱动还有两个隐性问题,一个在签名,一个在体系结构。
签名方面,Windows 8/Server 2012 以后的安装镜像对第三方驱动签名要求越来越严格。老驱动很多是 SHA-1 签名,甚至有些连时间戳都过期了,安装界面加载时会弹“未找到经过数字签名的驱动程序”。这并不代表驱动坏了,而是新系统不认旧签名。优先方案是去找厂商针对新系统发布的更新版,如果实在找不到,就只能靠离线注入时加参数绕过,后面第 4.2 节会讲到。
体系结构方面,x64 镜像只能认 x64 驱动,x86 镜像只能认 x86 驱动。驱动解包以后,右键点 megasr.sys 看“版本”标签,或者在 INF 里找 BitBuild 相关字段,都能看出是 64 位还是 32 位。我习惯把 x64 和 x86 分目录放,U 盘里建两层目录,安装时指到精确位数的路径,避免安装程序扫到一堆不匹配文件后什么都不识别。
3.4 整理一个安装专用驱动目录
驱动文件确认无误以后,整理目录是个容易被忽略的加分项。把解压出来的 inf/sys/cat 平铺在一个目录下,不要带着解压出来的多层文件夹结构直接扔给安装程序。Windows 安装界面的“加载驱动程序”流程,对深层目录的扫描并不可靠,平铺是最省事的做法。
推荐结构是这样:
D:\Megasr_Driver\x64\megasr.inf D:\Megasr_Driver\x64\megasr.sys D:\Megasr_Driver\x64\megasr.cat同时把 U 盘格式化成 FAT32,兼容性最好,尤其在 UEFI 启动模式下。目录里最好再存一个 txt 说明文件,写清楚这个驱动适用于哪个控制器、哪个系统版本、从哪台机器导出的。别觉得这是多余动作,等你三个月后再找这个 U 盘装机,会感谢当时写的那三行字。
4. 把驱动装进 Windows 安装流程:安装界面、DISM 离线注入与无人值守
4.1 最快路径:安装界面里直接加载驱动
如果手头只有一张原版安装介质、一个驱动 U 盘,最快的方法是在 Windows 安装界面手动加载驱动。启动安装介质后一路走到“选择要安装的磁盘”,看到磁盘列表空白,点击左下角的“加载驱动程序”,然后浏览到驱动 U 盘里平铺好的目录,安装程序扫描后会出现一个存储控制器条目,选中它继续。
这里有个非常实际的细节:如果安装 U 盘和驱动 U 盘是同一个,安装程序有时候在“浏览”对话框里看不到自己所在的分区,这是很常见的现象。我一般会准备两个盘,一个专门放系统镜像,一个专门放驱动。驱动盘用 FAT32,目录结构就按 3.4 节整理好的来,不要嵌套多层。
加载成功后回到磁盘列表页面,虚拟磁盘应该立刻出现。这个流程适合“只装一台、以后不重复”的场景,缺点是每次重装都要手动点一遍,而且后面无人值守安装时没法自动化。另外要记住一个容易让人误会的点:安装界面成功加载驱动,只说明 WinPE 阶段能用,不代表装完系统后驱动一定保留,后面第 5.4 节会具体讲。
4.2 批量可控:用 DISM 同时注入 install.wim 和 boot.wim
给多台同型号机器批量装机,手动加载太慢,常规做法是把驱动直接注入安装镜像的 WIM 文件。整个过程分三步:查索引、挂载、注入。
先把 install.wim 从镜像里拷出来,放到一个 NTFS 分区上,因为后续挂载操作要求较大的空闲空间。先查一下镜像里包含哪些系统版本:
dism /Get-WimInfo /WimFile:D:\ISO\sources\install.wim输出里会列出每个索引对应的版本名称和 ID。比如要装 Server 2022,就记住对应索引号,下一步挂载时用。假设索引是 1,执行:
dism /Mount-Image /ImageFile:D:\ISO\sources\install.wim /Index:1 /MountDir:C:\Mount dism /Image:C:\Mount /Add-Driver /Driver:D:\Megasr_Driver /Recurse dism /Unmount-Image /MountDir:C:\Mount /Commit第一行把 WIM 的指定索引挂载到 C:\Mount。第二行把驱动目录里的所有驱动递归添加到镜像里,/Recurse 会自动搜索子目录,但为了可靠我还是建议驱动目录保持平铺。第三行提交修改并卸载镜像,注意不能直接关掉命令窗口,一定要等 Unmount 跑完。
关键坑在另一个文件:boot.wim。安装程序启动阶段实际上运行的是 boot.wim 里的 WinPE,不是 install.wim。如果只往 install.wim 里注入驱动,PE 阶段依然认不出 RAID 盘,后面根本走不到安装界面。所以必须也处理 boot.wim:
dism /Get-WimInfo /WimFile:D:\ISO\sources\boot.wim dism /Mount-Image /ImageFile:D:\ISO\sources\boot.wim /Index:2 /MountDir:C:\MountBoot dism /Image:C:\MountBoot /Add-Driver /Driver:D:\Megasr_Driver /Recurse dism /Unmount-Image /MountDir:C:\MountBoot /Commitboot.wim 里一般有两个索引,一个是 Windows 恢复环境,一个才是实际启动的 WinPE 环境,不同版本顺序有差异,所以先查再挂。判断哪个是 WinPE:看描述里带 Windows PE 字样的就是。挂载方法跟 install.wim 完全一样,注入完成后同样要 Commit。
最后把修改过的两个 WIM 文件放回 ISO 的 sources 目录,重新打包成安装镜像。重新打包时保持原目录结构不变,启动文件不要动,用任意 ISO 工具处理即可。这样得到的镜像已经是“自带 MegaSR C105 驱动”的镜像,后面无论是光盘、U 盘还是无人值守都能直接用。
注意 install.wim 超过 4GB 时,FAT32 格式的 U 盘放不下。常见做法是做一个双分区 U 盘:一个小 FAT32 分区放引导文件,一个大 NTFS 分区放 install.wim 和驱动;或者直接让安装介质以 UEFI 方式启动,再单独挂一个 NTFS 数据盘放驱动。这个坑不影响驱动本身,但能卡住一整个装机流程,提前说明免得卡到一半怀疑人生。
4.3 蓝屏后悔药:PE 里往已安装系统离线补驱动
还有一种情况更麻烦:系统已经装完了,第一次重启直接蓝屏,报 0x0000007B。这个错误码直译就是“无法访问启动设备”,意思是 Windows 内核在启动早期没有找到存储驱动,无法读取系统盘的后续部分。
如果手边有支持这个 RAID 卡驱动的 PE,启动以后给已安装的系统分区离线补驱动是可行方案。关键问题是:PE 本身也得能看见 RAID 虚拟磁盘,否则挂着空转找不到目标盘。所以这块“后悔药”通常需要借助另一台同型机器,或者一个提前注入过驱动的 PE 镜像。
PE 启动后,先打开磁盘管理或 diskpart 确认系统分区盘符,PE 环境下盘符不固定,C: 不一定就是系统盘。确认后执行:
dism /Image:C:\ /Add-Driver /Driver:D:\Megasr_Driver /Recurse/Image 参数指向已安装系统的根目录,不是 Windows 文件夹,而是包含 Windows、Program Files 的那个分区根。命令执行成功后,再重启系统,0x7B 蓝屏一般就能解决。如果 PE 认不到盘,那就只能回到 4.2 节把驱动注入原始安装镜像重装,或者把硬盘挂到同配置机器上进行离线打驱动。这套操作虽然麻烦,但在老服务器上值得掌握。
4.4 无人值守安装的驱动阶段:简单但容易错的配置点
跑无人值守安装时,驱动配置很容易做错。很多人以为只在应答文件里写上驱动路径就行,结果安装程序识别不到盘,整个流程卡在同一步。真实的顺序是:无人值守文件在 WinPE 阶段就会被读取,而 WinPE 阶段如果加载不了 RAID 控制器驱动,后面所有动作都不会发生。
所以无人值守场景下,我一般优先选择 4.2 节处理过的镜像,让驱动直接存在于 WIM 里,应答文件里完全不用再管驱动路径。如果坚持用驱动路径的方式,需要在 windowsPE 配置阶段加入 PnpCustomizationsWinPE 组件:
<settings pass="windowsPE"> <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <DriverPaths> <Path wcm:action="add">F:\Megasr_Driver\x64</Path> </DriverPaths> </component> </settings>这里的 F: 是驱动分区在 WinPE 环境里实际分配到的盘符,不是绝对的。因为 PE 阶段磁盘枚举和加载驱动会改变盘符分配,所以写死盘符有翻车风险。建议第一次先开着无人值守日志跑一遍,确认驱动分区实际盘符再固化到应答文件里。多数情况下,把驱动直接注入 WIM 比纠结这个路径简单得多,血泪经验,不是玄学。
5. 避坑记录:MegaSR C105 驱动加载失败的 5 个真实场景
5.1 加载驱动时提示“未找到任何设备”
现象:驱动文件明明在 U 盘里,也选对了目录,安装程序却提示找不到驱动。
原因分两种:一是目录嵌套太深,安装程序浏览时没有递归扫描子目录;二是驱动文件与硬件 ID 不匹配,INF 里根本没有对应设备。
解决:先把 inf/sys/cat 平铺到驱动目录第一层,再确认 INF 里有没有 C105 相关设备定义。用记事本打开 megasr.inf,直接搜 C105,搜得到再拿到安装界面用。经验是驱动文件放一个大目录,让安装程序一次扫完,不要带一堆子目录。
5.2 磁盘列表出现了,却提示不支持安装到 GPT/MBR 分区
现象:加载驱动后虚拟磁盘出来了,但点击“下一步”时报错,说无法安装到这个磁盘,或者磁盘分区样式不对。
原因:服务器的启动模式与虚拟磁盘的分区表类型不匹配。UEFI 启动要求 GPT 分区,传统 BIOS 启动要求 MBR。老机器最容易出现混合状态:主板固件是传统模式,但虚拟磁盘之前被初始化成了 GPT;反过来也可能。
解决:在安装界面按 Shift+F10 打开命令提示符,用 diskpart 里的 clean 命令清除磁盘分区表,然后根据固件启动模式转换分区样式。UEFI 用 GPT,BIOS 用 MBR。注意 clean 会清掉整个虚拟磁盘上的数据,执行前确认阵列里没有需要保留的文件。这一步和驱动本身无关,但排在“驱动加载成功”之后,极容易让人误判成驱动问题。
5.3 注入两个 wim 后仍然看不到盘
现象:boot.wim 和 install.wim 都做了 Add-Driver,重新打包后安装界面依然看不到 RAID 磁盘。
原因:大概率是挂载错了索引。boot.wim 和 install.wim 里都有多个镜像索引,驱动注入到不活跃的索引里,安装时自然用不上。另一个原因是 Add-Driver 执行后没有注意输出,驱动因为签名问题被跳过了,命令看似跑完实际没加进去。
解决:重新用 Get-WimInfo 确认索引,然后挂载后执行 Add-Driver,仔细看输出里是否包含“已添加”或“正在添加”的字样,如果显示“跳过”,换另一个索引或者处理签名问题。提交前再检查一次 C:\Mount\Windows\System32\drivers 下有没有 MegaSR.sys,比看日志更直观。
5.4 装完系统第一次重启就蓝屏 0x0000007B
现象:安装界面加载驱动时一切正常,复制文件也没报错,重启后直接蓝屏,错误码 0x0000007B。
原因:安装阶段加载的驱动只存在于 WinPE 环境,系统安装完成后没有把驱动保留到目标系统的驱动库。这个问题在老驱动上很常见,特别是驱动包只做了最小化安装、缺少配套 INF 文件的时候。
解决:用 4.3 节的离线补驱动方式处理,把驱动直接注入到已安装系统。更彻底的方案是重装时采用 4.2 节的 WIM 注入方式,让驱动从安装一开始就存在于整个流程里。装完立刻查看设备管理器确认驱动列表,而不是等重启以后才开始排查。
5.5 别把 RAID 降级误判成驱动问题
现象:驱动加载成功,Windows 能看到盘了,但磁盘管理里显示容量不对,或者阵列状态是降级。
原因:驱动是正常的,问题在阵列本身。可能之前有一块物理盘掉过线,重建没完成,或者阵列创建时级别和容量配错。
解决:回到 RAID BIOS 里看虚拟磁盘状态。如果显示 Degrade,先找出掉线的盘,换盘或强制上线让阵列重建,重建过程中不要反复重启。如果阵列根本不存在,只是直通模式下的两块裸盘,那就回到 2.3 节,先把阵列建好再装系统。这个坑提醒一个原则:Windows 里的异常不一定是 Windows 的问题,RAID 卡有自己的状态体系,先看卡的界面。
6. 装完不蓝屏只是开始:验证驱动与一次到位的几个习惯
6.1 两条命令确认驱动真正生效
系统装完能正常进桌面,不代表驱动这件事就结束了。我习惯先跑两条命令确认驱动已经在系统里稳定接管设备:
Get-WindowsDriver -Online | Where-Object { $_.OriginalFileName -like '*megasr*' } | Format-List Driver, OriginalFileName, ProviderName Get-PnpDevice -PresentOnly -Class SCSIAdapter | Format-Table Status, FriendlyName, InstanceId -AutoSize第一条列出系统驱动库里所有包含 megasr 字样的第三方驱动,Driver 列会显示文件版本,ProviderName 列显示驱动发布者。第二条更直接,SCSIAdapter 分类下的设备如果 Status 是 OK,说明控制器已被正常驱动。对比一下 InstanceId 里的设备 ID 和之前确认的 C105 是否一致,一致就说明真正生效了。
验证完驱动,顺手在磁盘管理里看一眼 RAID 卷是否正常显示,复制一个大文件测一下连续读写,确认不是“撞运气能启动但跑起来不稳定”的状态。这一步做完,装机才算真正收尾。
6.2 下次装机少走弯路的三个习惯
第一个习惯是给 U 盘里的驱动目录加一个备注文件,写上控制器型号、适用系统版本、驱动来源机器。第二个习惯是配阵列之前先把 RAID BIOS 界面拍照存档,之后再遇到容量异常或降级,翻照片就能对比。第三个习惯是遇到新机器先查硬件 ID 再找驱动,别靠直觉下载最新版。这三个习惯都来自实际翻车后的收拾现场,花了时间才攒下来。按这套流程处理 MegaSR C105 驱动的机器,后面重装基本都是十分钟内完成的事。希望帮到你。
本文还有配套的精品资源,点击获取