Linux
無法登錄 bash
我試圖在 VMware 上的虛擬 Debian 伺服器上安裝 ncurses,但不知何故不成功。退出控制台後,我意識到我無法再登錄了。我無法使用 scp、WinSCP 或 SSH 客戶端等工具進入伺服器。當我嘗試在 getty 控制台上登錄時,我收到以下消息並再次出現在登錄提示符下。簡而言之,我被拒之門外
$$ virtual $$伺服器。這是一個生產伺服器,因此重新啟動它將是最後的手段。 我已經下載了幾張 live CD——該死的小型 Linux 和 Slitaz——很遺憾,它們無法檢測到 VM 硬碟。更改虛擬機的硬碟控制器會導致數據失去嗎?
login as: saichovsky saichovsky@172.16.13.7's password: Linux myhost 2.6.32-5-amd64 #1 SMP Wed Jan 11 14:00:43 UTC 2012 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Fri Nov 2 17:39:03 2012 from 192.168.3.166 -bash: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
方法一:ssh 到 sh shell
如果您對主機有 ssh 訪問權限,請嘗試以下操作
ssh username@hostname "/bin/sh -i"
如果成功,這將讓您使用sh而不是 bash 登錄。
方法2:用另一個VM掛載VM Disk
我在https://superuser.com/questions/501861/locked-out-of-opensuse-after-editing-etc-pam-d-xdm/501927#501927發布了步驟。但他能夠以另一種方式解決。如果您想走這條路線,我將在此處粘貼步驟
VM1:麻煩的虛擬機
VM2:另一個具有 root 訪問權限的工作 VM。
- 關閉兩個虛擬機。
- 製作 VM1 虛擬磁碟文件的副本。
- 將 VM1 虛擬磁碟作為第二個磁碟添加到 VM2 磁碟控制器中。
- 啟動 VM2。
- 獲得根訪問權限。
- 掛載 VM1 磁碟。
假設 VM1 根分區是 /dev/sdb1
mkdir /mnt/sdb1 掛載 /dev/sdb1 /mnt/sdb1
- 相應地修改文件。
- 關閉 VM2。
- 從 VM2 中刪除 VM1 磁碟。
- 啟動 VM1 並進行測試。