83 Star 677 Fork 63

Moe/TMOE

 / 详情

chroot 容器在卸载时会一并卸载内部存储

进行中
创建于  
2022-04-23 14:22

架构与系统版本

container value
os archlinuxarm
arch arm64
type chroot

host value
os android 12 miui13
arch arm64
terminal termux
tmoe latest

该问题是怎么引起的

停止 chroot 容器

报错信息或截图

如题,chroot 容器卸载(即停止容器进程)时,会导致宿主安卓系统的内部存储(比如 /sdcard /storage/emulated/0 等)均被卸载,变为 0kb 符号链接,需要重启设备才能恢复,影响使用体验。

评论 (17)

YidaozhanYa 创建了任务 3年前
5617340 mo2 1648809770 Moe 拥有者 3年前

吓死了,我还以为内置存储被清空了。
原来只是被 unmounted 掉了。

5617340 mo2 1648809770 Moe 拥有者 3年前

之前用 tmoe 也会这样子吗?

5617340 mo2 1648809770 Moe 拥有者 3年前

输入图片说明
对于共享sd,你选的是哪个?

YidaozhanYa-YidaozhanYa YidaozhanYa
回复 Moe 拥有者
3年前

第四个

5617340 mo2 1648809770 Moe 拥有者 3年前

做个小测试

cd $TMPDIR
mkdir -pv sd
su -c "/system/bin/mount -o bind /sdcard $PWD/sd"
sudo ls sd
su -c "/system/bin/umount -lvf $PWD/sd"
ls /sdcard

然后看看发生了什么

YidaozhanYa-YidaozhanYa YidaozhanYa
回复 Moe 拥有者
3年前

控制台输出正常,但实际上 /sdcard 也跟着被解除挂载了

YidaozhanYa-YidaozhanYa YidaozhanYa
回复 Moe 拥有者
3年前

感谢。

5617340 mo2 1648809770 Moe 拥有者
回复 YidaozhanYa
3年前

客气了。话说回来,我并没有帮到你什么呀!

5617340 mo2 1648809770 Moe 拥有者
回复 YidaozhanYa
3年前

/system/bin/mount/system/bin/umount 都是 android 系统自带的命令,在有些系统上,它们软链接到 android 自带的 toybox

从理论上来说, umount 不应该把挂载源也给卸载掉,而是只卸载挂载点。
根据以往的经验来看,这可能不是 android 系统的锅,而是 magisk 的锅。

在我的系统上,并没有复现此bug。
你把“共享sd目录”修改为 "/data/media/0/Download" 或者是 "/data/media/0" 路径下的其他子目录看看。
注:不要用整个内置存储。

YidaozhanYa-YidaozhanYa YidaozhanYa
回复 Moe 拥有者
3年前

建议在下个版本加入高版本面具挂载整个内部存储,在卸载时会解除挂载的提示~

5617340 mo2 1648809770 Moe 拥有者
回复 YidaozhanYa
3年前

输入图片说明
这个不一定是 Magisk 的锅。就算它的锅,它之后也有可能会修好。
我加了个提示“不建议挂载整个内置存储”,你既可以挂载也可以不挂载。

5617340 mo2 1648809770 Moe 拥有者 3年前

顺带问一下,你的 magisk 版本是多少?
最近是不是升级过?

YidaozhanYa-YidaozhanYa YidaozhanYa
回复 Moe 拥有者
3年前

最新版

YidaozhanYa-YidaozhanYa YidaozhanYa
回复 Moe 拥有者
3年前

24.3
新装的,不是升级

Moe 任务状态待办的 修改为已完成 3年前
Moe 任务状态已完成 修改为进行中 3年前

请问对于已创建的容器,还能修改 共享SD目录 吗?

5617340 mo2 1648809770 Moe 拥有者
回复 EsingZ
1年前

可以。
全局配置影响默认创建的容器,单独配置影响已经创建的容器,对于已经创建的容器,需要单独配置。

全局配置: chroot/unshare/systemd 容器 ---> 配置与手册 ---> Shared dir 共享目录

单独配置: chroot/unshare/systemd 容器 ---> List installed ---> [容器名称] ---> 环境变量与登录项管理 ---> 挂载 sd 。

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(4)
5617340 mo2 1648809770 YidaozhanYa-YidaozhanYa 10525926 esingz 1662941347 cup_milk-cupmilk
1
https://gitee.com/mo2/linux.git
git@gitee.com:mo2/linux.git
mo2
linux
TMOE

搜索帮助

371d5123 14472233 46e8bd33 14472233