Kérlek segítsetek jobban megértenem az efi boot működését. EFI boot GPT partíciós win10 mellé tettem KDE Neon-t (Ubuntu LTS). A biosban is látható a Neon bejegyzése, de csupán a Grub rescue konzol jelenik meg. Most bebootoltam a live telepítőröl. Gondolom, ha chroot-tal bejelentkezek és futtatok egy update-grub parancsot megoldódik a helyzet. De én még nem megoldani szeretném, hanem jobban megismerni a rendszerem működését. Ebben kérem a segítségeteket.
1. A /boot/efi könyvtár üres. Nem kellene itt lennie az efi fájlnak?
2. Hogyan is néz ki jelenleg a helyzet?
sudo parted -l
Model: Kingston DataTraveler 2.0 (scsi)
Disk /dev/sda: 7747MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 7747MB 7746MB primary fat32 boot, lba
Model: CL1-3D256-Q11 NVMe SSSTC 256GB (nvme)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 305MB 304MB fat32 EFI system partition boot, esp
2 305MB 439MB 134MB Microsoft reserved partition msftres
3 439MB 168GB 167GB Basic data partition msftdata
6 168GB 254GB 85.9GB ext4
4 254GB 255GB 1038MB ntfs hidden, diag
5 255GB 256GB 1474MB ntfs hidden, diag
Csatoljuk fel a telepített neon-t, hiszen live rendszeren vagyunk.
neon@neon:/mnt$ sudo mount /dev/nvme0n1p6 /mnt/
És most nézzük meg az fstab állományunkat.
cat /mnt/etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=d80fa530-aad8-4c6b-8049-3ac51d37a840 / ext4 defaults,noatime 0 1
#UUID=ACA0-4E87 /boot/efi vfat defaults 0 1
#UUID=ACA0-4E87 /boot/efi vfat defaults 0 1
UUID=ACA0-4E87 /boot/efi vfat defaults 0 1
Igen, keresne valamit. De /boot/efi könyvtáram üres. Kell itt lenni valaminek? Másik béna kérdésem: honnan tudja a grub, hogy mit és honnan töltsön be?
Köszönöm a válaszokat!
- 742 megtekintés
Hozzászólások
Azt elfelejtettem írni, hogy miután chroot-oltam a /mnt könyvtárat listáztam a /boot/grub könyvtárat is. Ott ezt találtam:
root@neon:/boot/grub# ls
fonts gfxblacklist.txt grub.cfg grubenv themes unicode.pf2 x86_64-efi
Tehát ott van az efi file. Miért nem jön be egyáltalán a grub?
Szerk.
De a már chroot-olt környezetben nem tudom telepíteni a grubot.
root@neon:/# grub-install /dev/nvme0n6
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
Ez miért van?
Az update grub kimenete:
root@neon:/# update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/99_breeze-grub.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found theme: /boot/grub/themes/breeze/theme.txt
Found linux image: /boot/vmlinuz-5.13.0-28-generic
Found initrd image: /boot/initrd.img-5.13.0-28-generic
Adding boot menu entry for UEFI Firmware Settings
done
Nem értem.
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
/boot/grub-ba nem jó tenni. UEFI bootnál a GRUB a fájlokat a /boot/EFI/grub-ba akarja tenni.
Az EFI működése elég egyszerű. Korábban az OS-ek, bootmanagerek az MBR-be, a 0. szektorba írták a rendszerindító kódot, de ez azért volt probléma, mert egymás alatt átirkálták azt. Az EFI bootnál ezek a kódok .EFI fájlok formájában vannak találalva (ezek lényegében windowsos exe formátumúak), tipikusan az EFI mappába, itt ezek a fájlok megférnek más-más néven, kulturáltan. Ez az EFI mappát Linux alatt a /boot/-ba szokás csatolni, így lesz belőle a /boot/EFI. Na már most a GRUB ide akarja magát betenni, de ez az --efi-directory=/blabla kapcsolóval felülbírálható.
Ennek ellenére ennyi az esetek többségében nem elég, mert hiába van ott az .EFI fájl a megfelelő mappában, nem biztosan, hogy bootolni fog, ahhoz az is kell, hogy az UEFI firmware-ben egy bootbejegyzés mutasson is erre az .EFI fájlra, ezt az efibootmgr nevű toollal tudod ellenőrizni. Elvileg lehet bármilyen mappában az .EFI fájl, csak akkor a bootbejegyzésnek erre kell mutasson. Mégis lehetőelg az EFI mappába szokták tenni, mert úgy néhány UEFI megtalálja bootbejegyzés nélkül is és el tudja indítani, ezért ez a szabvány megoldás.
Az EFI bootnak egyébként az is szépsége, hogy nem kell hozzá külön bootmanager, mert már önmagában is bootmanageri funkciókat lát el az UEFI firmware (amit egyesek UEFI BIOS-nak is neveznek). Ez azért jó, mert a GRUB-ot is nélkülözhetővé lehet tenni teljesen, lehet bootolni systemd boottal, ami sokkal egyszerűbb, de akár úgy is, hogy az UEFI közvetlenül a Linux kernelt bootoltatja (EFI stub boot), igaz ez utóbbi nem minden alaplapon/gépen működik, csak azokon, amiknek teljesen szabványos az UEFI implementációja, nincs benne semmi gyártói csúnyaság, Windowshoz drótozás, egyéb féreg húzás.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
/boot/grub-ba nem jó tenni. UEFI bootnál a GRUB a fájlokat a /boot/EFI/grub-ba akarja tenni.
Nem én tettem oda, a telepítő alapértelmezése volt ez.
Ezek szerint elegendő, ha ha áthelyezem/átmásolom a mappát a /boot/EFI/grub könyvtárba? Milyen jogosultságokkal másoljam?
Az efibootmgr parancs kimenete:
neon@neon:~$ efibootmgr
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0007,0005,0006,0003,0001,0000,0002,0004
Boot0000* ONBOARD NIC (IPV4)
Boot0001* UEFI RST CL1-3D256-Q11 NVMe SSSTC 256GB N2CC9DH0019G07PP
Boot0002* ONBOARD NIC (IPV6)
Boot0003* UEFI HTTPs Boot
Boot0004* UEFI Kingston DataTraveler 2.0 60A44C413942FEB1398D245E
Boot0005* neon
Boot0006* Windows Boot Manager
Boot0007* ubuntu
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Az EFI partíció egy FAT32 partíció lényegében, rajta FAT32 fájlrendszerrel (elméletileg lehet FAT16, és FAT12 is, a szabvány megengedi, de nem szokták így alkalmazni). Azon nincsenek unix/ACL jogosultságok, minden mindenkinek írható, olvasható, futtatható. Az más kérdés, hogy a Linux kernel az EFI partíciót root joggal szokta felcsatolni, tehát simán su, sudo vagy hasonlóval csináld a másolást.
Igazából másolni se szükséges. Kézzel tudsz létrehozni az Arch Wiki alapján az efibootmgr parancs felparaméterezésével olyan új UEFI bootbejegyzést, ami a /boot/grub/grubx64.efi-re mutat a megfelelő UUID-jű disk megfelelő UUID-jű partíciójára. Ez viszont kockázatos, mert az efibootmgr egy nem felhasználóbarát tool (akár csak a dd, rm, chmod, chown, hdparm, stb.), ha véletlenül nem jó kapcsolót adsz meg benne, beszánthatod az összes bootbejegyzést, amivel rosszabb esetben az egész UEFI-t téglásíthatod (ha nem lehet benne az UEFI BIOS-ban a bootbejegyzéseket újra default-ra tenni). A kézzel átmásolásnak nincs kockázata.
Utánaolvasva már ebben sem vagyok biztos, mert az is lehetséges, hogy nálad már eleve a /boot/EFI/grubx64.efi-re mutat a bootbejegyzés (ezt a efibootmgr -v paranccsal tudod ellenőrizni), ami viszont a GRUB beállításait default /boot/grub mappában keresi. Ez megmagyarázná, hogy miért indul el nálad a GRUB, de csak vészkonzollal, mert a megfelelő .EFI fájl nélkül igazából nem tudnál eljutni eddig sem. Tehát könnyen meglehet, hogy ez nálad nem is UEFI boot probléma, hanem a GRUB telepítése hiányos, vagy a GRUB konfigurációja nem lett megcsinálva rendesen a GRUB telepítése előtt.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Köszönöm válaszod, ez alapján keresgélek megoldást.
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Akkor mountold a /boot/efi könyvtáradat is a megfelelő helyre.
sudo mount UUID=ACA0-4E87 /mnt/boot/efi
- A hozzászóláshoz be kell jelentkezni
Egyébként a chroot környezetet az alábbiak szerint érdemes felépíteni:
mount /dev/sda1 /mnt
mount /proc -o bind /mnt/proc
mount /dev -o bind /mnt/dev
mount /sys -o bind /mnt/sys
És még ha van több könyvtár mint a külön EFI is akkor azt is. Utána mehet a chroot /mnt
- A hozzászóláshoz be kell jelentkezni
Nem írtam, de így csináltam. Azért köszönöm.
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Bookmark
- A hozzászóláshoz be kell jelentkezni
Boot Repair link: http://sprunge.us/nC4GKh
Upsz. Nem léptem ki a chroot környezetből, sorry.
Ez a chroot nélkül futtatott ajánlott boot repair link: http://sprunge.us/pJ476p
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Nem adtam fel a dolgot. Gyanús az egész. A grub rescue a boot parancs végén elszáll kernel pánikkal, mert "Cannot open root device" próbáltam UUID, partíciószám alapján, de sehogyan sem tudja megtalálni.
Jó akkor újratelepítem. Hiba:
Create a new partition (80,00 GiB, ext4) on ‘/dev/nvme0n1’
Job: Create new partition on device ‘/dev/nvme0n1’
Command: sfdisk --force --append /dev/nvme0n1
Command: sfdisk --list --output Device,UUID /dev/nvme0n1
Job: Set the label on partition ‘/dev/nvme0n1p6’ to "root"
Command: sfdisk --part-label /dev/nvme0n1 6 root
Job: Create file system ‘ext4’ on partition ‘/dev/nvme0n1p6’
Command: mkfs.ext4 -qF /dev/nvme0n1p6
Command: sfdisk --part-type /dev/nvme0n1 6 0FC63DAF-8483-4772-8E79-3D69D8477DE4
Job: Set the file system label on partition ‘/dev/nvme0n1p6’ to ""
Command: e2label /dev/nvme0n1p6
Job: Check file system on partition ‘/dev/nvme0n1p6’
Command: e2fsck -f -y -v /dev/nvme0n1p6
És kilép a telepítő. Gyanús, hogy a windows, vagy a bios csinál valamit, valamilyen "védelmet" ami miatt nem lehet új oprendszert telepíteni.
Valaki tudna segíteni konkrét bios beállításokban?
Most már csakazértis telepíteni szeretnék másik oprendszert.
Köszönöm!
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Secure Boot nincs bekapcsolva véletlenül?
- A hozzászóláshoz be kell jelentkezni
Erre gondoltam én is először, de aztán arra jutottam, hogy nem hozom szóba, mert biztosan megnézte ezt már, plusz secure boot esetén azért az EFI partíció nem lenne elérhetetlen, inkább csak simán a bootolás nem menne róla. De ki tudja, ha még nem nézte, akkor egy próbát megér. Főleg, hogy ha a Windowsban a secure boothoz egész lemezen bitlocker titkosítás is hozzá van kötve.
Plusz segíthetne az is, ha pontosan tudnánk milyen gép. Egyes laptopgyártók az UEFI bootot fixen hozzádrótozzák a \EFI\Microsoft\Boot\bootmgfw.efi útvonalhoz, és ugyan ez körbehekkelhető, de szopatós lehet, ha valaki nem tudja, hogy ezzel van dolga. Nem hinném, hogy ez esetben erről van szó, mert akkor a GRUB vészkonzol szintjén se indulna el.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
A secure boot természetesen ki volt kapcsolva. :) Nem ma kezdtem a linuxos pályafutásom. :))) A kernel pánik után kezdtem el gondolkodni, hogy valamilyen modult nem tölt be? Kutakodtam a BIOS-ban és megtaláltam! Be volt kapcsolva a RAID mód. Ha jól emlékszem a grub ezt nem támogatja.
Tehát kikapcsoltam a RAID-módot, sima ahci sata módra. Ezután persze a windows sem bootolt, tehát lett egy teljes rendszervisszaállításom. (Nem baj, nem volt rajta semmi)
Ezután gond nélkül települt a KDE Neon, van grub, indul mindkét oprendszer.
Öröm, boldogság.
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Nem akarod kijavítani a címet? :Đ
"Normális ember már nem kommentel sehol." (c) Poli
- A hozzászóláshoz be kell jelentkezni
Szívesen. Mit javasolsz, mire javítsam?
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Nekem eleg, ha kuldesz/linkelsz egy kepet a konyvzarrol. Konyv mar volt a kezemben tobbszor is, lezart konyv meg nem.
- A hozzászóláshoz be kell jelentkezni
Bakker. Tényleg nem vettem észre. :)
Köszi. Máris kijavíom.
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
"Normális ember már nem kommentel sehol." (c) Poli
- A hozzászóláshoz be kell jelentkezni
Koszi.
A nem bizonyitott kenyszeressegem duplan is helyreteve.
:D
- A hozzászóláshoz be kell jelentkezni
Ez is furcsa, mert attól, hogy be van kapcsolva, még mennie kéne a bootnak, főleg Linuxnál. Még akkor is, ha nincs RAID tömb létrehozva, csak a vezérlő van RAID módban. Eleve nem értem, hogy ki tette abba, mert egyik BIOS-ban sem szokott default lenni.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Igazából fogalmam sincs. Így kaptam, ez volt a default. Igen, így volt, ahogy írtad. Nem volt raid tömb, csak a vezérlő volt raid módban. Nem is értem mire kell egy laptopba raid.
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Ja, ez meg a másik. Minek kell akármibe is RAID, főleg ha nem szerver. Ma már szoftveresen kiváltják úgyis redundáns tárolási módszerek, LVM, btrfs, ZFS is tud hasonló funkciókat. Különösen egy laptopba holt értelmetlenség. Én egyébként azért szoktam azzal kezdeni, hogy ha mások által használt gép kerül a kezembe, amit használok majd, akkor BIOS-t default-ra visszateszem, aztán átnézek benne minden beállítást, OS-t újratelepítek, teljesen új partíciós táblát, partíciókat kezdve, mindent frissen, tiszta lappal, se RAID, se secure boot, se windowsos-bitlockeres barmolás, se semmi. Ezzel elég sok fejfájás elkerülhető élből, pont az ilyen hülye BIOS beállítások, nem megfelelő partícióhatárok, driverbaromkodás, telepített kémszoftverek és malware-ek, stb..
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Jaja, ezzel maximálisan egyetértek. Nekem pl az LVM mindenre is elég.
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Szóval DELL laptopod van? :D
- A hozzászóláshoz be kell jelentkezni
Miből gondoltad? :)
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Abban áll mindig RAID-re a vinyó egy factory reset után, csak tudnám miért.
- A hozzászóláshoz be kell jelentkezni
Factory reset nem volt. BIOS update után is átállítja a barma. Most már ezt is megtanultam...
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Ez elég gázul hangzik. Akár boot failure lehet belőle Windows alatt is...
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Bookmark
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni