如何恢复已删除或覆盖的 bash

如何恢复已删除或覆盖的 bash

我已经/bin/bash用另一个可执行文件覆盖了我想要mv/bin

现在我在普通用户登录以及登录前可以访问的++终端中ctrl都有登录循环。altF1

恢复模式启动了,但在检查通过后,我进入的是登录屏幕,而不是真正的恢复界面。

BIOS 中已关闭安全启动。

还有其他方法可以恢复已删除的 bash 吗?

答案1

如果您无权访问活动磁盘:

在启动系统时按住 ,shift出现 grub 菜单,按e,编辑默认菜单项,找到以“Linux”开头的行并init=/bin/sh在该行末尾添加,然后按Ctrl+ X

现在你将进入一个dashshell,运行:

chsh username -s /bin/sh

重新启动系统,现在您可以成功登录并且您将拥有一个dashshell,重新安装您的 bash:

sudo apt-get install --reinstall bash

然后将默认 shell 更改为 bash:

sudo chsh username -s /bin/bash

当你仍有一个正在运行的终端时:

作为一个骨架,如果你曾经删除了一个具有正在运行实例的程序,你可以轻松地从“procfs”中恢复它,如果bash你有一个运行 bash 的终端,你可以通过运行来修复 bash:

sudo cp /proc/$$/exe /bin/bash

答案2

  1. 从 USB/DVD 启动实时 Ubuntu,并将其复制/bin/bash到您的 Ubuntu 安装上,以获得一个几乎可以正常运行的系统。

  2. 启动 Ubuntu 安装并运行

    sudo apt-get install --reinstall bash
    

    将所有 Bash 文件恢复到应有的状态。

相关内容