Почему USB с кастомным iso не загружает UEFI?

Похоже, проблема связана с содержимым.htaccess. Я заменил его на:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #Checks to see if the user is attempting to access a valid file,
    #such as an image or css document, if this isn't true it sends the
    #request to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

и все заработало нормально. Я вроде новичок в этом. Может ли кто-нибудь сказать мне, почему он не работал раньше и почему он работает с новым содержимым файла.htaccess?

1
09.09.2020, 08:34
2 ответа

Я люблю пытаться понять, почему, и я ненавижу рассказывать, как это сделать; так как однажды понял, что я буду знать "Мой путь". Существует большая вероятность того, что после загрузки в uefi вы увидите только подсказку grub. просто mkimage вашего grub "не находит никакого grub.cfg, который ищет

Обычно в debian-подобных (a.k.a ubuntu )«встроенный раздел fat -efi -» -инициированный давно знаменитым mjg59 в 2012 году -имеет «memdisk», содержащий grub.cfg (он действительно встроен grub.cfg в сторону efi.img ), говорящий, где искать следующий grug.cfg -"пользовательский" окончательный grub.cfg -назовите его как хотите -но это должен быть grub.cfg isoimage (то, что вы видите в дереве isofs структура -isotree /boot/grub/grub.cfg + конечно дерево grub для полной грубая поддержка.)Директива -p /boot/grub в вашем grub -mkimage сообщает вам префикс /boot/grub для grub, чтобы посмотреть grub.cfg, но он все еще находится в пространстве жира, нет причин, по которым можно было бы увидеть пространство isotree! (то, что вам нравится)

Для вашего grub -mkimage требуется мемдиск с директивой модуля -m memdisk.tar, который позволяет вам «достучаться» до grub.cfg дерева iso. и прочтите файл iso-дерева grub.cfg

Для иллюстрации всего этого "бла-бла"

1 После загрузки «вашего» образа в приглашение grub просто введите «ls», чтобы увидеть все диск grub может видеть, и вы не должны видеть никакого «мемдиска»

2 Загрузка в режиме uefi (почти )любая ubuntu (псевдо )образ "iso" (под псевдо я имею в виду не pureiso ака изогибрид это не pureiso )в меню наберите «Try ubuntu...blabla», введите «ESC», чтобы попасть в консоль grub, затем снова введите «ls» и сравните с вашим isoimage.

grub> ls (memdisk )/ чтобы увидеть, что находится за этим диском tarfs, в конечном итоге

grub> cat (memdisk )/grub.cfg или аналогичный (memdisk )/boot/grub/grub.cfg для просмотра как они пытаются переключить раздел и получить grub.cfg iso-дерева

3 Быстрый способ попробуйте :просто замените ваш efi.img на efi.img Ubuntu; Помните, что встроенный grub.cfg Ubuntu требует наличия файла в $isotree/.disk/[info mini -info], поэтому вам нужно добавить его в ваше isotree что-то вроде mkdir $isotree/.disk && touch $isotree/.disk/info когда вы создаете свой iso с помощью xorriso высоки шансы, что это сработает, но это плохой способ учиться

4 Пересоберите ваш grub -mkimage с директивой «-m memdsk» в конце, где «tar cf memdsk grub.cfg» grub.cfg — это то, что вы вручную украли из ubuntu;лучше просто написать свой

5 Чтобы повеселиться, загрузите в uefi любой образ ubuntu.iso на usb;

  Type ESC to get into grub console
  Check your isofs partition as hd0 (since you booton it) by
      grub>ls (hd0)/   this will reveal the isofs tree
  Chroot to isofs partition with
      grub>set root=(hd0)

Стандартный способ переключения конфигурации grub grub>файл конфигурации /boot/grub/grub.cfg

B Переключите конфигурацию grub с помощью команды grub -cmd "syslinux _configfile" (, которая обычно не отображается в поиске Google _!!! )grub>syslinux _конфигурационный файл /isolinux/isolinux.cfg

  Observe and play (where is legacy-bios or uefi boot now ?)

That's it

Ванцзи

см.https://sourceforge.net/projects/toysbox/files/Exo_on_grub-mkimage/

https://sourceforge.net/projects/toysbox/files/practice_on_bootx64.efi/Practices_on_bootx64.pdf/download
1
28.04.2021, 23:26

Есть достаточно тонких моментов, которые могут пойти не так, я не вижу явных ошибок в вашем сценарии, но это не значит, что их нет; по крайней мере, ознакомьтесь с превосходными книгами Рода по этой теме и, возможно, моим сценарием генератора ISO--он чрезвычайно сложен для вашей конкретной задачи (и слишком прост для моей )но, может быть, вы заметите там что-то важное.

PS :обратите внимание, что сценарий основан на refind (, который для меня так же крут, как и эти книги ); есть попытка добавить поддержку grub, но пока этого нет.

При этом, если вы на самом деле не привязаны к Ubuntu 18.04 и просто нуждаетесь в пользовательском ISO с возможностью загрузки UEFI (, включая подписанную прокладку ), вас могут заинтересовать ALT . ] mkimage , приведенный выше скрипт является его частью, и mkimage -профили , которые обеспечивают основу для создания конфигураций дистрибутива для последующего запекания их образов (, например Стартовые наборы ALT сделаны с его помощью, а также наши выпуски 9.0 ; создание производных довольно просто и технологично, но большая часть документов уже на русском языке ).

Извините за бессовестную вилку, я просто был тем, кто сделал как поддержку UEFI в ALT Linux, так и разработал m -p --, поэтому не мог удержаться от вопроса:-)

1
28.04.2021, 23:26

Теги

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