TTY 根本不响应任何内容

TTY 根本不响应任何内容

好吧,我好像是个硬盘杀手。几个月前,我的一台笔记本电脑硬盘有问题,需要我更换磁盘。

现在,我有一台单独的笔记本电脑,上面有很多坏扇区(我不知道它们坏了多久了,但几天前我不小心摔了电脑),导致出现很多坏块。我设法使用 重新映射了这些坏块e2fsck -y -c -f /dev/sda5,但出于某种原因,我无法让 TTY 再次工作。

每当我进入任何 TTY 屏幕时,都会看到一个闪烁的光标,类似于白色下划线。从那里开始,计算机完全忽略我尝试输入的任何内容。TTY 甚至不会要求我输入用户名/密码(如果我尝试输入密码,我将再次被忽略)。我所能做的就是使用CTRL+ ALT+切换回我的桌面F7

由于 TTY 是 GNU 核心实用程序的一部分,我决定尝试运行repair coreutils(“修复”是一个 bash 别名,它反过来运行sudo apt-get -y --force-yes --reinstall install),但这根本没有帮助。我也试过了sudo dpkg-reconfigure coreutils,但还是……没用。我唯一没有尝试过的是完全删除 coreutils,运行“apt-get autoremove --purge”,然后从头开始重新安装 coreutils(除非必要,我甚至不敢尝试这样的事情!)。

我目前正在 Ubuntu 13.10 i386 桌面版上运行 Cinnamon 桌面(lightdm 登录)。此外,如果我sudo -i login从 gnome-terminal 运行,它几乎可以按预期工作。

附言:我不想再购买另一个硬盘,因为我只是做兼职,可以将这笔钱用在其他地方。

更新:我认为问题可能出在 getty(或 agetty)上,因为每次我运行“getty 0”时,都会得到一个分段故障错误。有人知道如何重新安装 getty 吗?sudo apt-get install getty似乎不起作用(E:无法找到 getty 包),agetty 也一样。

答案1

检查 getty 是否已损坏(我们已经非常确定)的一种方法是将其 md5sum 与未损坏的 getty 的 md5sum 进行对比。为此,我们需要实时媒体。

启动 liveCD(或 DVD、USB、SD 或其他)。单击“试用 Ubuntu”。桌面加载后,您需要安装包含 Ubuntu 的硬盘分区(您应该可以从 Nautilus 执行此操作,只需单击驱动器名称/大小,它就会自动安装)。

挂载 Ubuntu 分区后,你需要找出在哪里它已安装。我的安装在 下/media/ubuntu/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX。完成后,打开终端并导航到/sbin

cd /sbin  

这是 getty 可执行文件所在的位置。现在运行:

md5sum getty  

您应该会得到一个由字母数字字符组成的 32 个字符串,后面跟着单词“getty”。这是 LiveCD 的 getty 的 md5sum。现在转到您的 ubuntu 安装/sbin文件夹:

cd /media/ubuntu/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/sbin  

替换/media/ubuntu/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX为你的 Ubuntu 分区安装的位置(应该类似)。现在运行

md5sum getty 

再次。这次的输出针对的是系统上的 getty。如果 md5sum 不匹配,则其中一个 getty 已损坏。

在此处输入图片描述

如果 md5sum 不匹配,让我们用 liveCD 上的 getty 替换系统上的 getty:

cp /sbin/getty /media/ubuntu/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/sbin

重新启动系统并再次尝试 ttys。当然,损坏的可能不止 getty 可执行文件,因此这可能无法完全解决问题。

作为参考,我的 getty 的 md5sum 是

ef47463b761005305c9cb42a38183095

请记住,在移动笔记本电脑之前最好先将其置于睡眠状态。

答案2

顺便说一句,有一种方法可以找出该文件属于哪个包。如果你输入dpkg-query -S /sbin/getty,它会告诉你这是util-linux包的一部分。所以,如果重新安装该包,一切都会好起来。我没有测试过这个,因为这个问题几年前就或多或少解决了,但它应该适用于任何损坏的程序(除了那些不是以 Debian 软件包形式安装的程序)。我只是想在这里发布它,以防它碰巧对某人有用。

相关内容