在 x86 软路由上面首次安装 OpenWrt 还是有点麻烦的,但是安装完成之后更新系统就比较简单了。推荐 x86-64-generic-squashfs-combined-efi 的系统。
需要提前准备好 Ventoy, PE,dd 工具和 OpenWrt 系统镜像。
其他可用的可以代替 dd 的工具有 physdiskwrite 和 Roadkil’s Disk Image
在 PE 中执行 dd 命令有可能会报
wow32.dll不存在,需要提前准备好。
通过 Ventoy 启动 PE 之后,执行如下的命令:
# 先删除安装磁盘的分区表,使磁盘没有任何的分区
# 列出系统中的磁盘
dd --list
# 查找到要安装的磁盘的路径,\\?\Device\Harddisk0\Partition0
# 其中 Partition0 表示整个磁盘
dd if=openwrt-25.12.4-x86-64-generic-squashfs-combined-efi.img bs=1M of=\\?\Device\Harddisk0\Partition0
# 然后重启即可
但是 OpenWrt 官方镜像的 x86 镜像的数据分区是 104M,安装完系统之后可用的空间是 86M,如果需要安装的插件占用的空间比较多,可能会面临空间不够的情况,一般使用 x86 的软路由磁盘空间都是比较足的,推荐使用官方扩容脚本进行扩容。
# Install packages
apk update
apk add parted losetup resize2fs blkid
# Download expand-root.sh
wget -U "" -O expand-root.sh "https://openwrt.org/_export/code/docs/guide-user/advanced/expand_root?codeblock=0"
chmod +x expand-root.sh
# Source the script (creates /etc/uci-defaults/70-rootpt-resize and /etc/uci-defaults/80-rootfs-resize, and adds them to /etc/sysupgrade.conf so they will be re-run after a sysupgrade)
. ./expand-root.sh
# Resize root partition and filesystem (will resize partiton, reboot resize filesystem, and reboot again)
sh /etc/uci-defaults/70-rootpt-resize
或者可以通过下面的命令对 overlay 分区进行扩容。
apk update
apk add parted losetup resize2fs blkid e2fsprogs f2fs-tools
# 1. 检查当前状态(扩容前必看)
parted /dev/sda print
# Loop 设备详情
losetup -l /dev/loop0
blkid /dev/loop0
# 2. 扩展物理分区,方案 A 和 方案 B 二选一
# 方案 A. 扩展到磁盘末尾,我选择方案 A
parted -s /dev/sda resizepart 2 100%
# 方案 B. 扩展到指定大小
# parted -s /dev/sda resizepart 2 4GB
# 验证分区是否已扩展
parted /dev/sda print
# 3. 重启(必须)
reboot
# 重新登陆后继续执行
# 4. 重启后,扩展文件系统
# 关键:刷新 loop 设备容量,让它"感知"到底层 sda2 变大了
losetup -c /dev/loop0
# 再次确认文件系统类型(确保用对工具)
blkid /dev/loop0
# 预期输出类似:/dev/loop0: UUID="xxx" TYPE="ext4"
# 执行扩容
resize2fs -f /dev/loop0
# 5. 验证结果
# 扩容后空间
df -h /overlay
# Loop 设备确认
losetup -l /dev/loop0
# 分区表确认
parted /dev/sda print
通过上面的方式对 overlay 进行扩容,并不会使恢复出厂设置失效。但是如果刷写了新的固件,那么就会将分区的大小恢复成 OpenWrt 默认的大小,如果使用官方扩容命令,需要安装依赖软件后执行最后一条命令,如果是手动扩容需要将上面的扩容命令再执行一遍。
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 5.8M 5.8M 0 100% /rom
tmpfs 3.8G 256.0K 3.8G 0% /tmp
/dev/loop0 7.5G 1.4M 104M 0% /overlay
overlayfs:/overlay 7.5G 1.4M 104M 0% /
/dev/sda1 16.0M 6.2M 9.7M 39% /boot
/dev/sda1 16.0M 6.2M 9.7M 39% /boot
tmpfs 512.0K 0 512.0K 0% /dev