efibootmgr не соответствует тому, что действительно используется на MacBook Air

Я работаю на MacBookAir5,2 (2012) и уже некоторое время использую Ubuntu вместе с Mac OS X. Я использовал REFIt, когда впервые установил Ubuntu, и это работало нормально.

Когда я начал работать с Docker, я перерос доступное дисковое пространство и решил приобрести новый SSD-накопитель. Я так и сделал, поменял диски и установил Ubuntu 14.10.

После этого я возился с rEFInd (так как rEFIt не поддерживается) и прочитал много страниц Рода Смита.

Однако теперь я хочу только Ubuntu и больше ничего не загружаю на этой машине. Но как-то, что я думаю, что я говорю efibootmgr делать, это не будет. Проблема в том, что rEFInd не запускается после загрузки. Единственный способ загрузить систему - нажать клавишу alt при загрузке и выбрать rEFInd на USB-накопителе. Это работает очень хорошо, хотя, никаких проблем с этим подходом - это немного неудобно.:-)

Если я загружаюсь без подключенного USB-накопителя, все, что я получаю, это серый экран, на котором ничего не отображается. Это остается серым "навсегда" (я не ждал намного дольше, чем 20 минут).

Мой SSD содержит четыре раздела:

GPT fdisk (gdisk) версия 0.8.8

Сканирование таблицы разделов:
  MBR: гибрид
  BSD: нет
  APM: нет
  GPT: настоящее

Найден действительный GPT с гибридной MBR; используя GPT.
Диск /dev/sda: 937703088 секторов, 447,1 ГБ
Размер логического сектора: 512 байт
Идентификатор диска (GUID): B30ED5AD-A6B6-4FF9-9CC4-1F440536FB9F
Таблица разделов вмещает до 128 записей
Первый используемый сектор 34, последний используемый сектор 937703054
Разделы будут выровнены по границам 8 секторов
Общий объем свободного пространства составляет 264949 секторов (129,4 МБ).

Номер Начало (сектор) Конец (сектор) Размер Код Название
   1              40          409639   200,0 MiB   EF00 Системный раздел EFI
   2          409640       195722143   93,1 ГиБ AF00  Macintosh HD
   3       195985408       921180159   345,8 ГиБ EF00  LINUX
   4       921180160       937701375   7,9 GiB     0700  SWAP

и я фактически стер все файлы в ESP как меру, чтобы сузить проблему. Что у меня сейчас есть efibootmgr составление отчетов:

BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0000
Boot0000* rEFInd Boot Manager   HD(1,28,64000,7fa6ae3f-d9a7-4411-838a-1d0133b9993a)File(\EFI\refind\refind_x64.efi)
BootFFFF*   ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)HD(2,64028,e066090,00007690-046d-0000-175e-0000ca5e0000)File(\System\Library\CoreServices\boot.efi)

а также

root@fredrik-mbair:~# дерево /boot/efi/ | grep -v png
/ Загрузки / EFI /
E── EFI
    Ind── refind
    Icons ├── значки
    Keys ├── ключи
    │   │   ├── altlinux.cer
    On │ ├── canonical-uefi-ca.der
    │ │ ├── fedora-ca.cer
    Open │   ├── openSUSE-UEFI-CA-Certificate.cer
    Ref │   ├── refind.cer
    ES │   └── SLES-UEFI-CA-Certificate.cer
    Ref ├── refind.conf
    Ref └── refind_x64.efi
    Tools── инструменты

5 каталогов, 68 файлов

Последняя часть информации такова: когда я загружаюсь с отсоединенной флешкой и нажимаю alt, я получаю один (1) значок жесткого диска с текстом Windows под ним. Если я выберу это, экран затемнится, и я получу белый мигающий курсор (символ подчеркивания) в верхнем левом углу экрана, например, строки 80x25 или аналогичную консоль. Ничего не происходит после этого. Опция "rEFInd Boot Manager" не отображается.

Я понятия не имею, откуда берется опция "Windows", и я не знаю, что такое опция FFFF.

root@fredrik-mbair:~# efibootmgr -b FFFF -B
invalid hex value FFFF

Поскольку я не буду использовать ничего, кроме одной ОС Ubuntu и ядра Linux, я буду в порядке с gummiboot, но я не уверен, как это поможет, когда efibootmgr не могу получить подтверждение при загрузке...

Последняя попытка бега install.sh (устанавливается из PPA) дает такой вывод:

