ImmortalWrt 中文教程:给路由器刷入更适合国内使用的 OpenWrt 固件
2026-08-30发表于
编程语言一、速览:为什么国内用户更爱用 ImmortalWrt
入门
路由器相当于你家网络的"管家",而 OpenWrt 就是一套可以自由改装的路由器系统。ImmortalWrt 是 OpenWrt 的一个分支(可以理解成"改良版"),专门为国内用户做了三件事:预装更多常用软件包、支持更多国内能买到的路由器型号、默认配置更适合国内网络环境。
如果你觉得原厂路由器功能太少(比如无法科学上网、无法去广告、无法限速),刷入 ImmortalWrt 就能解锁这些能力。它默认的登录地址是 http://192.168.1.1 或 http://immortalwrt.lan,用户名 root,初始密码为空。
相比原版 OpenWrt,ImmortalWrt 最大的优势是"开箱即用"——不需要刷完再折腾半天装驱动、调中文界面,默认就已经帮你配好了大部分事情。
二、下载固件:三种方式按需选择
入门
刷机前第一步是找到适合你路由器型号的固件文件。ImmortalWrt 提供三种下载途径:
方式一:Firmware Selector(推荐新手)
访问 Firmware Selector,在搜索框输入你的路由器型号(比如 xiaomi_redmi-router-ax6s),它会自动匹配并列出可下载的固件。这个工具会帮你筛选出从原厂固件直接刷入的 factory 镜像,避免刷错变砖。
方式二:官网下载站
访问 https://downloads.immortalwrt.org,按设备架构(如 x86_64、ramips、ipq40xx 等)浏览目录。这种方式适合你已经知道自己设备架构的情况。
方式三:直接搜型号
在搜索引擎搜索"你的路由器型号 + immortalwrt",通常能找到社区玩家分享的刷机教程和固件链接。
注意:刷机前务必确认固件文件名中包含你的设备型号,并且区分
factory(从原厂刷入用)和sysupgrade(从 OpenWrt 升级用)两种镜像,混用会导致变砖。
三、刷入固件:两种常见场景
入门
场景一:从原厂固件刷入
大多数路由器需要在原厂管理后台的"固件升级"页面手动上传 factory 镜像。具体步骤因品牌而异,但通用流程是:
- 进入路由器管理后台(通常是 192.168.1.1)
- 找到"系统升级"或"固件更新"选项
- 选择下载好的
factory镜像并上传 - 等待 3-5 分钟,路由器会自动重启
场景二:从 OpenWrt 升级到 ImmortalWrt
如果你已经在用 OpenWrt,可以直接在 LuCI 界面(OpenWrt 的网页管理界面)的"系统 → 备份/升级"中上传 sysupgrade 镜像,保留配置升级。
建议:刷机前先备份当前配置。在 LuCI 的"系统 → 备份/升级"中点击"生成备份"即可下载一个 tar.gz 文件,刷完可以恢复。
四、首次启动:完成基础配置
入门
刷机完成后,用网线连接路由器 LAN 口和电脑,浏览器访问 http://192.168.1.1 或 http://immortalwrt.lan。你会看到 LuCI 网页管理界面,这是 ImmortalWrt 的"控制面板"。
首次登录需要做三件事:
- 设置 root 密码:在"系统 → 管理权"中设置一个强密码,这是你路由器的最高权限凭证
- 配置上网方式:在"网络 → 接口"中,根据你的宽带类型选择 DHCP(自动获取)、PPPoE(拨号上网)或静态 IP
- 更新软件源:在"系统 → 软件包"中点击"更新列表",确保能安装最新软件
完成这三步,你的路由器就已经能正常上网了。接下来可以按需安装软件包——在"系统 → 软件包"的搜索框中输入关键词,点击"安装"即可,不需要手动下载文件。
五、进阶:自己编译专属固件
进阶 · 推荐细读
如果你需要预装特定插件、去掉用不到的组件,或者想给路由器"瘦身",可以自己编译固件。编译过程需要一台 Linux 电脑(推荐 Debian 11),至少 4GB 内存和 25GB 磁盘空间。
前置条件
- 一台 AMD64 架构的电脑(Intel 或 AMD 的普通 PC 都行)
- 能正常访问互联网
- 磁盘文件系统必须区分大小写(Linux 原生文件系统都满足)
安装编译依赖
sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache clang cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib \
g++-multilib git gnutls-dev gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libelf-dev \
libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses-dev libpython3-dev \
libreadline-dev libssl-dev libtool libyaml-dev libz-dev lld llvm lrzsz mkisofs msmtp nano \
ninja-build p7zip p7zip-full patch pkgconf python3 python3-pip python3-ply python3-docutils \
python3-pyelftools qemu-utils re2c rsync scons squashfs-tools subversion swig texinfo uglifyjs \
upx-ucl unzip vim wget xmlto xxd zlib1g-dev zstd
也可以使用官方提供的一键脚本:
sudo bash -c 'bash <(curl -s https://build-scripts.immortalwrt.org/init_build_environment.sh)'
获取源码并开始编译
## 1. 克隆源码(不要用 root 用户操作)
git clone https://github.com/immortalwrt/immortalwrt.git
cd immortalwrt
## 2. 更新软件源
./scripts/feeds update -a
./scripts/feeds install -a
## 3. 选择配置(会打开一个图形化菜单)
make menuconfig
## 4. 开始编译(首次需要数小时)
make -j$(nproc)
在 make menuconfig 界面中,你需要选择目标设备(Target System 和 Subtarget)、具体型号(Target Profile),以及要预装的软件包。编译完成后,固件会输出在 bin/targets/ 目录下。
重要提醒:编译全程不要用 root 用户,不要 sudo。工作目录路径中不能有空格或非 ASCII 字符。如果使用 WSL(Windows 的 Linux 子系统),需要把 Windows 的 PATH 路径从环境变量中移除。
六、常见问题与踩坑
深入 · 老手可选
刷机后无法进入管理界面
先确认电脑 IP 是否和路由器在同一网段。手动设置电脑 IP 为 192.168.1.2,子网掩码 255.255.255.0,然后访问 192.168.1.1。如果仍然不行,尝试按住路由器 Reset 键 10 秒恢复出厂设置。
编译报错缺少依赖
不同 Linux 发行版的包名不同。如果你用的不是 Debian/Ubuntu,建议先安装官方脚本 init_build_environment.sh,它会自动检测并安装缺失的依赖。
内存不足导致编译失败
编译过程非常消耗内存,4GB 是下限。如果编译过程中出现 Killed 或 Out of memory 错误,建议关闭其他程序,或者增加交换空间:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
软件包安装失败
如果 LuCI 界面中安装软件包提示失败,先检查软件源是否已更新。在"系统 → 软件包"中点击"更新列表",等待完成后再试。
升级固件后配置丢失
升级前务必在"系统 → 备份/升级"中勾选"保留配置",或者手动下载备份文件。ImmortalWrt 的 sysupgrade 镜像支持保留配置升级,但跨大版本升级时仍有风险,建议先备份。
ImmortalWrt 的社区活跃度很高,遇到问题可以在官方论坛或 GitHub Issues 中搜索,大部分常见问题都有现成解决方案。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | immortalwrt/immortalwrt |
| 语言 | C |
| Star | 11,506 |
| Fork | 3,854 |
| 主页 | https://downloads.immortalwrt.org |
参考链接
延伸阅读
想继续探索?这些同领域的教程可能也适合你:
121
72
1
1344
文章目录
评论