Kategória: VirtualBox

Zmenené: 16. február 2013

Virtualbox EFI

Pomaly ale isto sa blíži čas, keď bude starý systém BIOSu a tabuliek MBR nahradený systémom UEFI. Pretože plánujem nákup nového stroja, pravdepodobne sa UEFI nevyhnem, a tak som sa rozhodol vyskúšať, vo virtuálnom prostredí VirtualBoxu, ako to s týmto systémom (a Debianom) vyzerá.

UEFI

Ak náhodou neviete, UEFI je skratka pre Unified Extensible Firmware Interface, a jedná sa o microcód, ktorý nahradzuje už dlho používaný BIOS. UEFI prináša niekoľko vylepšení, z ktorých asi najväčšie (a pre tento článok najzaujímavejšie) je to, že pridáva možnosť štartu operačného systému bez zavádzača (bootloader).

Aby ste mohli používať UEFI, musí to podporovať váš systém a musíte svoj systém s touto podporou už nainštalovať. Predpokladám, že v prípade Linuxu nebude až taký problém doinštalovať potrebné veci aj neskôr, ale týmto smerom som nepátral a ani sa pátrať nechystám, pretože dávam prednosť jednoduchému postupu, a to nový počítač = nový systém.

Okrem tohoto vylepšenia umožňuje UEFI pomerne rozsiahle prispôsobovanie, čo môže (a bude) mať za následok koniec dobre známych modrých obrazoviek BIOSu, ale hlavne každá základná doska môže mať postup nastavenia úplne iný, a teda bude treba hľadať návody podľa typu dosky, ale to ukáže až čas.

UEFI vo Virtualboxe

Neviem presne kedy (v ktorej verzii) bola podpora UEFI do VirtualBoxu pridaná, ale vo verzii 4.1.18 (súčasť Debian Wheeze) k dispozícii je. Predvolene je táto voľba vypnutá a je potrebné ju zapnúť v nastavení virtuálneho stroja. Túto voľbu nájdete vo vlastnostiach virtuálneho stroja (Nastavenia), v časti Systém na záložke Základná doska. Na obrázku môžete vidieť, že v spomínanej verzii ešte nei je preložená a anglický názov tejto voľby znie Enable EFI (special OSes only).

Nastavenie UEFI

Nastavenie UEFI

Tip

Za najlepšie považujem urobiť toto nastavenie hneď po vytvorení virtuálneho stroja, ale raz iste vyskúšam, či sa dá táto zmena opraviť v už nainštalovanom systéme

Inštalácia Debian Linux a UEFI

Na pokusnú inštaláciu som si zvolil sieťové inštalačné CD Debianu Wheezy beta4. Jednak si nie som istý ako je to s podporou UEFI vo verzii Squeeze a jednak, vydanie Wheezy je na spadnutie. S napätím som nastavil stiahnuté ISO ako obsah virtuálnej mechaniky CD a spustil virtuálny stroj.

Chyba Grub, pri štarte inštalátora

Bol som mierne prekvapený, že sa spustil Grub, a jeho štart trval pomerne dlho. Hodnú chvíľu som pozeral na upozornenie o chýbajúcom prefixe, ale nakoniec sa zobrazila štartovacia ponuka, ktorá má len dve (presnejšie tri) voľby inštalácie grafickú a textovú. Zvolil som teda textovú inštaláciu (väčšinou ju volím) a podľa otázok pri inštalácii odhadujem, že sa jedná o štandardnú inštaláciu. Neviem, čo treba urobiť aby sa spustila inštalácia pokročilá (asi zmeniť prioritu otázok inštalátora), ale to teraz nie je dôležité. Dôležité je, že systém sa nainštaloval a okrem iného vytvoril aj samostatnú partíciu pre UEFI, s čím som bol spokojný.

Štartovacia ponuka Grub inštalátora

Štartovacia ponuka Grub inštalátora

Partícia pre boot pomcoou UEFI

Partícia pre boot pomcoou UEFI

Menej spokojný som bol s výsledkom, pretože po reštarte počítača sa mi objavil príkazový režim (shell) UEFI a nevedel som prečo a ani čo ďalej. Byť trochu menej zbehlý, asi by som začal panikáriť. Nakoniec bol celý problém v nastavení UEFI vo VirtualBoxe a v tom, že to bol môj prvý pokus s týmto rozhraním.

Shell UEFI po reštarte systému

Shell UEFI po reštarte systému

