Dual boot (U)EFI-s szerkezeten

Adva van egy darab ismerősöm, aki még sohasem használt GNU/Linuxot, eddig WinXP-vel boldogította magát és a környezetét. Gépe régi, elavult, lassú, stb. Javasoltam, hogy legalább minimális pénzért vegyen gépet. Így is tett, lett egy Acer Aspire ES1-132-P3MK belőle egy 4 magvas Intel N4200 CPU-val, 4 GB RAM-mal, 500 GB HDD-vel oprendszer nélkül, helyesebben valami használhatatlanul feltelepített Linuxszal. Pl. csak 2 GB-ot látott a free a 4 GB-ból. Fedora természetesen látja mind a 4 GB-ot.

Csináltam rá GPT layout-ot, sda1 vfat az EFI boot-nak, sda2, sda3, sda4 kihagyva a Windows 10-nek - neten néztem, az EFI vfat-en kívül két vagy három partíció kell még neki -, majd jön a swap, a /boot, a végére meg egy LVM, amelyben van a / és a /home, ezek ext4-ek.

Azért van LVM, hogy ha bebukna a Windows, oda tudjam adni fájdalommentesen a /home végéhez a fizikailag előrébb lévő területet.

Fedora 27-et tettem rá, s mivel van egy ilyen gépem, tudtam, hogyan kell boot-olhatóvá tennem. Ment is rendesen.

Feltettem a Windows 10-et is a szabad helyre, miután neten megtaláltam, hogy csak fat-ről fog boot-olni, bár az a pendrive épp ntfs-re volt formázva, amin a telepítőt kaptam. Tisztaszoftver keretén belül került letöltésre az anyag, ezt nem én csináltam.

Az a helyzet, hogy az (U)EFI változókban felül írta a Windows a boot-olható eszközöket. Ő bepofátlankodott, a Fedora Grubja megszűnt létezni. Fizikailag persze a HDD-n van, sőt, az sda1 EFI partíción is megvan. Próbáltam efibootmgr paranccsal a boot order-t megjavítani, nem sikerült.

Az a kérdésem, hogyan oldható meg az, hogy egy ilyen szerkezetben az EFI boot a Grub-ot indítsa, majd a Grub húzza be a szokott módon vagy a Linux, vagy a Windows kernelt?

Egy sima dual boot-os gépet szeretnék, csak van egy tudtommal nem szabványosan implementált UEFI ebben a csodában. Ötleteket, tapasztalatokat várok. Sokat dolgozom, fáradt vagyok, s a sajtreszelővel történő magányos örömszerzés már nem tartozik kedvenc elfoglaltságaim közé, szóval belátható időbefektetéssel eredményt szeretnék elérni.

Hozzászólások

Részemről előbb telepítenék windows-t és ha az működik, akkor linuxot, te ha jól értem, fordítva csináltad.

Igen, fordítva, de az a gyanúm, UEFI-nél kevésbé van ennek jelentősége, itt nincs senki földjére írt MBR, boot kód, miegymás. Viszont van bootx64.efi file, meg van Grub, meg fogalmam sincs, hogyan indul a Windows. Meg nagyon sokat szívtam azzal, hogy megértessem vele, mit akarok boot-olni. Már eredetileg akár egyetlen Linuxhoz is. Most a Win+Linux esetében nem tudom, merre tovább, melyik úton. Sima MBR esetén ez rutin feladat, de UEFI-vel kihívás, legalább is nekem.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ettől még a windows ugyanúgy elkúrhatja a linux bootját.
Szerintem próbáld a linux telepítőt bebootolni helyreállító módban és újratelepíteni a grubot. Ezzel szoktam szopatni magam időnként, mert simán a live rendszerről nem lehet (legalabbis az én gépemen), hanem az eredeti rendszer kell chrootolt környezetben.

A windowst elvileg a grub intézi utána.

Az uefi eleg okos altalaban. Uefiben a boot sorrendnel valaszd ki a 'regi' Linuxot a merevlemezeknel vagy van egy gyors bootmenu mindenben, nalam f10, ahol ideiglenesen tudsz kivalasztani mas boot eszkozt. En itt is szoktam latni mindent. Minden indithato uefi loadernek kell szerepelnie ebben a listaban.
De akar az elso valsz is jo lehet https://askubuntu.com/questions/838780/windows-10-changes-uefi-boot-ord…
En nem hasznalok grubot. Refind boot manager van helyette. Semmi gondom vele eddig. http://www.rodsbooks.com/refind/installing.html#windows

Most, hogy mondod... igaz, engem nem windows szórakoztatott, hanem az ubuntu. A telepítése után két boot útvonal jelent meg a bios/efi menüben: egy ubuntu néven és egy, ami a diszkre utaló néven (ha jól emlékszem, Samsung 840 pro / ... - a ... helyén az efi-s útvonal a diszk efi partíciójához), ami végül ugyanúgy a grub-ban végződött. Amíg az ubunut nem töröltem, addig a saját készítésű pendrive-ot nem tudtam kiválasztani a boot menüből. Hogy pontosan miért, arra a mai napig nem jöttem rá, mert a hagyományos módon (dd if=iso of=pendrive) pendrive-ról simán ment.
Talán nem szereti a két grubot, talán valami uuid ütközést generál... nem tudom. Más uefis gépen vidáman megy, csakna laptopom ilyen hisztis.

Az EFI nem pont azért jó, mert Linuxot és Windowst is tud bootolni?

Az én HP szerveremen pl. az efivars szerintem nem is számít, simán listáz mindent az EFI partícióról. Ugye csak egy darab EFI partíciód van, amit a Linux és Windows közösen használ?

Nem is kell másik EFI partíció, abból elvileg csak egy darab lehet, és ugyanarra megy fel a GRUB .EFI fájl és a Windows .EFI-je. Egyébként meg már egy másik SSD-s témánál írtam többször, hogy az EFI bootmenüje ki tudja váltani a GRUB-ot, meg Shimet, meg minden más bootmanagert, mivel pont ez a lényege az EFI-nek, hogy már önmagában is bootmanager, és nem kell átláncolni a rendszerindítást 2-3 másik rendszerindítón.

Azt végül nem írtad, hogy milyen Windowsról van szó, ami a Linux mellé van telepítve.

Plusz nem akarlak elkeseríteni sem téged, sem az ismerőst, de kár volt ilyen szar Éjszöre Szpájör Esegy netszart összevennie, mert ennek még a legkisebb baja, hogy nem szabványos benne az UEFI, hanem a proci is olyan gyenge benne 4 magos létére, hogy böngészőben le tud térdelni egy komplex Facebook oldaltól. Ezért a 90 ezer forintért vehetett volna egy felújított üzleti notit i5-i7-es procival, 8 giga RAM-mal, ami vitte volna a szabványos EFI bootot, meg a linuxos támogatása is sokkal flottabb alapból, meg az anyagminőségre is strapabíróbb, meg kijelzőre is általában jobb.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Nekem is van egy ilyen gépem, igaz, csak egy Fedorát tettem rá, valamint az 500 GB-os HDD-t 256 GB-os SSD-re cseréltem, s én elégedett vagyok ezzel a kis géppel. Nyilván nyákot nem tervezek rajta, bár lehet, hogy egy nagy monitor HDMI porton történő illesztésével még az is menne.

Amúgy, ha egy négy magos, 2.5 GHz-es CPU-t kétvállra fektet a Facebook, az bizony nem a CPU hiányossága, hanem az Facebooké. Mondjuk engem ez az arckönyv nem érint, kívülálló vagyok.

Ja, és Windows 10 Professional, ha jól sejtem, amúgy Tisztaszoftver keretén belül.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Én sem facebookozok, ez csak egy példa volt, valószínű az ismerősöd látogatja. Bizony a proci hibája, N-es celeron van bele, valami irtó kicsi 5W-os TDP-vel, ha jól tévedek, és ilyen ultralacsony fogyasztás és energiakeretbe ilyen lóf*sz teljesítmény fér csak bele, ez lényegében tabletbe szánt proci, csak netbookba is belerakják. Ha kis gép kell, akkor 12 colos subnoteszt kell venni, vannak ilyen szériák ThinkPadnél, Latitude-nál is, meg talán Elitebookban is. A régebbiekben lévő M-es és QM-es proci sokkal erősebb, mint a mostani U-s procik, azok is már megvágott 15 TDP-s keretűek, hogy könnyen hűthetők legyenek papírvékony ultrabookokban (amibe nem fér vastag, nagy kapacitású akku sem), csak hát ez korrelál a teljesítményükkel is sajnos.

4 gigaguriga RAM is nagyon sovány már, nem is kell hozzá brutálisan sok böngészőfület használni, hogy csak a böngésző magában megegye reggelire.

