Grub падает, чтобы спасти, если внешний диск не доступен
Я установил Ubuntu 12.04 для использования на старой машине с Windows. Он установлен на внешнем жестком диске USB. Я установил grub на MBR внутреннего жесткого диска, поэтому, если я подключу внешний жесткий диск и включу компьютер, я сначала получу загрузчик Windows, который предлагает Windows и Ubuntu. Если я выбираю Windows, я загружаюсь в Windows, и если я выбираю Ubuntu, я получаю меню загрузки Ubuntu / grub (которое также предлагает Windows) и может загружаться в Ubuntu. Все отлично.
Если я запускаю компьютер с отключенным внешним жестким диском, он сразу же падает на grub rescue shell
error: no such device: df9058b0....
grub rescue>
Он даже не отображает загрузчик Windows, он идет прямо к спасению grub. Я пошел в настройку BIOS и отключил загрузку с внешнего HD, и это не имело никакого значения.
Это касается меня, потому что это означает, что мне нужно подключить внешний диск Ubuntu - (с этим конкретным UUID) - даже если я хочу загрузиться в Windows.
Можно ли настроить grub таким образом, чтобы он перешел в режим спасения, только если я попытаюсь загрузиться с него через меню grub?
1 ответ
К сожалению, вы поместили grub (legacy) на неправильный диск (MBR), теперь ему нужны его файлы на внешнем диске, чтобы даже показать меню.
- Хотя вы можете запустить Ubuntu, введите grub на свой внешний диск (sdb?) И убедитесь, что вы можете успешно с него загрузиться, а также с загрузкой Windows.
ОК, загрузка не удалась. На внешнем диске используется раздел MSDOS? Если это GPT, вам нужно будет добавить небольшой (1-2M) раздел (без форматирования) с флагом grub-bios. Затем переустановите grub и попробуйте снова.
ОК, это MSDOS.
Логический раздел, флаг загрузки, не имеет значения для Ubuntu. Это жуткая подсказка, которую вы видите? Множество ответов, таких как Ошибка загрузки> такого устройства нет: grub rescue, но ваш случай проще - вы можете загрузить grub с sda и запустить Ubuntu на sdb. Оттуда вы сможете просто установить grub в sdb. Просто чтобы проверить, вы не работаете в режиме UEFI, не так ли? Возможно, более поздний выпуск, такой как 16.04, будет лучше, и вернитесь к lubuntu, если полная версия Ubuntu - это слишком много для вашей машины.
- Затем вам нужно будет восстановить старую загрузочную MBR Windows на ваш внутренний диск, чтобы она загружалась только Windows.
- В BIOS выберите сначала загрузку внешнего диска в загрузчике, а затем вставьте внутренний диск (или оба после CDROM, если хотите).
Загрузка должна предлагать grub, когда USB-диск присутствует, а когда нет, внутренний диск должен загружать Windows.