无法从 Live CD 使用 sudo

无法从 Live CD 使用 sudo

我不得不重新安装 Windows。不幸的是,这意味着 grub 无法正常工作。从 Live CD 启动,打开终端并输入:

sudo update-grub

但收到了回复

sudo: can't stat /etc/sudoers: Input/output error
sudo: no valid sudoers sources found, quitting

尝试过不带它sudo,它告诉我必须以 root 身份执行此操作。

答案1

LiveCD 肯定出了什么问题。正如 @psusi 所建议的,你应该检查一下磁盘。如果有错误,你可能需要先更换它,然后再将其用于其他用途。刻录之前检查一下 ISO 是个好主意。

最初,我以为 sudo 是不需要的,因为没有密码,但我发现事实并非如此。像 gparted 这样的程序通常会提示输入密码,但它们将从菜单无需提示;但命令行程序仍然需要 sudo,尽管它们不会提示输入密码。

但您应该知道,update-grub无论如何,这都不是解决此问题的正确方法;它只会/boot/grub/grub.cfg在 GRUB MBR 代码读取的分区(在本例中为 CD,甚至无法写入)中生成菜单配置文件 ()。在您的情况下,GRUB 代码不在 MBR 中,因此不会运行;因此,它永远不会读取菜单配置文件。

您需要使用来grub-install解决您的问题,这有点复杂,并且需要安装磁盘。使用启动修复盘 。本磁盘将自动修复此问题。

为了真正将 GRUB 放在 MBR 上,您需要运行grub-install,指定要使用的目录grub.cfg(默认为/boot/grub/grub.cfg),并指定 MBR 代码的磁盘,例如sudo grub-install --root-directory = /media/sda2 /dev/sda;假设 /dev/sda2 安装在 /media 上。重点是必须安装分区才能安装grub.cfg

语法grub-install基本上是:

sudo grub-install < grub.cfg 的挂载位置 > < GRUB 本身的磁盘 MBR 名称 >

因此,在我的示例中,它假定 /dev/sda2 安装在 /media/sda2 上,并将 grub.cfg 放在 /media/sda2/boot/grub 中。

答案2

您的 CD 似乎已损坏。您可以运行启动菜单中的磁盘检查确认。

相关内容