root@fredrik-mbair:~# /usr/share/refind/install.sh 
Установка rEFInd на Linux....
ESP был найден в / boot / efi с использованием vfat
Нашел rEFInd установку в /boot/efi/EFI/refind; обновить его.
Скопированные файлы REFInd

Примечание: Резервное копирование существующего каталога значков в виде значков-резервных копий.
Найден существующий файл refind.conf; копирование файла примера как refind.conf-sample
чтобы избежать перезаписи ваших настроек.

rEFInd был установлен как менеджер загрузки по умолчанию.
Найден существующий //boot/refind_linux.conf; не перезаписывать

Установка успешно завершена.

Я понятия не имею, куда идти дальше.

1 ответ

Вот что я сделал, чтобы куда-то попасть:

Первая попытка была такая:

  • удалить все в /boot/efi
  • вычеркнуть гибридную MBR (используя gdisk, экспертное меню, то n затем w)
  • /usr/share/refind/install.sh
  • efibootmgr -c -l \\EFI\\refind\\... -L TIRED

Это на самом деле заставило запустить после перезагрузки. Тем не менее, он не обнаружил vmlinuz-3.16.0-28-generic.efi.signed Ядро, которое я хочу запустить. Это показало варианты, и оба приводят к No bootable device в консоли 80x25.

Ага, поэтому я попытался повторно запустить install.sh сценарий с --alldrivers, После перезагрузки я снова на сером экране, который ничего не показывает.

Перезагрузился, пошел на REFInd с моей флешки, а затем:

  • уничтожил /boot/efi раздел
  • скопировал все с флешки на /boot/efi
  • создал новую запись (удалив старую) с efibootmgr

И как у меня работает система.

Подробности:

root @ fredrik-mbair: ~ # gdisk -l / dev / sda
GPT fdisk (gdisk) версия 0.8.8

Сканирование таблицы разделов:
  MBR: защитный
  BSD: нет
  APM: нет
  GPT: настоящее

Найден действующий GPT с защитным MBR; используя GPT.
Диск /dev/sda: 937703088 секторов, 447,1 ГБ
Размер логического сектора: 512 байт
Идентификатор диска (GUID): B30ED5AD-A6B6-4FF9-9CC4-1F440536FB9F
Таблица разделов вмещает до 128 записей
Первый используемый сектор 34, последний используемый сектор 937703054
Разделы будут выровнены по границам 8 секторов
Общий объем свободного пространства составляет 264949 секторов (129,4 МБ).

Номер Начало (сектор) Конец (сектор) Размер Код Название
   1 40 409639 200,0 MiB   EF00 Системный раздел EFI
   2          409640       195722143   93,1 ГиБ AF00  Macintosh HD
   3       195985408       921180159   345,8 ГиБ EF00  LINUX
   4       921180160       937701375   7,9 GiB 0700 SWAP
/ Загрузки / EFI /
E── EFI
Boot └── boot
│       ├── bootia32.efi
Boot ├── bootx64.efi
│       ├── drivers_ia32
│       │   ├── btrfs_ia32.efi
│       │   ├── ext2_ia32.efi
│       │   ├── ext4_ia32.efi
│       │   ├── hfs_ia32.efi
│       │   ├── iso9660_ia32.efi
│       │   ├── LICENSE_GPL.txt
│       │   ├── LICENSE.txt
│       │   └── reiserfs_ia32.efi
│       ├── drivers_x64
│       │   ├── btrfs_x64.efi
│       │   ├── ext2_x64.efi
│       │   ├── ext4_x64.efi
│       │   ├── hfs_x64.efi
│       │   ├── iso9660_x64.efi
│       │   ├── LICENSE_GPL.txt
│       │   ├── LICENSE.txt
│       │   └── reiserfs_x64.efi
Icons ├── значки
Ref └── refind.conf
Shell── shellia32.efi
Shell── shellx64.efi

5 каталогов, 81 файл
root@fredrik-mbair:~# efibootmgr -v
BootCurrent: 0000
Тайм-аут: 5 секунд
BootOrder: 0000
Файл Boot0000* COPY  HD(1,28,64000,7fa6ae3f-d9a7-4411-838a-1d0133b9993a) (\EFI\boot\bootx64.efi)
Файл BootFFFF*   ACPI(a0341d0,0)PCI(1f,2)SATA(0,0,0)HD(2,64028,e066090,00007690-046d-0000-175e-0000ca5e0000) (\System\Library\CoreServices\boot.efi)
Другие вопросы по тегам