侧边栏壁纸
博主头像
龍騰博客 博主等级

行动起来,活在当下

  • 累计撰写 119 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

利用 fstab 绑定挂载 (Mount Bind)实现 AdGuardHome搬迁

管理员
2026-04-01 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

工业级方案——利用 fstab 绑定挂载 (Mount Bind)

底层逻辑:什么是“绑定挂载” (Bind Mount)?

传统的挂载是把“整块硬盘”塞进一个文件夹。而绑定挂载mount --bind)可以将“文件夹 A”映射到“文件夹 B”。

  • 物理位置/mnt/data/**** (在 新盘里)

  • 映射位置/etc/****(在系统 Overlay 里)

  • 结果:所有对 /etc/**** 的读写,都会被静默重定向到新盘。Overlay 空间占用始终为 0

这是最专业的做法,连“软链接”都不需要,直接在内核层面把 D 盘的某个文件夹“映射”给 C 盘。

原理:系统 -> 挂载点 中,除了挂载整个硬盘,你还可以设置“绑定挂载”。

  • 源路径/mnt/data/****

  • 目标路径/etc/****

优点: * 刷机不丢:如果你在刷机时勾选了“保留配置”,OpenWrt 会保留 /etc/config/fstab 文件。

  • 无缝衔接:刷机重启后,系统会自动把独立硬盘里的文件夹“塞进”系统目录,你甚至感觉不到路径改变过。

当你下次 刷入新固件并选择**“保留配置”**时:

  1. 配置文件不丢/etc/config/fstab 会被系统自动备份并还原。

  2. 自动识别:新系统启动时,读取到 fstab 里的“绑定挂载”指令。

  3. 瞬间复活:系统会自动寻找 /mnt/data/**** 并将其塞回 /etc/****

  4. 无需重新配置:你打开 ****界面时,内核(Core)、订阅、规则都在,直接点击“启动”即可。

第一步:物理搬家(腾出系统盘空间)

我们将最占空间的程序文件和配置文件夹搬到你的 10GB 新硬盘 (/mnt/data) 上。

  1. 移动主程序(释放约 30MB)

    Bash

    mkdir -p /mnt/data/AdGuardHome/bin
    mv /usr/bin/AdGuardHome /mnt/data/AdGuardHome/bin/AdGuardHome_bin
    
  2. 移动配置文件目录(释放日志和数据库空间)

    Bash

    mkdir -p /mnt/data/AdGuardHome/config
    # 如果 /etc/AdGuardHome 存在,将其内容拷走并清空
    [ -d /etc/AdGuardHome ] && cp -a /etc/AdGuardHome/* /mnt/data/AdGuardHome/config/
    rm -rf /etc/AdGuardHome/*
    

第二步:配置内核级绑定 (fstab)

我们要让系统自动关联这两个路径,确保刷机后“原地复活”。

  1. 编辑 fstab 文件

    Bash

    vi /etc/config/fstab
    
  2. G 跳到末尾,按 i 进入编辑模式,粘贴以下内容

    代码段

    config mount
        option target '/etc/AdGuardHome'
        option device '/mnt/data/AdGuardHome/config'
        option options 'bind'
        option enabled '1'
    
  3. Esc,输入 :wq 回车保存。


第三步:建立软链接并激活

  1. 建立程序软链接(让系统在 /usr/bin 依然能找到它):

    Bash

    ln -s /mnt/data/AdGuardHome/bin/AdGuardHome_bin /usr/bin/AdGuardHome
    
  2. 生效挂载并检查空间

    Bash

    block mount
    df -h /overlay
    

0

评论区