У меня настроена система с несколькими загрузками. Система состоит из трех приводов. Мультизагрузка настроена для Windows XP, Windows 7 и Ubuntu - все на первом диске. У меня оставалось много свободного места на диске, и я резервировал его для добавления других операционных систем и для хранения там файлов в будущем.
Однажды я пошел дальше и загрузил Partition Wizard и создал логический раздел NTFS из Windows 7, все еще оставалось немного неразделенного пространства. Все работало нормально, пока я не перезагрузил компьютер несколько дней спустя.
Теперь я получаю:
error: unknown filesystem. grub rescue>
Прежде всего, я был удивлен, не найдя никакой команды помощи, попытавшись:
help
, ?
, man
, --help
, -h
, bash
, cmd
и т.д.
Теперь я застрял с не загружаемой системой. Я начал исследовать проблему и обнаружил, что люди обычно рекомендуют загрузиться с Live CD и устранить проблему оттуда. Есть ли способ устранить эту проблему из grub rescue без необходимости использования Live CD?
ОБНОВЛЕНИЕ
Выполнив шаги из Сохранение команд, введенных в GRUB rescue, я смог загрузиться с помощью командной строки initramfs. Но не дальше этого.
Так далек от чтения руководства по спасение личинок, я смог увидеть свои диски и разделы с помощью ls
команда. Для первого жесткого диска я вижу следующее:
(hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
Теперь я знаю, что (hd0, msdos6) содержит Linux на нем, поскольку ls (hd0,msdos6)/
перечисляет каталоги. Другие выдадут "ошибка: неизвестная файловая система".
ОБНОВЛЕНИЕ 2
После выполнения следующих команд я теперь попадаю в меню загрузки и могу загрузиться в Windows 7 и Ubuntu, но после перезагрузки я должен повторить эти шаги.
lsls (hd0,msdos6)/set root=(hd0,msdos6)ls /set prefix=(hd0,msdos6)/boot/grubinsmod /boot/grub/linux.modnormal
ОБНОВЛЕНИЕ 3
Спасибо Шашанку Сингху, с вашими инструкциями я упростил свои действия до следующего. Я узнал от вас, что я могу заменить msdos6 только на 6 и что я могу просто сделать insmod normal
вместо insmod /boot/grub/linux.mod
. Теперь мне просто нужно выяснить, как сохранить эти настройки из самого grub, не загружаясь в какую-либо ОС.
set root=(hd0,6)set prefix=(hd0,6)/boot/grubinsmod normalnormal
ОБНОВЛЕНИЕ 4
Что ж, похоже, это обязательное условие для загрузки в Linux. После загрузки в Ubuntu я выполнил следующие действия, описанные в инструкция:
sudo update-grubsudo grub-install /dev/sda
Это не решило проблему. Я все еще получаю подсказку grub rescue. Что мне нужно сделать, чтобы навсегда исправить это?
Я также узнал, что номера дисков, как в hd0, должны быть переведены в буквы дисков, как в / dev / sda для некоторых команд. hd1 будет sdb, hd2 будет sdc и так далее. Разделы, перечисленные в grub как (hd0,msdos6), будут переведены в /dev/sda6.
ОБНОВЛЕНИЕ 5
Я не мог понять, почему следующее не исправило grub:
sudo update-grubsudo grub-install /dev/sda
Поэтому я скачал ремонт ботинок на основе ответа от https://help.ubuntu.com/community/Boot-Repair пост. Это, казалось, сработало после того, как я выбрал опцию "Рекомендуемый ремонт (устранение наиболее частых проблем)".