Мне пришлось переустановить 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. .
Кажется, твой диск поврежден. Вы можете запустить проверку диска в меню загрузки для подтверждения.
Должна быть какая-то ошибка с liveCD. Как подсказывает @psusi, вы должны проверить диск. Если есть ошибка, вы можете заменить ее, прежде чем использовать ее для чего-либо еще. И это хорошая идея, чтобы проверить ISO перед записью.
1114 Первоначально я думал, что 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 > & lt ; имя MBR диска для самой GRUB >
Итак, в моем примере предполагается, что / dev / sda2 смонтирован в / media / sda2, и поместит grub.cfg в /media/sda2/boot/grub.