Valószínű neked azért tűnik használhatónak, mert Linuxszal használod (az Xfce eleve minimálisabb felület, meg a Linux jobban bánik az erőforrássokkal is), nem Win10-zel és tettél bele SSD-t, ami azért rettenet sokat segít rajta.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Ami biztosan megy: YouTube video akadás nélkül full screen-en, befelé wifi, kifelé szintén wifi-n stream-eli a hangot a pulseaudio, vagy lokális hangszórón szól. Hasonlóképpen bármikor elolvasom az aktuális híreket egy kávé mellett ezen a gépen, nem lassú, nem akadozik, kikeresem, ami kell, legyen az menetrend, vagy valami műszaki tartalom. Amúgy az N4200 úgy tudom, Pentiumnak mondja magát, nem Celeronnak.

S valóban, Fedora 27 Xfce-vel, Firefox 59 a böngésző. Tudom, még nem jelent meg. Majd meg fog. :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Akkor tévedtem, nem Celeron N van benne, hanem Pentium N, de az sem sokkal izmosabb proci. FF-ból én is az 59-eset használom, mindig a Beta verziót (bár Aurora channelt ír). Xfce-t is használok hébe-hóba, de csak tesztelni egy-egy gtk-s témát.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Na jó, de mihez kell nagyobb? Nekem úgy tűnik, arra elegendő, hogy tájékozódjak a világ dolgai felől. Arra is, ha szervizelni kell valamit, konfigurálni egy ismerős router-ét például. Mellesleg Gauss-eliminációt is szépen számol, lefuttattam egy negyedfokú szűrő Bode-diagramját számoló Octave scriptemet rajta, Gnuplot ábrázolta az eredményt, pár másodperc alatt elkészült.

Ugyanakkor, ha végeselem módszerrel akarok valamit kiszámolni - nem nagyon akarok, ilyesmit inkább a gépészek szeretnek csinálni -, arra ott a desktop gép.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nem ismerem ezeknek a számításoknak a hardverigényét, de ezek szerint neked elég a jelenlegi felhasználásodhoz. Ezzel nincs is semmi baj, nem verseny, hogy csak akkor leszel menő, meg „fősodratú hupu”, ha csak i7 felel meg.

Viszont az egyszeri Win10 felhasználó, aki informatikailag analfabéta, futtat, telepít minden szart, nem tudja a rendszerét karbantartani, nem zár be semmit lustaságból, nem tudja a rendszert optimálisan beállítani, erőforrás-szörnyeteg progikat használ, annak sokszor az isten hardvere sem elég, és sokkal hamarabb belefut hardveres limitációkba. Windowson eleve alapból ott van súlyosító tételként a vírusirtó, ami eléggé tudja enni önmagában az erőforrást. Aztán ha minderre még HDD is van a gépben, akkor aztán tényleg annyira beszarás lassú lehet, hogy kínszenvedés lesz használni. Az sem mindegy, hogy egyetlen gépnek használja-e vagy ahogy nálad is, van-e asztalija is.

Ezzel persze nem azt akarom mondani, hogy mindenki vegyen bika gépet, mert átlag felhasználó áteshet vele a ló túloldalára, ha nem használja ki (mert nem használ olyan szoftvereket, meg nem játszik), akkor csak kidobta rá a felárat, és ott áll kihasználatlanul a gépben az i7, meg a 16-32 giga RAM, és a feleslegesen beleölt pénz, bár még mindig a jobbik véglet, általában meg nem romlik, meg legalább időtállóbb lesz a gép, lehet további befektetés, bővítés nélkül használni, míg le nem rohad.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

El is lehet azokat adni, de a kondikiszáradás sem 5 perc alatt alakul ki, előtte még el szokott menni az eszköz pár évig, hacsak nem hibás széria, de arra meg a jótállás való. Mai árakon még a használt RAM is aranyárban megy például, de a CPU is elmehet jó áron, ha ritkább példány, meg nem annyira muzeális. Ezzel nem azt akartam mondani, hogy megéri feleslegesen erős gépre pocsékolni a pénzt, hanem csak az, hogy még mindig a jobbik véglet annál, mintha újonnan túl gyenge lenne a gép. Nem szándékoztam szétoffolni a témát, csak mikor megláttam milyen gép, gondoltam megjegyzem.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Így már jogos. Desktop gép esetében én is ritkán veszek, de akkor erőset, aztán idővel elavul. A mostani gépem idén nyáron lesz 10 éves. Egyszer volt CPU upgrade, s egyszer bővítettem benne RAM-ot.

A kis gépemben viszont azóta nincs mozgó alkatrész, amióta SSD-t tettem bele. Mert ugye ebben nincs ventilátor. Továbbra is azt állítom, ahol a 2.5 GHz kevés 4 magon, ott lehet, hogy a programozót kell megbélyegezni szívlapáttal. Mikrokontrollereken nekem sokszor egyetlen magon a 8 MHz is elég szokott lenni néhány száz byte RAM-mal, igaz, assembly-ben írom a kódot, s nyilván nincs képi feldolgozás, renderelés, sok adat mozgatása. Viszont van valós idejű kiszolgálás rogyásig.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Biztos nem kevés. Én használok Win10 + Arch Linux dualbootot EFI boottal, Arch alatt létrehozott 100 MB-os EFI partícióról, és miután mindkét rendszer indítófájlai felkerültek rá (tartalmaz eleve két initramfs kernelképet is), maradt még rajta 28 MB hely. Igaz ez GRUB mentes, tisztán EFI only bootos megoldás, de GRUB-bal sem foglal annyival többet, hogy a mérete legyen az akadály. Tehát majdnem biztos, hogy nem ez a baj, persze ilyenen spórolni sem érdemes, mert az 500 MB-os EFI partíció is apró tétel ma már a sok gigás, meg pár terás háttértárak korában, plusz párszáz mega ide vagy oda annyira nem számít már évek óta.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Nem kevés. Olvastam doksit, s az jött ki, ez a 128 MB nagyjából az ideális. Amúgy nem összetévesztendő a boot partícióval. A *.efi oprendszerenként úgy 1.2 MB környékén van, meg szokott lenni némi fontkészlet, gondolom a boot menühöz.

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/c…

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Az efibootmgr általában beválik, de valóban, van olyan UEFI implementáció, ami mindenáron előrerakja a Windows Boot Manager-t. (\EFI\Microsoft\Boot\bootmgfw.efi)

Ezt úgy szoktam átb.szni, hogy a fent említett fájlt átnevezem/áthelyezem máshová.
(majd, az új helyet felveszem kézzel efibootmgr-rel, vagy beállítom az általam választott boot managerben, pl. rEFInd-ben)

Nálam speciel a \EFI\Microsoft_Alt\Boot\bootmgfw.efi alatt szokott lakni. (csak a bootmgfw.efi-t helyezem át, a többinek maradnia kell a \EFI\Microsoft\Boot alatt!)

Ekkor két dolog lehetséges:

1.) Az UEFI észreveszi, hogy nincs az általa megszokott helyen a bootmgfw.efi, és nem csinál önkényesen semmit. (nyerő helyzet)

2.) Az UEFI ennek ellenére is megcsinálja a boot bejegyzést. Mivel a fájl nincs ott, a boot nem fog sikerülni, és fallback-el a következő bejegyzésre - ami lehet akár a GRUB is. (ez is nyerő helyzet)

A dolgot én még meg szoktam spékelni egy rEFInd-dal, de az persze opcionális, neked a GRUB is elég lehet.

Most akkor vak vezet világtalant, mert részemről mindig is rühelltem a GRUB-ot, és a BIOS-os gépeken máig LILO-t használok, az UEFI-s gépeken pedig rEFInd-ot.

Elvileg valami hasonló kellhet neked:


menuentry "Windows 10" {
        insmod part_gpt
        insmod chain
        set root='(hd0,gpt1)'
        chainloader /EFI/Microsoft_Alt/Boot/bootmgfw.efi
}

Már persze, ha a bootmgfw.efi-t átmozgattad a Microsoft_Alt-ba.

Köszönöm. A chainloader paraméterezését szemügyre veszem, de nem ma, késő van, holnap is még munka. Ennyi iránymutatás alapján már értelemszerűen át tudom írni az elérési utakat meg a partíciót, miegymást.

Én nem utálom a Grubot, inkább használom. Szokott működni. ;)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

> Én nem utálom a Grubot, inkább használom. Szokott működni. ;)

Engem az egyszerűség gyönyörködtet, a GRUB pedig egy űrhajó. Nincs szükségem egy kvázi komplett oprendszerre, hogy bebootoljam az oprendszeremet :) és akkor az UEFI-t még nem is hoztuk a képbe, ami szintén felér egy oprendszerrel.

Isten verje meg a Microsoftot! Most nagyon felcseszte az agyamat ez szörny. Eddig tiszteletben tartotta a dual boot-os gépeken a többi oprendszert, de odáig merészkedik, hogy most már egy upgrade alkalmával lazán beteszi a /EFI/Microsoft/Boot/bootmgfw.efi file-t, az Acer UEFI implementációja ennek megörül, s egyből úgy gondolja, jó is lesz az elsődleges boot device-nak. Mondjuk ebben az Acer is vastagon benne van.

Amúgy működik a chainloader-es megoldás, csak ugye, mivel az EFI partíción kötelezően FAT a filerendszer, még immutable flag-et sem tudok erre a vacakra tenni. Mégis, hogy a fenébe oldjam meg, hogy egy MS frissítés után továbbra is a Grub induljon el? Az sem megoldás, ha a Fedora Grubot indító efi file-ját beteszem /EFI/Microsoft/Boot/bootmgfw.efi helyre és névvel, mert az MS frissítés továbbra is felül fogja írni.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ha virtualizálni akartam volna, akkor azt csináltam volna, de nem akarok. Mégis milyen biztonság Windows host-on Linuxot virtualizálni? Arról nem is beszélve, hogy ebben a gépben csak 4 GiB RAM van, de ebből bátran vond le a frame buffert, video RAM-ot.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ezért (főként) nem a Microsoftot, hanem az ACER elb.szott UEFI implementációját kell szidni.
BTW, a bootmgfw.efi-hez nagyjából százévente egyszer érkezik upgrade.

Mehet még a hegy is Mohamedhez: a Windows boot menüjébe fel tudod venni a GRUB-ot. Akkor nem baj, ha a Windows Boot Loader jön alapból.

Jó ötlet, lehet, hogy ez lesz a megfejtés, noha nem örvendek neki túlzottan. Azért az MS is nézhetné, hogy ha hiányzik a bootmgfw.efi a szokásos helyről, ugyanakkor fut a Windows, hiszen épp frissít, akkor

1) noha hiányzik az a file, mégis elindult valahogy, tehát az úgy van jól

2) nem a winchester szu rágta meg a file-t, s vált az köddé, s talán nem is mágneses vihar áldozata lett a file, hanem tudatos beavatkozásé, szóval nem kellene piszkálni a status quo-t.

De nem, ő tudja tutit. Hát jó. Na, mindegy, megvacsorázom, utána megismerkedem a Windows 10 bootmanagerével, noha ez nem tartozott az életcéljaim közé...

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Küzdöttem a bcdedit-tel is, látszólag eredményesen, azonban ez a gép mégis a Windows-t húzta be. Némi varázslással bármikor boot-olom a Linuxot, de nekem ergonomikus, felhasználóbarát megoldás kell, menüből választható oprendszer. Az nem megoldás, hogy adjunk ki admin joggal indított cmd.exe-ben olyan bcdedit parancsot, amelyben fél sornyi hexadecimális azonosítók vannak, s akkor legközelebb talán indul majd Linux.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Meglehet oldani a dolgot. Ott van a GRUB az EFI partíción, csak kicsit állítgatni kell az UEFI-t hozzá.

Boot fül:
Secure boot: Enabled

Security fül:

Select an UEFI file as trusted for executing: Megkeressük a grubx64.efi fájlt, enter, adunk neki valami könnyen azonosítható nevet. Save and Exit. Majd visszalépünk az EFI-be.

Boot fül:

Itt a listában meg kell jelennie az előbb létrehozott bejegyzésnek. F6-tal mozgassuk az első helyre. Save and Exit.

Opcionális: Ezek után a Secure Boot akár már ki is kapcsolható.

Jelenleg két probléma van. Az én tudatlanságom - nem ismerem ezt az (U)EFI történetet elég alaposan -, valamint az, hogy tudtommal ebben az Acer gépben nem szabványos az (U)EFI implementáció.

Ugyanis sem a Windows 10 bcdedit programjával, sem a Fedora efibootmgr parancsával nem tudtam bizonyos dolgokat módosítani. Helyesebben úgy tett, mintha sikerült volna, de ignorálta a beállítást. Már a menühöz tartozó timeout értéket sem lehetett 0-tól különböző értékre állítani, de a boot order módosítása sem jár eredménnyel. Viszont legalább a next boot működik, ami sovány vigasz, de olykor jól jön.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE