UUID
Narazili ste už na túto skratku? Viete čo znamená? UUID znamená – Universally Unique Identifier, po našom Univerzálny jedinečný identifikátor. Inými slovami číslo, ktoré niečo jednoznačne identifikuje. A v našom prípade jednoznačne identifikuje partície...
Iste Vás napadá, že partície sú v Linuxe jednoznačne identifikované. Pre tých, čo nevedia ako, disky sú v Linuxe reprezentované ako súbory (ostatne ako všetko). Tieto súbory sú umiestnené v adresári /dev, ktorý bol svojho času vytváraný staticky a teda aby ste mohli tieto súbory (zariadenia) používať, museli byť najprv vytvorené pomocou nástroja mknod, pripadne skriptu MAKEDEV.
Disky boli identifikované ako hdX či sdX, kde písmeno h hovorilo o IDE disku a s o SCSI alebo SATA disku, pričom IDE disky sú najstaršie. Písmeno X tu nahradzuje písmeno, ktoré označovalo spôsob pripojenia disku – master disk prvého IDE bol a, slave disk zase b atď. Za týmito písmenami nasledovalo číslo, ktoré udávalo poradie partície – čísla <= 4 označovali (a označujú) primárne partície, čísla 5 a viac zase partície logické. Bývalo bežné, že v systéme bol len jeden disk. A tak /dev/hda5 postačovalo na jednoznačné označenie partície, a to najmä pri IDE diskoch. Aby ste totiž mohli zameniť partície hda1 s hdb1, potrebovali ste otvoriť stroj, prehodiť jumpery (prípadne káble).
V dnešnej dobe sú súbory zariadení vytvárané dynamicky, pri zistení zariadenia v systéme pomocou udev a ak si dáte urobiť výpis pripojených zariadení pomocou mount, okrem iného môžete vidieť niečo takéto (výpis som skrátil):
mount
...
udev on /dev type tmpfs (rw,mode=0755)
...
V prípade IDE diskov je to stále jedno. Pre SATA disky to už tak jedno nie je. Tieto disky nemajú svoju rolu v systéme danú konektorom na základnej doske. A, aby toho nebolo málo, pletú sa tu aj vyberateľné médiá, ako rôzne USB kľúče, čítačky kariet, či fotoaparáty a o externých diskoch ani nehovoriac.
V mojom stroji mám dva SATA disky, označené ako sda a sdb. Keď pripojím USB kľúč, je rozpoznaný ako sdc a všetko funguje. Ale keď ho nechám zasunutý aj pri štarte, systém ho označí ako sda a moje disky ako sdb a sdc. Asi už tušíte problém. Áno, je síce nájdený GRUB v MBR disku (momentálne označenom ako sdb), ale ten už nenájde koreň súborového systému sda1... Svojho času som to vyriešil zmenou nastavenia v BIOSe, a tak mi systém USB disky pri štarte nerozpoznáva, ale existuje elegantnejšie riešenie, ktoré je založená práve na použití UUID.
Podpora v súborových systémoch
UUID je vlastnosťou súborového systému a je generované pri formátovaní partície. Teda celkom jednoznačne to platí pre partície so súborovými systémami v GNU/Linux bežnými (ako extX, ReiserFS, XFS, swap atď.) a neplatí to pre súborové systémy asi najrozšírenejšie, teda pre FAT a NTFS. Ale ešte to nevzdávajte, existuje spôsob ako tento systém použiť aj pre partície s týmito súborovými systémami, len je tento jednoznančý identifikátor kratší.
Zastavím sa ešte pri swap partícii. Pri písaní tohoto článku som zistil, že mám jeden swap s UUID a jeden bez. Neviem presne čím to je spôsobené, každopádne však viem, že jeden som vytvoril už dávnejši pri inštalácii a druhý relatívne nedávno. Je možné, že neexistenciu UUID má na svedomí staršia verzia mkswap
- Predch.
- Nasled. >>



Komentáre
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,8)
Pretoze ked som dal:
# groot=UUID=b55b065b-dead-4217-abe9-0e2791e16bd9
tak mi Grub vyhodil chybu - tusim error 11
Code:
# groot=b55b065b-dead-4217-abe9-0e2791e16bd9čiže, inými slovami, bez UUID=