损坏的sudo:无法打开/etc/sudoers:没有这个文件或目录

我有一个使用Unetbootin安装的Ubuntu 11.04的活动USB持久化版本。
过了一段时间,我在升级内核和尝试在我的笔记本电脑上使用第二个屏幕时遇到了一些错误。然后我注意到一个奇怪的、似乎无关的问题:每次我尝试使用sudo something时,都会得到相同的响应:
sudo: can't open /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting

无法执行任何需要root权限的操作,我使用single启动选项重启,并能够访问根控制台。

我注意到以下行为:

# ll /etc/sudoers
-r--r----- 0 root root 1014 2011-05-31 16:23 /etc/sudoers
# cat /etc/sudoers
cat: /etc/sudoers: No such file or directory

硬链接计数为零是否有问题?我该如何更改它?在我的其他正常工作的计算机上,硬链接计数为1。
如果有关系的话,实时会话用户仍然属于管理员组。

请在您的USB驱动器的主目录中检查.bash_history文件,您的命令应该会显示在其中。 - Lekensteyn
3个回答

硬链接计数为零意味着该目录条目不属于任何文件。听起来像是一个损坏的文件系统。

看起来你是对的。我收到了一些关于已删除节点的奇怪消息。我使用 testdisk 检查了 USB 闪存驱动器分区,但在此过程中可能弄乱了某些东西,导致系统无法启动。我打算重新安装一遍系统。USB 闪存驱动器以 FAT32 格式化,并且只有一个分区,你觉得另外一种分区方式会更好吗?我仍然不认为这是硬件问题,因为这个 USB 闪存驱动器是新的。 - Maxime R.

正如@Florian Diesch所说,我也建议对该分区进行fsck操作。
此外,在单用户模式下,如果您可以访问网络,请重新安装sudo软件包。
apt-get --reinstall install sudo

好的提示,我试图从另一台电脑复制sudoers文件(没有成功),但没有考虑重新安装软件包。不幸的是,我无法再启动这个系统,所以我将进行全新安装。 - Maxime R.

有关LiveCD/LiveUSB的持久文件系统随时间损坏的其他论坛/错误,这是一个旧错误,在Ubuntu中已经存在了3或4年?
Live USB / Live CD版本只使用casper-rw文件来保存所有持久数据,如果您想要"重新安装"或"清除安装",那么擦除旧的casper-rw文件并创建一个新的空文件将实现此目的(尽管它可能最终会再次损坏)?
应该能够从启动菜单中引导到"常规"Live CD而不带持久性,在我的机器上,我按下启动菜单上的Tab键进行编辑,并擦除单词"persistence"(或者也许是persistent,记不清了),然后它就会引导到普通的旧LiveCD,即使我的持久文件系统出现错误(比如sudo不起作用,其他杂项问题出现,直到我擦除casper-rw,创建一个新的空文件并开始下个月的使用)。
附注:所有文件系统错误都在casper-rw文件内部,USB闪存(或存储卡等)的文件系统和"磁盘"保持良好状态,只是casper-rw内部出现问题。我的存储卡上有一个FAT或FAT32文件系统,但casper-rw使用ext2格式,供参考。