LINUX.ORG.RU

Debian: не заружается mini.iso в режиме UEFI

 , , ,


0

1

Пытаюсь установить Debian 8.2 на Lenovo ThinkPad x230, но застрял в самом начале — не удаётся загрузиться с установочного носителя при активном UEFI.

В ноутбук установлен пустой, неразмеченный SSD. В качестве загручного устойства подготовлена USB-флешка по инструкции с wiki на основе образа mini.iso

После копирования образа на флешке видно два раздела

Disk /dev/sdb: 7743 MB, 7743995904 bytes
64 heads, 32 sectors/track, 7385 cylinders, total 15124992 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x680ed1b8

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           0       45055       22528   17  Hidden HPFS/NTFS
/dev/sdb2           45056       57343        6144    1  FAT12

Т.к. на /dev/sdb2 все пакеты с прошивками не помещаются (недостаточно места), скопированы только те, что теоретически должны потребоваться.

В настройках выставлен режим UEFI only, CSM отключен, SecureBoot тоже отключен. Первым загрузочным устройством указана флешка. При загрузке предлагается выбрать загрузочное устройство, доступны флешка, SSD и LAN. При выборе флешки или SSD экран на мгновение становится чёрным, а потом опять отображается меню выбора загрузочного устройства. При этом в Legacy режиме загрузка с флешки происходит нормально.

Поиск выдает только баг #776317, который, как понимаю, уже исправлен. Предложенный там workaround с копированием файлов efi на второй раздел флешки пока ещё не пробовал.

В чём может быть проблема?


У тебя бут-флаг на NTFS разделе, который EFI не умеет читать. А на деле у тебя бут-разделом предполагается FAT12, который не является стандартом (по стандарту он должен быть FAT32), но EFI не знает, что грузиться надо с него, Ну и желательно, чтобы он был первым разделом, для совместимости со странностями вендоров (хотя, такой проблемы у твоей железки может и не быть). У меня в профиле есть ссылка на статью по этому поводу.

r3lgar ★★★★★ ()

Предложенный там workaround с копированием файлов efi на второй раздел флешки пока ещё не пробовал.

Надо сделать, там совершенно необходимый для EFI файл (efi/boot/bootx64.efi). Я не знаю, почему они его так через переподвыподверт запаковали.

Не знаю, зачем два раздела. Можно тупо сделать на флешке один раздел FAT32, туда разархивировать содержимое ISO (просто архиватором), а также поместить туда этот файл (т.е. должен существовать путь корень_флешки/efi/boot/bootx64.efi). Но это я тебе сказал с точки зрения теории, а получится ли на практике, не знаю.

proud_anon ★★★★★ ()
Ответ на: комментарий от r3lgar

У меня в профиле есть ссылка на статью по этому поводу.

Только в твоей статье написано следующее:

Здесь рассказывается, как сделать так, чтобы ядро Linux загружалось прошивкой (U)EFI без загрузчика типа GRUB. Это нужно далеко не всем. Если вы хотите готовый дистрибутив, например, Ubuntu, поставить на компьютер с UEFI, смотрите инструкцию к своему дистрибутиву. Скорее всего, нужно просто загрузиться с LiveDVD в режиме UEFI, запустить установку обычным способом, и всё настроится автоматически.

Т.е. не факт, что это нужно ТСу.

proud_anon ★★★★★ ()

В качестве загручного устойства подготовлена USB-флешка по инструкции с wiki на основе образа mini.iso

Нет на этом iso ничего, что можно загрузить через efi, там syslinux.

arson ★★★★★ ()
Ответ на: комментарий от r3lgar

Не у меня, а у мейнтейнеров Debian.

Как понял из обсуждения #776317, там есть раздел FAT32, но в виде файла образа. И этот образ каким-то макаром прописан в качестве возможного загрузочного раздела в оглавлении ISO.

sergs ()
Ответ на: комментарий от proud_anon

Не знаю, зачем два раздела

На второй можно запихнуть non-free фирмварь. Вот только FAT12 все портит, для полного архива там тупо нет места.

За совет спасибо, буду пробовать.

sergs ()
Ответ на: комментарий от arson

Да ну.

$ mount -o loop mini.iso /mnt/test
$ ls /mnt/test/boot/grub
efi.img  font.pf2  grub.cfg  x86_64-efi/
$ mount -o loop /mnt/test/boot/grub/efi.img /mnt/test2
$ tree /mnt/test2
/mnt/test2/
└── efi
    └── boot
        └── bootx64.efi
Таки есть на нем что-то для EFI, вот только почему-то не работает.

sergs ()
Ответ на: комментарий от sergs

mount -o loop /mnt/test/boot/grub/efi.img /mnt/test2

efi.img это файл на диске.
Ты думаешь efi настолько умна, чтобы лезть в каждый файл и искать там ФС ;)

arson ★★★★★ ()
Ответ на: комментарий от sergs

Таки есть на нем что-то для EFI, вот только почему-то не работает.

Ну вот, теперь помести этот файл на какой-нибудь раздел флешки (сохранив путь efi/boot/bootx64.efi). Только с NTFS UEFI вряд ли загрузится.

proud_anon ★★★★★ ()
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от proud_anon

Это же была твоя правка, не?

Настройка ядра ТСу не нужна, но там выдержки из стандартов и некоторые советы, в частности по разметке.

r3lgar ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.