Trochu nepríjemné je i to, že predvolene nie je nainštalovaná verzia fdisk (gfdisk balík gnu-fdisk, ktorá podporuje GPT (náhrada MBR, pretože UEFI s MBR nepracuje). Ak teda chcete pracovať s partíciami na disku, budete si musieť tento balík odinštalovať.

Nastavenie UEFI VirtualBoxu

Štartovacia ponuka UEFI

Ako som už naznačil, problém nenaštartovania novo nainštalovaného systému bol v tom, ako je nastavený UEFI vo VirtualBoxe. Nie, nechcem toto nastavenie hodnotiť, ale ďalej popíšem čo s tým. Pred ďalším pokračovaním je potrebné do tohoto shellu napísať exit, čím ho ukončíte a dostanete sa k ponuke UEFI čiže už nie klávesovou skratkou

Manuálny štart zo súboru

Prvou možnosťou skontrolovania funkčnosti systému je manuálny štart systému so súboru. Zo štartovacej ponuky vyberte možnosť Boot Maintenance Manager, čím sa dostanete do ďalšej ponuky, kde vyberte možnosť Boot From File. Tým otvoríte správcu súborov, kde bude v prvom okne na výber zariadenie, ale je popísaná v takom hroznom formáte, že sa ani nepokúšam to tu opísať, pretože by to bolo zbytočné. Jednoducho, ak máte len jeden disk, tak výber potvrďte stlačením Enter, ak ich máte viac, vyskúšajte metódou pokus-omyl.

Naštartovanie systému zo súboru

Naštartovanie systému zo súboru

Po zvolení disku nasleduje výber cesty, ktorá v mojom prípade vyzerala EFI -> debian -> grubx64.efi. Keď sa doklikáte až k súboru grubx64.efi, ste na správnom mieste a nasledujúce stlačenie enter spustí systém.

Rada

Týmto spôsobom nepridáte položku do štartovacej ponuky UEFI, len vyskúšate štart systému a pri každom spustení stroja bude nutné tieto kroky zopakovať.

Vytvorenie štartovacej položky

Po tom, ako ste si našli a vyskúšali cestu k súboru, s ktorého pomocou UEFI spustí systém, možno pre tento súbor vytvoriť položku v UEFI, pomocou ktorej bude možné spúšťať systém i neskôr a nebude treba vždy manuálne hľadať jeho umiestnenie.

Na vytvorenie novej položky treba po zatvorení shellu znova zvoliť možnosť Boot Maintenance Manager. V nasledujúcej ponuke je potrebné zvoliť možnosť Boot Options a potom Add Boot Option. Posledná voľba znova otvorí správcu súborov, v ktorom je potrebné nájsť spomínaný súbor grubx64.efi, pretože už to máte nacvičené z predošlého kroku, nemôže to byť problém. Po vybratí súboru ostáva nastaviť názov položky (pole Input the description), kde som zadal ako príklad text Debian Wheezy. Nakoniec treba zmeny uložiť zvolením Commit Changes and Exit.

Vytvorenie novej položky

Vytvorenie novej položky

Po uložení zmien môžete systém spustiť zvolením položky Boot Manager, čím vám budú zobrazené dostupné možnosti štartu systému:

Štartovacie položky UEFI

Štartovacie položky UEFI

Rada

Teraz už možno systém štartovať bez potreby hľadania toho správneho súboru, ale k úplnej spokojnosti ešte chýba automatické spustenie systému.

Nastavenie poradia položiek

Aby štartoval zvolený operačný systém automaticky, je treba posunúť novo vytvorenú položku pred interný shell. Poradie položiek možno zmeniť znova v Boot Maintenance Manager a Boot Options. Ako posledná položka tam je uvedená možnosť Change Boot Order.

Chvíľu mi trvalo, kým som prišiel na to, ako poradie zmeniť, ale vôbec to nie je zložité. V Change Boot Order stlačíte enter a zvolíte položku, ktorú chcete presúvať, v tomto prípade položku Debian Wheezy , nestlačíte však enter (to až na konci), ale pomocou klávesov plus (+) a mínus (-) posúvate poradie hore alebo dolu. Po nastavení požadovanej pozície potvrdíte nastavenie stlačením enter.

Nastavovanie poradia položiek

Nastavovanie poradia položiek

Otázkou ostáva správna pozícia. Pretože sa pred nastavením zobrazoval shell UEFI, postačí umiestnenie novej položky pred tento shell, tak ako to je na obrázku. Môžete dať túto položku ako celkom prvú, čím zabránite štartovaniu systému z optickej mechaniky. Nezabudnite zmeny v poradí položiek uložiť pomocou Commit Changes and Exit. Pri nasledujúcom štarte počítača mi už automaticky nabehol Debian.

Rada

Ak sa chcete dostať k ďalším položkám menu UEFI, stačí v štartovacej ponuke Grub stlačiť c, čím sa spustí shell Grubu a v ňom zadať exit. (pozor, nepremaže to obrazovku).

Záver

Po bezproblémovej inštalácii som sa stretol s problémami ohľadom UEFI. Momentálne neviem posúdiť, či to je implementáciou UEFI vo VirtualBoxe, alebo je to všeobecný problém. každopádne, štart Grubu i samotného Linuxu riadne zaťažuje procesor a počas celej doby, keď som pripravoval snímky obrazovky mi išlo jedno jadro procesora na 100 %.

Niekedy nabudúce si určite nájdem čas a popíšem aj ďalšie možnosti práce s UEFI. každopádne som spokojný, nový počítač S UEFI môžem kúpiť, nebude to síce bez problémov, ale bude to fungovať.