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