Grub Rescue на Mac после изменения размера раздела

Хорошо, я прочитал несколько постов об этом, но либо люди, которые писали, имели двойную загрузку Windows / Ubuntu, либо я не понял решения в конце концов ... В любом случае, я просто слишком боится сделать что-то не так на этом уровне, поэтому вот ситуация:

Что случилось

У меня был iMac с установленным rEFIt и двойной загрузкой с Ubuntu 12.04. Я перешел на Mac и решил освободить немного места для Ubuntu, поэтому я просто сжал раздел Mac, отсекая 30 Гб в конце (свободное место), это ВСЕ, и все было хорошо. По крайней мере, я так думал ..

Какова текущая ситуация

Теперь я все еще могу загрузиться на Mac, но когда я пытаюсь загрузиться на Ubuntu, я получаю error: unknown filesystem с подсказкой grub rescue>. Я следовал тому, что я прочитал на форуме, чтобы загрузить Ubuntu:

set root=(hd0,3)
set prefix=(hd0,3)/boot/grub
insmod normal
normal

, и это работает хорошо, но это не долгосрочное решение. Я слышал о BootRepair, но я на Mac, и из того, что я видел, все варианты этого программного обеспечения для MBR, а не EFI ...

Мое мнение

Из того, что я понимаю, мне нужно сказать EFI, куда «перенаправлять загрузчик», когда я выбираю опцию linux в меню rEFIt. Разве я не могу сделать это напрямую из OSx? Или это просто грязь? Если мне нужно использовать liveUSB, пожалуйста, объясните мне, что делать, как будто я тупой, я действительно не хочу все портить ...: S

0
задан 17 June 2013 в 02:09

1 ответ

Существует множество возможных решений, но сложно сказать, что будет работать лучше всего, поскольку неясно, как установлен Linux (режим BIOS или режим EFI), хотя я предполагаю, что у вас есть установка в режиме BIOS.

Одно из возможных быстрых решений - запустить update-grub в Ubuntu. В случае успеха это обновит файлы GRUB и восстановит их надлежащую функциональность. Однако в случае неудачи это может усугубить ситуацию, возможно, сделав невозможным загрузку Linux так, как вы это делаете сейчас.

Другой вариант немного сложнее и, скорее всего, будет работать, но все же не без рисков:

  1. В Linux введите df / и запишите имя файла устройства, связанного с /. Вероятно, это /dev/sda3, /dev/sda4 или какой-то другой пронумерованный раздел.
  2. В OS X загрузите и установите rEFInd .
  3. В OS X установите драйвер файловой системы EFI для любой файловой системы, которую вы используете в корневой файловой системе Linux (/) (или в /boot, если он отдельно). rEFInd поставляется с драйверами для ext2 / 3fs, ext4fs и ReiserFS. Вы устанавливаете драйвер файловой системы, копируя его в подкаталог drivers или drivers_x64 установочного каталога rEFInd (обычно /EFI/refind).
  4. Перезагрузка. REFInd должен появиться.
  5. Выделите один из вариантов vmlinuz-{version} в меню и дважды нажмите F2 или Insert. Это должно открыть простой редактор строк.
  6. Добавьте ro root=/dev/sda3 к опциям, изменив /dev/sda3 на раздел, который вы определили на первом шаге.
  7. Нажмите Enter. Linux должен загрузиться.
  8. Найдите скрипт mkrlconf.sh, поставляемый с rEFInd, и запустите его. Это должно создать файл с именем /boot/refind_linux.conf, который избавит от необходимости добавлять опции ядра (шаги 5-6) при следующей загрузке Linux; просто нажмите Enter, чтобы добиться цели.

Эта процедура обходит GRUB и, вероятно, будет более надежной, чем GRUB в долгосрочной перспективе; однако, некоторые Mac не работают должным образом, когда загружаются напрямую в режиме EFI (как это делает решение), поэтому возможно, что это не будет приемлемым вариантом для вас. Если это так, вам нужно получить работающую в BIOS версию GRUB (или другого загрузчика). Вам также может понадобиться очистить меню загрузки. Обратитесь к документации rEFInd для refind.conf, обращая особое внимание на опции dont_scan_dirs, dont_scan_files и scanfor, чтобы узнать, как это сделать. Удаление файлов (таких как файл refit.efi) также может помочь.

0
ответ дан 17 June 2013 в 02:09

Другие вопросы по тегам:

Похожие вопросы: