Van egy hordozható Linux image-em, amit ha kiírok USB-re, akkor fel tudom bootolni a nem EFI-s gépeken, de most egy EFI-s gépen kellene.Odáig eljutottam a manualok meg a kugli alapján, hogy létrehoztam egy FAT16 partíciót, azon belül pedig egy efi/boot/
könyvtárstruktúrát. Aztán csináltam egy image-et:
grub-mkimage -o bootia32.efi -p /efi/boot -O i386-efi fat iso9660 part_gpt part_msdos normal boot linux configfile loopback chain efifwsetup efi_gop efi_uga ls search search_label search_fs_uuid search_fs_file gfxterm gfxterm_background gfxterm_menu test all_video loadenv exfat ext2 ntfs btrfs hfsplus udf
Majd a kapott fájlt bemásoltam az előbb létrehozott efi/boot/
könyvtárba. Eztán melléraktam még egy grub.cfg
fájlt is, egyelőre egy minimális próbatartalommal:
set timeout=5
menuentry 'Setup firmware'
{
fwsetup
}
Ha felhozom a gép boot menüjét, akkor megjelenik az USB kulcs és ha kiválasztom, akkor be is jön a GRUB, de csak a prompt, nem a menü.
Van valakinek valami ötlete, hogy mit csinálok rosszul?
- 1403 megtekintés
Hozzászólások
Úgy tudom, hogy a legtöbb efi-s gépen be lehet állítani legacy boot-ot is.
Ha mégsem, akkor én ez alapján csináltam:
https://wiki.archlinux.org/index.php/Multiboot_USB_drive
- A hozzászóláshoz be kell jelentkezni
Sajnos ebben nincs legacy mód.
Ez a leírás sem működött. Megcsináltam a leírtakat, a GRUB fel is rakott pár könyvtárat, de ugyanaz van, mint eddig: prompt van menü helyett.
- A hozzászóláshoz be kell jelentkezni
A /boot/efi strukúrába kell beilleszteni, de nem kell azon a partíción létrehozni.
https://wiki.mageia.org/mw-en/images/0/0c/EFI-solo6_1.png
Ha félreértettem, akkor bocsánat! A kernelben engedélyezve van?
KERNEL Enable support for GPT
-*- Enable the block layer --->
Partition Types --->
[*] Advanced partition selection
[*] EFI GUID Partition support
ISO8859-1 codepage must be enabled too, in order to mount the EFI partition:
KERNEL Enable ISO8859-1 codepage
-*- File Systems --->
Native Language support --->
[*] NLS ISO 8859-1 (Latin 1; Western European Languages)
By
dzsolt
- A hozzászóláshoz be kell jelentkezni
Ha kész imaget használ,
saját fordítású helyett, akkor hogy lehet megtudni hogy engedélyezve van-e?
- A hozzászóláshoz be kell jelentkezni
Van linked a kész image-hez? (virtualizálva futtatni esetleg vagy csak belenézni az image-be hátha a /usr/src/linux alatt ott a .config?! Nem ismerek minden rendszert, de a legtöbben ez benne szokott lenni.) illetve ha amúgy nem EFI-s gépen működik akkor ott bootolj be és:
cat /proc/config.gz | gunzip |grep EFI
By
dzsolt
- A hozzászóláshoz be kell jelentkezni
Hova kell beilleszteni és mit? A GRUB konfigját?
Nem tudom, hogy a GPT engedélyezve van-e, de nem is érdekes, mert MBR-rel van megpartícionálva az USB kulcs.
- A hozzászóláshoz be kell jelentkezni
Így illeszd be a fájlrendszeredbe (már ha sda meg ha az első partíció az EFI):
mount /dev/sda1 /boot/efi
A grub fog rá másolni ilyesmit, amikor telepíti a boot szekciót:
EFI/linux/valami.cer
grubx64.efi
kb ennyi lesz az EFI partíción összesen, ha egy rendszered van.
Tehát a rendszered gyökerében van a /boot/efi, az EFI/linux-ot a grub csinálja, nem te. Viszont ha mbr-el van partícionálva a kulcsod, akkor hogy fog EFI indulni róla?
Nekem van egy multibootos mentő stickem efi-re, de az gpt és nem msdos, mert anélkül nem megy az efi boot. Lehet, hogy azzal kellene kezdened.
By
dzsolt
- A hozzászóláshoz be kell jelentkezni
A legtöbb cucc tud elvileg MBR-ből is bootolni EFI módban, de akad olyan bugos is, ami csak GPT-ről hajlandó. Viszont ebben az esetben nem gondolnám, hogy ez a gond, mert a GRUB elindul.
- A hozzászóláshoz be kell jelentkezni
Ja, tud ha tud legacy bootot, de a tisztán efi-sek nem. Ez nem bug. Te írtad korábban, hogy nem tud legacy-t, hát akkor helyben vagyunk, próbáld gpt-n. Persze tévedhetek...
(most nézem, hogy eltévesztettem a szálat, bocsánat, nem válaszolok többet telefonról :) )
By
dzsolt
- A hozzászóláshoz be kell jelentkezni
Két usb kulcsot is használok egy 8 Gb-os Sandisk és egy 32 Gb-os Sony (ez multiboot (linux mint, kde neon, systemrescuecd, manjaro, deepin)), mindkettő mbr-es és tudok róla efi-vel bootolni.
- A hozzászóláshoz be kell jelentkezni
Hú, király vagy, köszi!
gdisk
-kel átkonvertáltam a partíciós táblát MBR-ből GPT-re, majd bechrootoltam és felraktam a szükséges csomagokat. Aztán live CD alól újraraktam a GRUB-ot és most már fel kel a célgépen.
Még egyszer thx!
- A hozzászóláshoz be kell jelentkezni
Nagyon szívesen, örülök neki!!! Annó (4 éve kb) sokat szívtam vele, mire sikerült az első gpt-s bootom hiba nélkül! A világ összes boot menedzserét kipróbáltam mire sikerült :) Azóta pár sikeres W10 Rolloutot (pár ezer gép) végigcsináltam és ott mindenféle biosokon volt alkalmam gyakorolni. Néha bugnak tűnhet pár dolog, de ha valami rendszeresen visszatérő, akkor a mintát követve kiderül mi a bibi.
By
dzsolt
- A hozzászóláshoz be kell jelentkezni
Nem a GPT-vel volt baj, csak nem tudtam, hogy az EFI-hez ez kötelező. Magát a GPT-t már vagy 10 éve használom, amióta Linuxra váltottam és sose volt vele bajom. Igaz, BIOS-os gépeken.
- A hozzászóláshoz be kell jelentkezni
Nekem sem a gpt-vel volt bajom, hanem a tisztán gpt/uefi boottal :) Eleinte nem volt gáz, mert mindig volt legacy boot, aztán egyszercsak nem lett :D Na akkor kénytelen voltam kicsit ismerkedni velük :)
By
dzsolt
- A hozzászóláshoz be kell jelentkezni
Ja. Hát most akkor én is átestem a tűzkeresztségen. :P
- A hozzászóláshoz be kell jelentkezni
su
- A hozzászóláshoz be kell jelentkezni
Arch linux alatt nekem működik:
- A pendrive formázása GPT-vel, +2 partíció felvétele, egy a boot-nak (ef02 kódú) és egy az EFI-nek (ef00 kódú).
- Partíciók felcsatolása, az EFI partíció a /boot helyére
- Rendszer felmásolása
- Majd a grub telepítése:
grub-install --target=x86_64-efi --efi-directory=/boot \
--boot-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
--
Dell Latitude 5480, Arch Linux & Xfce
- A hozzászóláshoz be kell jelentkezni
Az --efi-directory
nem /boot/efi? Csak mert a sima boot-ra kiírta, hogy nem tűnik EFI partíciónak.
- A hozzászóláshoz be kell jelentkezni
Nekem így működik. Van /boot/efi is, pedig ezzel a paranccsal hoztam létre.
--
Dell Latitude 5480, Arch Linux & Xfce
- A hozzászóláshoz be kell jelentkezni
Érdekes. Nálam bereklamált érte. Fő a konzisztencia. :P
- A hozzászóláshoz be kell jelentkezni
Alkalmasint kipróbálom majd. Nemrég ment fel egy teremnyi gépre félautomatán Arch Linux ezzel a beállítással úgy, hogy a /boot közös a Win8.1 boot-jával.
--
Dell Latitude 5480, Arch Linux & Xfce
- A hozzászóláshoz be kell jelentkezni