如果我删除了,我该如何启动 RHEL VM /bin/bash
?尝试启动时,我现在收到以下错误:
"INIT: Cannot execute "/etc/rc/d/rc.sysinit"
我接下来尝试的是修改内核启动参数,在行init=/bin/ksh
尾添加以下内容,这样我就有了一个可以运行的 shell。之后,为了获得写入权限,我使用以下命令重新挂载了根分区:
mount -o remount,rw /
然后我尝试使用 ksh 作为 shell 进行启动,欺骗系统让它认为它是 bash:
ln -s /bin/ksh /bin/bash
然后正常重启系统。不幸的是,这没有起作用,因为 ksh 不兼容并且/etc/rc.d/rc.sysinit
使用了一些特定于 bash 的技巧。
还有人能建议我如何在不重新安装 bash 的情况下让系统正常启动吗?
答案1
最好的办法是从 启动CDROM
,然后:
mount / /mount/point
(读写)cp /bin/bash /mount/point/bin/bash
答案2
RHEL 使用 bash 作为其默认 shell。最好的办法是将其复制回去。您可以使用 DVD 或其他媒体启动linux rescue
并将 /bin/bash 复制到 /mnt/sysimage/bin/
如果这是虚拟机,您还有其他几个选择:
- 删除 shell 之前是否有快照?如果有,您可以备份到快照吗?
- 您是否拥有不容丢失的数据或文件?如果这是相对较新的安装或测试安装,最快的解决方法可能是将其删除并重新创建。
祝你好运!