Поддерживается минимальное редактирование строк в формате BASH. Ошибка загрузки на Fedora

Я использую Fedora 22 и Windows 8 на своем ноутбуке. Недавно я обновил Fedora, используя команду yum update . Когда я перезапустил Fedora, меню загрузки не будет. Вместо этого появляется черный экран со следующим сообщением:

 Minimal BASH like line editing is supported. For the first word, TAB lists possible command completions. anywhere else TAB lists possible device or file completions. 

Могу ли я вернуть Fedora, или я должен переустановить его.

Вы можете вернуть федерацию.

Я столкнулся с этой проблемой на своем ноутбуке каждый раз, когда пакет grub2-efi обновлен / переустановлен (включая систему, обновленную до следующей версии). Это вызовет загрузку grub2 в некоторые виды режима спасения, такие как ваши.

Пакет grub2-efi из Fedora, похоже, не может быть установлен правильно на моем ноутбуке (ASUS TX300 , Fedora x86_64, версия с 18 по 23).

Ручная загрузка

Вы можете загрузить Fedora вручную из этого режима спасения grub2, а затем исправить эту проблему, переустановив grub2 на диск. Сделать это:

  1. Используйте команду ls для отображения всех разделов

  2. Используйте linuxefi (для EFI) или linux16 (для BIOS), чтобы указать файл ядра Linux, а затем укажите корневое исправление с помощью параметра root= , например:

    • root=/dev/sdXN если ваш корневой раздел является простым разделом
    • или root=/dev/mapper/THE_ROOT_LOGICAL_VOLUME если ваш корневой раздел является логическим томом LVM
    • или root=/dev/mdN если ваш корневой раздел является массивом RAID
    • или root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX – хотя это универсальная форма, так как строка UUID длинна, проще всего ошибиться.

    Пример 1: linuxefi (hd2,gpt6)/vmlinuz-4.4.2-300.fc23.x86_64 root=/dev/sda8 .
    Пример два: linux16 (hd0,msdos1)/vmlinuz-4.4.2-300.fc23.x86_64 root=/dev/mapper/fedora-root

    Вы можете использовать TAB для автоматического заполнения части vmlinuz .

  3. Используйте initrdefi (для EFI) или initrd16 (для BIOS), чтобы указать исходный файл ramdisk.

    Пример 1: initrdefi (hd2,gpt6)/initramfs-4.4.2-300.fc23.x86_64.img
    Пример два: initrd16 (hd0,msdos1)/initramfs-4.4.2-300.fc23.x86_64.img

  4. Введите boot для загрузки Fedora, это принесет вам Fedora.

  5. Наконец, исправить grub2-install , указав параметр --target x86_64-efi в grub2-install
    Пример: grub2-install --target x86_64-efi

Затем перезагрузитесь, чтобы узнать, исправлена ​​ли эта проблема.

Не забудьте повторить шаг 5, когда grub2-efi обновляется / переустанавливается в следующий раз


Дополнительная информация

Я до сих пор не могу понять, почему это произошло на моем ноутбуке, пока оно отлично работает на моем настольном компьютере (EFI, x86_64). Возможно, это связано с картой MicroSD / TF, но я не уверен. Когда карта TF находится во внутреннем кард-ридере, это часто приводило к тому, что имя блочного устройства не было исправлено: иногда это /dev/sdb (HDD – это /dev/sdc , SSD is /de/sda ), иногда это /dev/sdc (HDD is /dev/sdb , SSD is /de/sda ).

Немного более глубокий анализ показывает, что файл /boot/efi/EFI/fedora/grubx64.efi не содержит информации о корне (разделе). В следующем hexdump (фактически скопированном из hexedit) файла /boot/efi/EFI/fedora/grubx64.efi « (, gpt6) / grub2 » в строке 0001D2B0 не существует, когда пакет grub2-efi обновлен / переустановлен.

 0001D290 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................ 0001D2A0 00 00 00 00 00 00 00 00 03 00 00 00 18 00 00 00 ................ 0001D2B0 28 2C 67 70 74 36 29 2F 67 72 75 62 32 00 00 00 (,gpt6)/grub2... 0001D2C0 01 00 00 00 00 00 5A 5B 5D C3 41 56 41 55 41 54 ......Z[].AVAUAT 0001D2D0 55 48 89 F5 53 49 89 FC 48 8B 76 08 FF 55 00 85 UH..SI..Hv.U.. 0001D2E0 C0 BB 01 00 00 00 0F 85 BC 00 00 00 4C 89 E7 89 ........L...L...