
Я в особой ситуации. У меня MacBook Pro без внутреннего CD-привода, и установлены MacOS X (минимальная настройка) и Linux (моя основная система). Во время кросс-апгрейда до Ubuntu 12.04 я испортил grub, так что мой каталог /boot/grub практически пуст. Это значит, что я больше не могу загрузить Linux на ноутбуке, а только попасть в grub rescue.
Обычно это не проблема, поскольку вы просто загружаетесь с загрузочного компакт-диска или USB-накопителя, но, к сожалению, с MacBook Pro это невозможно (я установил reFIT, и он пытается загрузиться, но это не удается, а в руководстве говорится, что прошивка EFI от Apple не способна справиться с этой ситуацией).
Однако из MacOS X у меня все еще есть доступ на запись в раздел Linux. Сейчас я пытаюсь выяснить, как заполнить папку /boot/grub необходимыми файлами, но пока безуспешно. Образ ISO Ubuntu 12.04 содержит папку EFI, которая мне не нужна, вместо этого мне нужны файлы normal.mod для версии grub Ubuntu 12.04. У меня нет другой машины, чтобы настроить виртуальную машину Ubuntu 12.04, чтобы извлечь это после установки grub, поэтому я прошу здесь идеи, как решить эту проблему.
PS: Я устанавливал Linux раньше, когда у меня еще был работающий внутренний CD-привод. Теперь его нет.
решение1
Было бы полезно узнать, какую версию Grub вы используете. Grub1 и Grub2 на самом деле имеют большое количество (часто раздражающих) различий. Главное из них здесь — есть ли у вас файл /boot/grub/menu.lst (grub1) или /boot/grub/grub.cfg (grub2).
Это файлы, которые управляют тем, что вы видите в меню Grub при первом включении компьютера. В обычных условиях вам не следует редактировать их вручную, так как скрипты обновления делают это за вас, но, как вы сказали, в этой ситуации это невозможно. Поэтому сделайте резервную копию этих файлов, затем вручную отредактируйте их для соответствующих версий ядра. Если простого исправления одного из этих файлов недостаточно (поскольку, как вы сказали, /boot/grub в основном пуст), я бы установил ту же версию Ubuntu на другой компьютер или диск, а затем скопировал бы содержимое. Надеюсь, конфигурации достаточно похожи, чтобы вы смогли загрузиться, но нет гарантии, что это сработает.
Что бы вы ни делали, создавайте резервные копии всех файлов, прежде чем редактировать или заменять их!
решение2
Если у вас есть доступ к другой машине с рабочим CD-приводом, вы можете создать загрузочный USB-накопитель с каким-нибудь дистрибутивом Linux, например, knoppix. Затем вы можете загрузить машину с CD и исправить grub.