[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Booten vanaf SSD met GPT en UEFI-partitie lukt niet



Op 06-11-14 om 01:19 schreef Winfried Tilanus:
> On 11/05/2014 11:08 PM, Paul van der Vlis wrote:
> 
> Hoi,
> 
> Als eerste: misschien is het je niet opgevallen, maar in mijn antwoord
> heb ik de term "BIOS" zorgvuldig gemeden. BIOS en UEFI zijn twee
> verschillende standaarden waarop het OS contact kan leggen met de
> hardware. De manier van booten is daar maar een onderdeeltje van.
> Momenteel ondersteunen de meeste moederborden zowel BIOS als UEFI. Wil
> je een systeem dat alleen BIOS aan kan (doorgaans de wat oudere
> varianten van de OSsen) booten, dan moet je het moederbord in 'legacy
> boot' oid zetten. Boot je een systeem dat alleen UEFI aan kan, juist
> niet. Als je via BIOS boot, zijn de UEFI specifieke zaken, die van
> efibootmrg, niet beschikbaar. Debian, en andere linux smaken, kunnen al
> een hele tijd zowel onder BIOS als UEFI opstarten.

Ik noem "dat menu van het moederbord, wat je tijdens het booten kunt
bereiken" de bios. Misschien is dat niet helemaal juist, maar volgens
mij doen de meeste mensen dat. Ook in de manuals van de moederborden die
ik hier heb bekeken wordt dat zo genoemd.

Je hebt daar een paar mogelijkheden:
- UEFI
- UEFI + CSM (= bios emulatie)
- CSM

Die laatste optie mist vaak, is mijn ervaring.

>> Blijkbaar kan die lijst in sommige gevallen verdwijnen uit de CMOS, en
> 
> Zou niet durven zeggen wat dat veroorzaakt. De UEFI varianten van GRUB,
> LiLo etc hebben installatie scripts die in die lijst roeren. Maar het
> kan ook zijn dat de firmware van het moederbord iets doet als een schijf
> niet meer zichtbaar is oid. Of natuurlijk een bug...

Ik weet het ook niet, misschien is het inderdaad alleen iets van dit
moederbord. Maar ik heb zo'n vermoeden dat we het vaker gaan zien...

>> de reparatie is niet echt heel simpel.
> 
> Doorgaans betekent dat via UEFI booten naar een linux rescue disk oid en
> dan met efibootmgr de zaak weer recht zetten.

Net wat lastig voor een gewone gebruiker. Verder heb je een rescue disk
nodig.

> Overigens valt de UEFI standaard terug op de loader in:
> \EFI\BOOT\BOOTX64.EFI
> Als die aanwezig is, zou je die vanuit het boot-menu moeten kunnen laden.

Dit is een machine hier met UEFI:
-------
root@server:/home/paul/techniek# mount /dev/sda1 /boot/efi
mount: /dev/sda1 already mounted or /boot/efi busy
mount: according to mtab, /dev/sda1 is already mounted on /boot/efi
root@server:/home/paul/techniek# cd /boot/efi
root@server:/boot/efi# ls
EFI
root@server:/boot/efi# cd EFI
root@server:/boot/efi/EFI# ls
debian
root@server:/boot/efi/EFI
-------

Blijkbaar wordt de EFI partitie standaard al gemount, en ik zie geen
"BOOT" of "BOOTX64.EFI" op mijn SATA disk.

Dit zie ik overigens wel op een USB-stick met UEFI.

>> Als je een bootbare USB-stick hebt dan ziet een bios dat ding, ik snap
>> niet zo goed waarom hij dan niet de bootbare Debian disk ziet.
> 
> Bij BIOS is de route: MBR lezen die op het begin van de geselecteerde
> schrijf staat en dan doen wat daar staat (in ons geval leeft daar
> doorgaans grub). Bij UEFI is dat op de GPT partitie de EFI systeem
> partitie zoeken. 

Je noemt het nu een GPT partitie, eerder een UEFI partitie.
Op welke disk zoekt hij?
En wat als er niet zo'n disk is?

Ik denk dat hij ook zal booten vanaf een USB stick, maar niet vanaf een
sata-disk?

> Als er een default bootloader is ingesteld, die daarvan
> laden, anders \EFI\BOOT\BOOTX64.EFI laden.

Dat heb ik dus niet kunnen vinden.

> Als je een BIOS boot doet en je hebt geen geldige MBR dan hang je, als
> je een UEFI boot doet en je hebt geen geldige UEFI system partitie, dan
> hang je ook.

Ik had een geldige UEFI system partitie. Toch hing ik ;-)

>> ( Blijkbaar zijn er twee verschillende methodes, ik vraag me af of het
>> niet handig is om altijd die methode te gebruiken die USB sticks
>> gebruiken. )
> 
> Ook voor USB-sticken geldt dat ze met een MBR, een UEFI system partitie
> of met beiden gemaakt kunnen zijn. "De methode die USB sticks gebruiken"
> bestaat dus niet.

Ik heb het nu over UEFI.

Via UEFI kun je met een USB stick booten, daarvoor is geen geldige UEFI
system partitie nodig, anders kon je geen nieuw systeem installeren
bijvoorbeeld.

Maar een correcte SATA disk levert problemen op als de systemen die er
op staan niet netjes zijn ingevoegd in het bios (of UEFI, in jouw
bewoordingen).

Mijn gedachte is daarom: waarom niet die SATA disk op dezelfde manier
handelen als een USB stick?  Dat kan vast, al zul je niet meer dan 1 OS
op een disk kunnen hebben. En wellicht zijn er ook wat andere beperkingen.

>> Bedoel je in het bios?  Hoe kun je daar dan boot-opties toevoegen?
> 
> Ik gebruik hier liever de term "in de bios" niet, omdat het het
> verwarrend kan werken. Ik bedoel in het pre-boot menu van je moederbord.

Mooi woord ;-)

> Het hangt van de firmware af wat je daar wel of niet kan doen. Ik heb
> even nagekeken, bij mijn thinkpad kan ik die lijst niet aanvullen,
> alleen de default kiezen vanuit het pre-boot menu (wat 'setup utility'
> heet bij de thinkpad).

Het enige wat ik daar vond was de efi-shell met 1000 mogelijkheden.
Daarmee kan het vast.

>>> en met efibootmgr. De efi partitie (zoals je al gemerkt had) kan je
>>> gewoon mounten.
>>
>> Blijkbaar kan het ook met grub-install, zoals ik deed.
> 
> Grub-install, elilo, refind etc hebben installatie scripts die EFI
> systeem partitie mounten op /boot/efi, doen wat ze moeten doen en dan
> weer unmounten. Sommige van die scripts detecteren ook of er via BIOS of
> UEFI geboot is en passen daar de te nemen acties op aan.

Ik repareerde het probleem in het "pre-boot menu" met grub-install, het
mounten deed ik met de hand.
Met efibootmgr drukte ik alleen een lijstje van beschikbare opties af.
Maar misschien gebruikt grub-install onder water wel evibootmgr.

>>> Overigens heb ik goede ervaringen met de 'refind' efi-bootmanger. De
>>> maker ervan heeft ook een efi-rescue disk/usb stick die de computer
>>> scant voor met efi-bootbare bestanden. Heel makkelijk als het geheel
>>> ergens is ontspoord.
>>
>> Dan moet je natuurlijk wel zo'n stick hebben liggen. Ik heb meestal wel
>> een Debian-install-stick bij de hand, dat is misschien iets meer werk
>> maar het lukt ook. Handig zou het zijn, als het ook vanuit het bios zelf
>> kon, bijvoorbeeld met de efi-shell.
> 
> In principe kan je elke rescue disk/stick die UEFI kan booten gebruiken
> en dan efibootmrg aanroepen. Het charmante van de refind efi-rescue disk
> is dat scant naar alles waarvan te booten is en je dan een lijst
> presenteert met al je opties. Je kan die dus gebruiken als tussenstap om
> naar je uit de lijst 'verdwenen' bootloader te gaan. Je boot dan direct
> het systeem wat je wilt hebben en kan dan direct de installatie scripts
> van de favoriete bootloader draaien om alles weer recht te zetten. Wel
> zo makkelijk.

Ik probeer voor alles officiele Debian media te gebruiken, en bij
voorkeur de installer. Het is ook handig als je maar 1 stick nodig hebt.

> Wel twee bugs waar je tegenaan kan lopen:
> - Ik kon debian-live op mijn thinkpad niet via uefi bootend krijgen
> (terwijl dat wel zou moeten), Ubuntu live wel.

Wat raar, zal ik binnenkort ook eens naar kijken.

> - Sommige uefi-bootloader scripts (zoals die van elilo) doen een fsck op
> de uefi partitie voor ze hem mounten. Maar in testing zit er een bug in
> fsck.vfat die er voor zorgt dat op een UEFI systeem partitie een
> onterechte foutmelding wordt gegeven. Daardoor kan het script falen.

Hmmm, geen ervaring met elilo.

Groet,
Paul.


-- 
Paul van der Vlis Linux systeembeheer, Groningen
http://www.vandervlis.nl


Reply to: