在小米 8 上运行 Linux 系统的完整过程记录
在小米 8 上运行 Linux 系统的完整过程记录
0. 背景与目标
由于以下原因,我决定让一台退役的小米 8 运行 Linux 系统:
电脑存储空间有限
WSL(Windows Subsystem for Linux)体验欠佳
移动硬盘读写速度受限
目标:
先尝试安全、可逆的非刷机方案(Termux 模拟容器)
再探索完整刷机方案(Ubuntu Touch 原生运行)
全程记录每一步命令与注意事项,方便新手参考和自己回顾
1. 方案一:基于 Termux 的安全模拟环境
1.1 使用 tmoe 一键包快速部署
安装 Termux(官方版本)
从 Termux 官方 GitHub 下载最新版 APK 并安装。更新包管理器:
pkg upgrade安装 tmoe 一键包:
bash -c "$(curl -L l.tmoe.me)"进入 tmoe Linux Manager,常规使用可保持所有选项为默认值。
主要步骤:
安装并运行 proot 容器
指定共享 SD 目录
选择 Linux 发行版及版本
配置 root 用户信息
根据手机是否 root 决定安装哪种桌面环境
指定
startvnc为 VNC 启动命令
启动 VNC 图形环境:
重启 Termux
执行:
startvnc在手机或电脑上使用 VNC Viewer 连接(默认端口
5902)。
提示:此方案适合快速体验,但可定制性较低,并且容器为无 root 权限环境。
1.2 使用 SSH 从电脑连接 Termux
安装 openssh:
pkg install openssh注意:必须在未进入 proot 容器时安装,否则会进入容器内的终端。
设置密码并启动 sshd:
passwd sshd默认端口
8022。电脑端连接:
获取手机 IP(
ipconfig)和 Termux 用户名(whoami)。在电脑上:
ssh -p 8022 用户名@手机IP成功连接后可直接执行
startvnc启动图形界面。
1.3 手动配置纯净 Termux 环境
重装 Termux(保证干净环境)。
安装 openssh:
pkg update pkg upgrade pkg install openssh passwd sshd如果遇到密钥变化拒绝连接,在电脑执行:
ssh-keygen -R "[手机IP]:8022"
安装 Ubuntu 容器:
pkg install proot-distro proot-distro install ubuntu proot-distro login ubuntu安装桌面环境与 VNC:
apt update apt upgrade apt install xfce4 xfce4-goodies apt install tigervnc-standalone-server tigervnc-common vncserver :1端口号 = 5900 + 显示号(
:1→ 5901)
常见问题:
容器内执行
sudo报错:No superuser binary detected. Are you rooted?原因:proot-distro 属于无 root 模拟环境,
sudo仅为模拟命令。
2. 方案二:刷机为原生 Linux 系统(Ubuntu Touch)
2.1 解锁 Bootloader
进入开发者模式:
设置 → 我的设备 → 全部参数,连续点击 MIUI 版本 7 次
绑定小米账号:
设置 → 更多设置 → 开发者选项 → 设备解锁状态按提示绑定小米账号和 SIM 卡
使用解锁工具:
下载并登录小米官方 BL 解锁工具
手机关机,按
电源键 + 音量减进入 fastboot 模式连接电脑执行解锁
常见问题:
最新工具可能报错,建议使用历史版本
错误码 1004/-1 与网络相关,换网络或隔天重试
2.2 刷入 TWRP Recovery
下载 TWRP 镜像:
twrp-3.7.0_9-0-dipper.img刷入:
fastboot flash recovery twrp-3.7.0_9-0-dipper.img进入 TWRP:
按
电源键 + 音量加,选择语言 → 滑动进入主界面
2.3 刷入 fw-vendor(可选)
下载压缩包:
fw-vendor_dipper.zip安装步骤:
TWRP 主界面 → 清除 → 清除 Data
TWRP 主界面 → 重启 → Recovery
将压缩包传入手机
TWRP 主界面 → 安装 → 选择压缩包
TWRP 主界面 → 清除 → 高级清除 → 勾选:
Dalvik/ART Cache System Cache Data 内置存储
2.4 刷入 Ubuntu Touch
下载刷机包(参考 教程)并解压。
刷入镜像:
fastboot flash boot boot.img # 内核 fastboot flash system system.img # 系统 fastboot flash recovery recovery.img # 恢复环境重启进入 Ubuntu Touch。
已知问题:
关机后必须再次刷入 twrp,并恢复出厂设置才能进入系统
恢复会清空全部数据
3. 方案对比
4. 常见问题与排查
SSH 拒绝连接:检查端口、防火墙,或清除旧密钥
ssh-keygen -R "[IP]:端口"sudo 报错:非 root 容器无法获得真 root
刷机失败错误码 1004/-1:网络问题,换网络或隔天重试
TWRP 无法进入:重新刷入 recovery 镜像