资讯动态

cgminer 3.1.1 Windows安装指南:老矿机驱动与配置实战

发布时间:2026/10/18 15:13:13 来源:尧图企业网站定制
简介cgminer 3.1.1 Windows 版是面向比特币及衍生币挖矿场景的多线程多矿池客户端可驱动 GPU、FPGA 和 ASIC 三类算力设备尤其针对 ATI GPU 提供了温度监控、超频及风扇转速控制能力。该版本以 zip 压缩包形式发布共 43 个文件、约 6.83MB核心为两个可直接运行的 exe 程序周边包含配套 DLL 运行库、OpenCL 内核脚本、FPGA/ASIC 固件位流以及示例配置、PHP/Java 监控 API 脚本和丰富的 txt 文档能覆盖设备接入、参数调优和二次开发的主要场景。目前已有 558 人浏览学习适合刚接触数字货币挖矿的入门用户也适合矿场运维人员、硬件爱好者和希望研究 cgminer 内部机制的开发者。通过内置多矿池切换和 API 监控接口读者可以快速搭建 Windows 挖矿环境学习 cgminer 的模块划分与配置方式同时注意不要在多条区块链上同时开启矿机以免造成收益计算混乱。1. 为什么还在用 cgminer 3.1.1老矿机的 Windows 专属坑说起 cgminer 3.1.1 windows 这套环境你可能第一反应是“挖矿软件怎么还在折腾”。但实际情况是我手里有几台老型号 ASIC 矿机厂商当年配的固件只认 cgminer 3.1.1 的通信协议新版 cgminer 和现在主流的矿机软件都不认它。在 Windows 上装这个版本不是双击解压就能完事的OpenCL 运行时、libusb 驱动、二进制文件版本、路径和电源设置每一项都能让你白忙活一下午。我最初照着网上的教程装结果不是报缺少 dll就是矿机在系统里显示为未知设备后来把依赖问题一个个理清才跑通。这篇文章把整个安装过程拆开从版本选型到启动脚本再到故障排查所有关键命令都放出来。不管你是刚拿到一台二手矿机的新手还是想在 Windows 下做个测试平台的老手走完这套流程你就能在命令行里看到实时的算力输出。2. 安装前的准备工作先分清设备类型再装 OpenCL 和 libusb2.1 判断你的矿机类型ASIC、FPGA 还是 GPU先别急着下载。cgminer 3.1.1 对设备类型的支持差异很大它内部把 ASIC、FPGA 和 GPU 分成三条完全不同的驱动链路。在 Windows 下GPU 挖矿需要依赖 OpenCL 内核而 ASIC 和 FPGA 大多通过 USB 口连接依赖 libusb 来识别设备。如果你把矿机接到电脑上系统设备管理器里能看到一个未知设备那就说明你的矿机走的是 USB 枚举链路也就是 ASIC 或 FPGA 方向和显卡挖矿不是同一类配置。我在实际环境里遇到的情况是某型号矿机的控制板出厂固件默认开启“模拟串口”模式cgminer 3.1.1 需要使用“--icarus”这类参数才能识别 FPGA 设备而 ASIC 矿机比如带多个芯片的大算力板则需要驱动层尝试验证矿机返回的特定握手信息。所以第一步是先确认你的矿机型号和接口类型。厂家说明书里通常会写“通过 USB 连接并支持 cgminer”“使用 OpenCL 挖矿”等字样。根据这个决定后面是否需要安装显卡驱动或 libusb 驱动。这里给一个简单的对照表设备类型连接方式依赖组件典型启动参数ASIC 矿机USB 转串口libusb--icarus 或默认 autodetectFPGA 矿机USB 转串口libusb--icarus --baud 115200GPU 显卡PCIe 插槽OpenCL / Catalyst-d 设备号 --gpu-platform如果是 GPU 挖矿还要注意 cgminer 3.1.1 对显卡架构比较挑剔。2013 年前后的 A 卡驱动配合这个版本兼容性最好N 卡在部分环境里会出现 OpenCL 平台无法加载的情况。所以建议先跑一下“clinfo”确认系统里存在哪个 OpenCL 平台再决定走哪条路。2.2 环境依赖OpenCL 运行时和 libusb 驱动确定设备类型后下一步是把两个底层依赖装好。cgminer 3.1.1 在 Windows 下不是纯静态链接它启动时会加载 OpenCL.dll 和 libusb-1.0.dll。如果系统里没有这两个动态库程序直接弹窗提示缺少 dll或者静默退出。先装 OpenCL 运行时。最稳妥的做法是安装显卡厂商提供的完整驱动包A 卡的显卡装 Crimson 或 Catalyst 驱动后会附带 OpenCL.dll核显可以从芯片组驱动里获得 OpenCL Runtime。如果你只是用 ASIC 矿机其实不需要 GPU 的 OpenCL但 cgminer 3.1.1 的某些编译版本在初始化时仍然会尝试加载 OpenCL.dll没有这个文件就会报错。所以我的习惯是不管用不用显卡挖矿都先把系统的 OpenCL 运行时补上。检测是否装好的方式是在命令行执行“clinfo”它能列出当前系统的 OpenCL 平台和显卡设备。然后是 libusb 驱动。这一步最容易翻车。Windows 默认不认 libusb 设备需要在设备管理器里手动为矿机安装 WinUSB 或 libusb-win32 驱动。常见做法是使用 Zadig 工具这个工具会把指定的未知设备替换成 WinUSB 驱动。我一般这样操作让矿机上电并连接电脑打开 Zadig。在 Devices 列表里找到矿机名称或“Unknown Device”。把目标驱动选为 WinUSB。点击 Replace Driver等待安装完成。完成后设备管理器里会显示为“WinUSB Device”此时 cgminer 才能访问它。提示Zadig 安装驱动时不要拔掉矿机过程中系统会短暂弹出“安装设备驱动程序”的提示属于正常现象。如果不想用图形工具也可以直接用 libusb-win32 的 INF 文件在设备管理器里手动更新驱动路径。但 Zadig 对 Windows 7 和 Windows 10 兼容性更好省事。2.3 版本选择为什么是 3.1.1 而不是其它版本cgminer 版本号很多3.1.1 属于比较早期的一个稳定分支。很多博主推荐 3.7.2 甚至 4.x但那些版本改动了设备探测协议和一个关键的授权校验逻辑导致部分老矿机固件无法回应。如果你的矿机说明书里明确写了“支持 cgminer 3.1.1”那就不要用更新的版本。版本越新对老设备的兼容越差这在矿机圈子里几乎是共识。那同一个 3.1.1 有没有不同编译变体有。Windows 二进制常见的有动态依赖版需要安装运行时、静态编译版解压即用。静态编译版体积更大但不用额外配置 DLL 路径。我实际测下来静态编译版在 Windows 10 上更容易碰到“驱动签名”问题而动态依赖版只要把 dll 放在程序目录下就能跑。所以我的建议是优先使用与官方源码配套的二进制发行包如果找不到再考虑自己编译。下文所有命令都基于官方发行的 3.1.1 版本目录结构编写。在选版本时还要注意一个问题网上流传的 3.1.1 有些被二次打包过里面塞了别人的矿池地址或修改了默认参数。判断方法很简单看压缩包内是否只有 cgminer.exe、README 和必要的 dll如果多出奇怪的 exe、脚本或者说明文档最好放弃。干净版本的 cgminer.exe 用资源管理器查看信息时描述往往是“cgminer for Windows”。3. 下载与解压三个容易混淆的编译版本怎么选3.1 从哪里获取官方压缩包cgminer 3.1.1 的发布年代比较早官方站点已经不怎么维护。但源码和预编译二进制仍然能通过一些镜像仓库找到。我经常使用的方式是从代码托管平台搜索“cgminer 3.1.1 windows”相关仓库找到 releases 列表里的 zip 包。下载时注意看文件名通常会有“cgminer-3.1.1-windows-x64”和“cgminer-3.1.1-windows-x86”两种。你的 Windows 是 64 位就选 x64但要注意老矿机控制程序可能只内置了 32 位通信库此时 x86 版本反而更稳。其实很多翻车不是下载环节出错而是下到了别人二次打包的“优化版”。这些版本里可能加入了矿池佣金地址或者捆绑了额外程序。判断方式很简单官方二进制包里一般包含 cgminer.exe、README.txt、dll 目录不会出现一堆说明文档以外的可执行文件。我建议只认准文件名规范且压缩包里有源码或 changelog 的那个。我一般也会顺手从官方源码包编译一份自己用但 Windows 上编译 cgminer 3.1.1 的坑比较多需要配置 pthread 和 OpenCL 头文件路径。如果你只是想跑起来直接使用别人编译好的动态版本就可以不必从源码折腾。3.2 核对哈希与文件清单拿到 zip 包后先别急着解压。用校验工具算一下 SHA-256和发布方提供的哈希比对。老项目可能没有官方哈希表但发布帖会带一个。如果找不到至少用“sha256sum”算一下并记录下来方便日后排查文件是否损坏。损坏的压缩包解压时往往不报错但运行到一半会闪退很难定位。在 Windows PowerShell 下计算哈希可以用这样一条命令Get-FileHash .\cgminer-3.1.1-windows.zip -Algorithm SHA256这条命令的输出是文件指纹字符串。如果发布方提供了哈希值逐字符比对最前面 8 位和最后 8 位能快速排除大范围损坏。没有哈希表的话可以把这个值记在桌面文本里后续程序行为异常时再算一次看文件是否在保存过程中被改写。解压后先看一下文件清单。一个正常的 cgminer 3.1.1 Windows 包应该包含以下文件文件/目录作用cgminer.exe主程序README.txt参数说明pkg-config/msys编译环境辅助文件openssl/curl动态证书库可能省略*.dll运行依赖库如果发现压缩包内没有“pthreadVC2.dll”或“libusb-1.0.dll”说明这是依赖系统环境的精简包后面需要手动补依赖。我个人会优先选择那种把 dll 直接放在根目录的版本省去一堆环境变量问题。3.3 解压到短路径避开空格和中文目录这是很多人都会踩的坑。cgminer 3.1.1 的配置解析器比较脆弱路径里如果有空格、中文、特殊符号会导致启动参数解析错位尤其是读取配置文件的时候。我第一次装的时候解压到“D:\我的文档\挖矿软件\”结果程序启动后矿池连接正常但始终提示“Failed to parse conf”直到我把路径改成“D:\cgminer”才解决。所以我强烈建议把压缩包解压到类似“C:\miner\”或“D:\cgminer\”的纯英文短路径下。路径长度也不要超过 30 个字符因为老程序内部使用固定长度的缓冲区超长路径会导致某些文件无法加载。具体操作在磁盘根目录新建“cgminer”文件夹将压缩包内的全部文件释放进去。然后右键“cgminer.exe”属性在“兼容性”选项卡里勾选“以兼容模式运行”并选“Windows 7”。这一步对 Windows 10 尤其重要因为 3.1.1 很多底层调用在 Windows 10 上会被安全策略拦截。勾选兼容模式后再执行“cd /d C:\cgminer cgminer.exe --version”如果看到版本号输出说明路径问题已经排除。如果你用的是 Windows 自带命令行可以把解压和切换目录合成一条命令mkdir D:\cgminer tar -xf cgminer-3.1.1-windows.zip -C D:\cgminer cd /d D:\cgminer“mkdir”用来创建目标目录“tar -xf”调用系统自带的解压工具把 zip 内容释放到指定位置“cd /d”同时切换盘符和目录。注意这里的“tar”是 Windows 10 1803 以后自带的 BSD tar老系统上可能需要用其它解压工具。4. 配置挖矿参数命令行和配置文件的取舍4.1 命令行参数详解-o、-u、-p 不能写错cgminer 3.1.1 的启动方式以参数为主没有图形配置界面。最核心的三个参数是“-o”矿池地址、“-u”矿池用户名、“-p”矿池密码。注意大小写敏感“-O”是另一个含义表示 Url 和用户信息合并写法容易互相混淆。基本命令格式如下cgminer.exe -o stratumtcp://pool.example.com:3333 -u your_worker.1 -p your_password --scrypt这里说明一下各段含义“-o”后面跟矿池的协议和地址stratumtcp 是标准协议前缀如果矿池使用 SSL则需要写成“stratumssl”。端口号 3333 是常见矿池端口但务必以你所在矿池文档为准。“-u”是你的矿工账号名有些矿池使用“钱包地址.矿工号”格式“-p”一般填“x”即可或填矿工密码。如果你用的是 ASIC 矿机还要加“--icarus”参数并且指定“--usb”和“--baud”来匹配你的矿机波特率。例如cgminer.exe --icarus -o stratumtcp://pool.example.com:3333 -u user.worker -p x --usb 1 --baud 115200“--icarus”告诉 cgminer 尝试通过 Icarus 协议探测 USB 矿机“--usb 1”指定使用第一个 USB 设备“--baud 115200”设置串口波特率。不同固件默认波特率不一样常见的有 115200 和 57600接不上就换着试。如果你的矿机有多个直接在命令行里重复“--usb”参数可以指定多个设备比如“--usb 1 --usb 2”。4.2 编写启动脚本 start.bat环境变量和参数化每次都敲一长串命令不现实我会写一个“start.bat”放在 cgminer 目录下固定好参数和依赖路径。Windows 下批处理文件也要注意编码如果里面有中文内容请另存为 ANSI 编码否则乱码会被当成参数传给 cgminer。一个可用的脚本模板如下echo off set PATH%CD%;%PATH% set GPU_MAX_ALLOC_PERCENT100 set GPU_USE_SYNC_OBJECTS1 cd /d %~dp0 cgminer.exe --scrypt -o stratumtcp://pool.example.com:3333 -u user.worker -p x --api-listen --api-network --api-port 4028 pause这里“set PATH%CD%;%PATH%”保证程序能在当前目录找到 dll“GPU_MAX_ALLOC_PERCENT100”是配合显卡挖矿时让 OpenCL 使用全部显存“GPU_USE_SYNC_OBJECTS1”可以改善 Windows 下的稳定性。“--api-listen”和“--api-network”开启管理接口端口 4028方便远程查看状态。如果你只使用 USB 矿机那两个 GPU 开头的变量不设置也没关系。我习惯把矿池连接信息单独抽成一个“config.conf”而不是直接写死在 bat 里。因为矿池地址变更时只需要改配置文件不用改启动脚本。脚本里可以只保留“cgminer.exe -c config.conf”既短又清爽。4.3 配置文件 cgminer.conf断电重启后自动恢复cgminer 支持通过“-c config.conf”加载配置文件。配置文件的格式比较特殊它是 JSON 风格的但老版本解析器要求所有属性都写在同一行不能像现代 JSON 那样多行缩进。我一开始就踩了这个坑把配置写成多行程序直接报“JSON: unexpected character”。一个最小可用的配置文件如下{ pools: [ { url: stratumtcp://pool.example.com:3333, user: your_worker.1, pass: x } ], scrypt: true, api-allow: 127.0.0.1, api-network: true }参数说明“pools”是矿池数组即使只有一个矿池也要写成数组形式“scrypt”设置为 true 代表使用 scrypt 算法挖矿如果你的币种是 SHA-256 算法则要删除这一项否则会因为算法不匹配而一直 wait“api-allow”限制了只要本机访问 API 权限避免被外部扫描器连上端口。配置里还可以加“intensity”和“gpu-threads”用于调节显卡挖矿强度。但如果你用的是 ASIC 矿机这些参数会被忽略。“failover-only”这个参数不要配置它只在多个矿池切换时使用。我在实际环境中就因为有多个矿池且开启了 failover-only结果主矿池掉线后没有自动切换需要手动重启才恢复。多矿池的配置可以写成下面的形式{ pools: [ { url: stratumtcp://pool1.example.com:3333, user: user.1, pass: x }, { url: stratumtcp://pool2.example.com:3333, user: user.1, pass: x } ] }5. 避坑与排查Windows 下 cgminer 最常见的五个坑5.1 启动就报错缺少 pthreadVC2.dll 和 libusb-1.0.dll很多刚接触的人从网盘下载了一个精简版双击 cgminer.exe 立刻弹窗“由于找不到 pthreadVC2.dll无法继续执行代码”。这个提示很直白就是程序依赖的 pthread 动态库不在搜索路径里。原因是 cgminer 3.1.1 在 Windows 下使用了 POSIX 线程封装库而这个 dll 并不属于系统组件必须随程序一起分发。解决办法是先从发布包中确认有没有这个文件。如果没有去网上搜索“pthreadVC2.dll”下载对应 32 位/64 位版本放在 cgminer.exe 同一目录下。libusb-1.0.dll 同理可以从 libusb 官方 releases 里获取。注意位数必须与 cgminer 版本一致64 位程序放 32 位 dll 会继续报“应用程序无法正常启动”。我一开始就是混装了 64 位 cgminer 和 32 位 libusb折腾了很久。另一种情况是 dll 文件都在但启动后进程马上退出没有任何提示。此时去“事件查看器”的“应用程序”日志里看会有一条“模块不安全”或“加载失败”的记录。多半是系统自带杀毒软件拦截了 dll 加载需要把整个 cgminer 目录加入白名单。5.2 识别不到矿机先查设备管理器再看任务进程插上矿机后cgminer 提示“0 devices found”。这时不要忙着改命令先看设备管理器。矿机如果被识别成“COM 端口”或“USB 串行设备”说明驱动正确如果显示“未知设备”说明 WinUSB 驱动没有绑定成功需要重新用 Zadig 替换。还有一种是设备管理器里已经显示为“WinUSB Device”但 cgminer 仍然找不到。这种情况多半是因为 cgminer 默认只扫描前 8 个 USB 设备如果你的机器上插了很多外设矿机排在靠后位置。可以在启动参数里加“--usb 1:8”来扩大扫描范围或者把所有无关 USB 设备拔掉再试。我遇到过一个比较隐蔽的问题矿机本身是独立供电的但 USB 数据线没有插紧导致枚举时没有获得足够的功耗。换一根粗一点的 USB 线或者接到后置 USB 口后问题解决。总之排查顺序是设备管理器能识别 → 换 USB 口或线 → 增加 --usb 参数 → 查看 cgminer 的 -v 输出。5.3 黑屏白屏显卡驱动和 OpenCL 的版本博弈如果你是拿显卡挖矿启动 cgminer 后显示器黑屏或花屏这是老版本 cgminer 在使用 OpenCL 内核时把显示器输出模式接管了。常见原因有两个一是显卡驱动版本太新与 3.1.1 的 OpenCL 编码方式不兼容二是显存分配比例被设置成过高导致系统无法正常合成桌面。解决思路是降级显卡驱动。对 A 卡我一般会找 20132014 年的 Catalyst 版本对 N 卡则把“--gpu-platform”显式指定为 0并添加“--no-restart”避免驱动超时导致重启。同时把显存占用限制在 70% 左右命令如下cgminer.exe --scrypt -o stratumtcp://pool.example.com:3333 -u user.worker -p x --gpu-platform 0 --gpu-memclock 1500 --gpu-fan 70“--gpu-platform 0”选择 OpenCL 平台编号如果不确定就用“clinfo”查一下“--gpu-memclock 1500”锁定显存频率避免驱动自动调节导致黑屏“--gpu-fan 70”固定风扇转速。注意老版本 cgminer 对“--gpu-memclock”参数合法性检查非常严格如果值超出核心范围程序会拒绝启动这时可以去掉。如果你的矿机是纯 USB 的那么黑屏问题基本与 cgminer 无关请检查显卡驱动和远程桌面设置。5.4 挖矿中途停止Windows 休眠和 USB 供电策略运行几个小时后算力突然掉到 0矿池连接还在但矿机显示“USB: No response”。这个现象我遇到过很多次最终定位到两个系统级原因一是 Windows 的“关闭显示器”或“休眠”策略把 USB 控制器断电了二是 USB 集线器开启了选择性暂停。在电源管理里把所有睡眠选项设为“从不”然后到设备管理器的“USB 根集线器”属性里把“允许计算机关闭此设备以节约电源”的勾选去掉。这个操作对每个 USB 根集线器都要做。另外如果矿机是通过外接集线器连接的换成独立供电的集线器会好很多。还可以在 cgminer 启动参数中加上“--restart”自动重启功能它会在设备无响应时自动重新初始化 USB。但这只能作为补救手段根源还是系统电源策略。我在服务器上跑矿机时还会在计划任务里设置一个每 1 小时检查 cgminer 进程是否存在的任务如果挂掉就自动拉起双保险。5.5 被安全软件“治疗”矿机进程的白名单设置系统自带杀毒软件和第三方安全软件经常把 cgminer.exe 识别为“风险工具”因为它的行为特征符合挖矿木马。这会导致两种结果一种是启动时被拦截另一种是运行中被清掉进程。解决办法很简单把整个 cgminer 目录加入安全软件的白名单。系统自带杀毒软件的排除路径设置在“病毒和威胁防护”→“排除项”→“添加排除项”。注意要添加“文件夹”排除不是“文件”排除否则后续新增的 dll 也会被删。有的安全软件还有“启发式检测”和“云查杀”光加白名单可能不够需要暂时关闭实时防护测试一下。我曾经手里有一台机器cgminer 运行十几分钟就被结束掉任务管理器里也看不到它只有日志里留有“USB: dropped connection”的字样。最后发现是安全软件把 cgminer 的“--api-network”监听行为当作后门处理。所以如果你开启了 API 监听白名单要针对整个目录且只允许本机访问 API。6. 装完怎么验证跑通从版本检查到算力曲线到这里环境基本装好了。最后一步不是看算力数字而是按顺序做三轮验证。第一轮验证程序本身。在 cgminer 目录下执行“cgminer.exe --version”看是否返回版本号“3.1.1”。如果这条命令通过说明 dll 依赖和兼容模式都没有大问题。同时执行“clinfo”检查 OpenCL 平台是否可见对 USB 矿机则打开设备管理器确认“WinUSB Device”存在。第二轮验证矿池连通性。启动 cgminer 后观察首屏日志里的“STATUS”。正常情况下会看到“Connected to Stratum”和“Difficulty”出现。如果一直显示“Waiting for acceptable answer”说明算法或者用户名密码不对。此时按“S”键查看“矿池状态”确认“Stratum”为“Alive”且“Accepted”计数在增长。第一次启动建议不要用真实矿池连接可以在本机用矿池软件搭建一个模拟矿池地址配置好“-o stratumtcp://127.0.0.1:3333”连通后再切真实矿池。第三轮验证设备算力。USB 矿机在日志中会显示每个设备的“GHS 5s”或“MHS 5s”指标。刚启动的前 30 秒算力波动很大属于正常现象等 5 分钟后再看。如果算力为 0按“R”键重启设备再按“L”看设备日志。显卡挖矿则用“--gpu-threads 2”和“--intensity 13”的组合在保证稳定性的前提下慢慢提升强度。从那以后我每次给新矿机配系统都会强制走一遍“先验证版本 – 再看矿池连接 – 最后确认算力”的顺序而不是一上来就盯着收益数字。希望这套流程能帮你在 cgminer 3.1.1 windows 上少走点弯路。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