![如何恢复已删除或覆盖的 bash](https://linux22.com/image/1001479/%E5%A6%82%E4%BD%95%E6%81%A2%E5%A4%8D%E5%B7%B2%E5%88%A0%E9%99%A4%E6%88%96%E8%A6%86%E7%9B%96%E7%9A%84%20bash.png)
我已经/bin/bash
用另一个可执行文件覆盖了我想要mv
的/bin
现在我在普通用户登录以及登录前可以访问的++终端中ctrl都有登录循环。altF1
恢复模式启动了,但在检查通过后,我进入的是登录屏幕,而不是真正的恢复界面。
BIOS 中已关闭安全启动。
还有其他方法可以恢复已删除的 bash 吗?
答案1
如果您无权访问活动磁盘:
在启动系统时按住 ,shift出现 grub 菜单,按e,编辑默认菜单项,找到以“Linux”开头的行并init=/bin/sh
在该行末尾添加,然后按Ctrl+ X。
现在你将进入一个dash
shell,运行:
chsh username -s /bin/sh
重新启动系统,现在您可以成功登录并且您将拥有一个dash
shell,重新安装您的 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
从 USB/DVD 启动实时 Ubuntu,并将其复制
/bin/bash
到您的 Ubuntu 安装上,以获得一个几乎可以正常运行的系统。启动 Ubuntu 安装并运行
sudo apt-get install --reinstall bash
将所有 Bash 文件恢复到应有的状态。