我把 bashrc 文件搞得一团糟。我正在安装 Gurobi,必须在 bashrc 文件中设置路径变量。因此,我用路径变量替换了 bashrc 中的所有文本并保存了 bashrc 文件。我还确保,如果发生任何不好的事情,我有这个文件的备份。原始未修改的备份文件位于下载文件夹中。
现在,当我重新启动系统时,尽管输入了正确的密码,我还是无法登录。因此,我想请你帮忙。考虑到我仍然在 Downloads 目录中有 bashrc 文件,可以采取哪些修复措施
答案1
使用 LiveUSB 或 LiveDVD。
启动实时会话,安装硬盘,然后将原始.bashrc
文件复制到修改后的文件上。
然后您可以安全地重新启动(弹出 USB 或 DVD)。
一般信息:如果您没有.bashrc
文件备份,您可以使用 liveUSB/DVD 中的文件。
答案2
你应该能够启动进入恢复模式,这将允许您进入 root shell,然后从那里纠正问题。这样就无需下载其他操作系统。
摘自 Ubuntu wiki 的说明:
- 打开你的电脑。
- 等待 BIOS 加载完成或即将完成。(在此期间,您可能会看到计算机制造商的徽标。)
快速按住 Shift 键,这将调出 GNU GRUB 菜单。(如果您看到 Ubuntu 徽标,则说明您错过了进入 GRUB 菜单的位置。)
选择以“ ”开头的行
Advanced options
。选择以“ ”结尾的行
(recovery mode)
,可能是第二行,类似于:
Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)
按下回车键,您的机器将开始启动过程。
片刻之后,您的工作站将显示一个带有多个选项的菜单。其中一个选项(您可能需要向下滚动到列表底部)将是“
Drop to root shell prompt
”。突出显示此选项后,按回车键。根分区以只读方式挂载。要以读/写方式挂载,请输入命令
mount -o remount,rw /
如果您在单独的分区上有 /home、/boot、/tmp 或任何其他挂载点,则可以使用命令挂载它们
mount --all
(这必须按照步骤 8 进行才能
/etc/mtab
写入。)
如果你没有恢复选项,你可以e在 GRUB 中按下 来编辑标准启动选项,并recovery
在行末添加linux
(默认为倒数第二行,就在 之前initrd
)。然后按下F10来运行它。
答案3
使用实时 CD
- 使用 Live CD/DVD 启动。如果您没有 iso 并且不想下载大 iso,请下载 Tiny Core - 10MB。
- 在命令行中输入您的 Ubuntu 分区在
sudo mount /dev/sdXn /mnt
哪里。sdXn
- 类型
cd /mnt/home/<your user name>/Downloads
。 - 现在使用此命令将您的恢复
.bashrc
为新的。.bashrc
mv ../.bashrc ../.bashrc_old && cp ./.bashrc ../
- 现在重新启动您的系统,您就可以开始了。
答案4
通过 SFTP 连接
通过 SFTP 连接到系统,无论是从另一台 Linux 机器的内置sftp
命令还是使用 WinSCP 或 FileZilla 的 PC,然后修复文件。该.bashrc
文件通常不涉及 SFTP(可以调整authorized_keys
文件以使其参与,但怀疑您是否这样做过)。