我做错了事。我安装
/dev/mapper/vgpool-lvstuff7
到了/
,那很糟糕。我怎样才能卸下那个东西?
答案1
我强烈建议重新启动以彻底解决问题。
但如果你反对的话,那就试试吧umount -l
。
答案2
安装某些东西/
会隐藏所有现有的安装。要解决此问题,您需要某种方法以 root 身份发出mount
或umount
系统调用。
如果您运行来自 的程序umount /
,它将失败,因为执行卸载的程序正在使用该卷。我认为可行:假设没有其他程序在运行(如果有,请先杀死它们),退出时该卷将被卸载。umount
vgpool-lvstuff7
umount -l
vgpool-lvstuff7
umount
另一种可能的方法是使用mount --bind
和mount --move
。在某处安装tmpfs
文件系统 ( mkdir /z; mount -t tmpfs scratch /z; mkdir /z/root
) 并尝试mount
在那里复制或创建程序,然后运行mount --bind / /z/root
.vgpool-lvstuff7
然后可以在 处访问该卷/z/root
。我不确定此时是否可以移动根安装。
如果您无法访问该mount
程序,也没关系,只要您有办法获得 root shell 并访问/proc
.您可以通过以下方式访问原始根目录/proc/1/root
:虽然这看起来像是一个无用的符号链接/
,但它实际上是一个神奇链接——取消引用它会将您带到 PID 为 1 (init) 的程序的实际根分区。因此您始终可以通过umount
访问/proc/1/root/bin/umount
。
如果您没有/proc
,获取该umount
程序的另一种方法是从某个地方复制它,甚至只是一个仅调用umount
系统调用的小二进制文件,或者您可以从某些解释语言(例如 perl)调用系统调用。
答案3
检查一下/proc/mounts
,没有df
。看起来df
很困惑(可能是因为/etc/mtab
错误)。
如果它们实际上都安装在 上/
,则df
两者将显示相同的统计信息(大小、使用中、空闲、百分比)。