Mic*_*ann 17 centos terminal virtualbox bash grub
这可能是一个重复的问题,但我对 CentOS 的登录/启动过程(尤其是在 VM 上)不够熟悉,不知道要搜索什么。
我在 VirtualBox 中运行 CentOS 7。我不小心附加gnome-terminal到我的~/.bashrc文件末尾。所以现在当我登录时会弹出一个终端窗口。该终端会话执行.bashrc,打开另一个窗口,等等,我被大量gnome-terminal终端窗口淹没。
我正在尝试在没有 GUI 登录的情况下登录终端会话(因此gnome-terminal失败),但没有 GUI 就无法启动它。我试过使用这个问题的答案,但没有成功。我每次都得到一个 GUI 登录:如何在 CLI 中启动 CentOS?. 是否有另一种方法可以在启动时编辑 grub 配置,或者从 GUI 登录获取新终端实例的方法,例如 Ubuntu 中的 Ctrl+Alt+F1?(是的,我试过了。它要么在 CentOS 7 中不起作用,要么在 VirtualBox VM 中不起作用。)或者有没有其他方法可以获得没有 GUI 的终端会话,所以我可以编辑我的.bashrc并解决这个烂摊子?
Cha*_*rge 24
您可以使用实时 Linux CD 启动,然后挂载 CentOS 文件系统,并从那里编辑 .bashrc 文件。
lex*_*lex 15
您可以编辑您的 grub 配置来加载一个 root shell,而不是进入 GUI。
e进行编辑。如果它没有出现,请重新启动并在启动过程中按住 Shift找到以linux16或开头的行linux。我的看起来像这样。你的可能略有不同
linux16 /vmlinuz-3.10.0-327.18.2.el7.x86_64 root=/dev/mapper/centos-root ro crashkernal=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF8
Run Code Online (Sandbox Code Playgroud)将roto rw(readonly标志更改为readwrite以便您可以写入更改)并附init=/bin/sh加到该行。这告诉 linux 运行/bin/sh而不是init在启动时运行。我的条目示例
linux16 /vmlinuz-3.10.0-327.18.2.el7.x86_64 root=/dev/mapper/centos-root rw crashkernal=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF8 init=/bin/sh
Run Code Online (Sandbox Code Playgroud)按 Ctrl-X 运行配置。它不会被保存。
将出现一个 root shell。使用它来编辑.bashrc和删除违规行。
请注意,您不应在此状态下继续使用操作系统,因为 shell 将作为 PID 1 运行,通常为init进程保留。您可以手动继续初始化,exec /sbin/init但我建议您重新启动
正常重启。您之前的更改将被遗忘。
我们实际上是在编辑从 GRUB 传递给 Linux 的引导选项,它告诉 Linux 以读写方式挂载根文件系统并启动/bin/shinit 进程
这对我使用 Centos 7 和 VirtualBox 4.3.12 有效
mur*_*uru 13
CtrlAltF1可能被主机捕获,或者 VirtualBox 可能没有正确传递它。一些快速测试告诉我,您可以使用VirtualBox 中定义的Host键而不是CtrlAlt(可以是 left Ctrl,或?Mac 上的 left )。因此,按下 ?F1切换到 VirtualBox 中的 TTY1 对我来说(对于?F7返回 GUI 也是如此)。
.bashrc到位的修复副本如果您有另一台机器可以使用,请复制损坏的文件并修复问题,然后将其放回原处。这避免了登录和调用任何登录命令。
user@backup ~ $ scp user@homehost:~/.bashrc busted.bashrc
user@backup ~ $ vim busted.bashrc # fix, fix
user@backup ~ $ scp busted.bashrc user@homehost:~/.bashrc
user@backup ~ $ rm busted.bashrc
Run Code Online (Sandbox Code Playgroud)
附录:正如 OP 在下面指出的那样,这需要 SSH 访问homehost. 如果这不是一个选项,但可以使用 FTP/SFTP,则任何文件传输方法都可以满足您的需求,只需安装更正的登录文件即可。
| 归档时间: |
|
| 查看次数: |
4260 次 |
| 最近记录: |