umount不可用时如何卸载?

想象一下,你不小心使用mount --bind来隐藏/bin这样umount (和大多数其他的二进制文件)不再可见。

你将如何摆脱这种情况?

有除硬重启之外的任何方法吗?

幸运的是/bin实际上是相当小的,它只是非常基本的工具和shell。 只要你有一个root shell仍然打开,你应该可以使用/ usr / bin中的工具来下载你的发行版中已经安装的软件包(例如在Debian上的apt-get install -d mount ),然后从下载的软件包中手动提取文件( dpkg-deb -x mount.whatever.deb /some/temp/folder ),然后在该文件夹中使用./umount

哈,重启可能不工作,因为这可能需要从/bin工具:)

我猜这些不会工作:

  • scp'ing 机器(您的shell不存在,login将被拒绝)
  • dpkg -x / dpkg -i / rpm -i,因为这些很可能需要/ bin中的东西

我只是重新启动。 没有什么不对的:)

如果你不想重新启动,我会试着从同一个os的另一台机器上scp / wget一个/ bin / umount的副本,然后运行它。

实际上,如果你不想重新启动,你可以回到你保存的那些好的备份上,然后恢复丢失的相应区域。 (亲自,我会重新启动,保持干净)。

如果您的根文件系统支持快照,您可以创build一个快照,并从应该复制到分区的快照中复制/ bin文件(忘记了不能挂载它)。

否则,如果你有一个备用的分区,你可以使用dd来复制根分区,并以这种方式获取/ bin文件。 可能与外部USB驱动器。

最后,如果你的networking工作,你可以从类似的系统中复制命令。