Kako najti in spremeniti UUID pogona v Linuxu

Zadnja posodobitev: 17/12/2025
Avtor: Isaac
  • Linux Za zanesljivo identifikacijo particij uporabite UUID-je, ne glede na ime naprave /dev.
  • Orodja, kot so blkid, /dev/disk/by-uuid, lsblk ali GParted, vam omogočajo enostavno iskanje UUID-jev.
  • Spreminjanje UUID-jev vključuje uporabo pripomočkov, kot sta uuidgen in tune2fs, ter posodabljanje datoteke /etc/fstab in drugih datotek.
  • Pri kloniranju sistemov je priporočljivo regenerirati UUID-je in pregledati fstab, crypttab in GRUB, da se izognete konfliktom.

UUID pogona v Linuxu

Ko se v Linuxu začnejo pojavljati nenavadne težave, kot so težave z zagonom, neskončne čakalne dobe ali diski, ki so se prej priklopili brez težav, se zdaj ne pojavijo, je krivec pogosto isti: a UUID spremenjen ali napačno konfiguriranPoznavanje, kako najti, razumeti in spremeniti te identifikatorje, je skoraj obred prehoda za vsakogar, ki upravlja sistem GNU/Linux z več diski ali particijami.

V tem članku si ga bomo podrobno ogledali Kako preveriti UUID vaših pogonov in kako ga varno spremeniti In katere sistemske datoteke morate preveriti, da se bo vse še naprej pravilno zagnalo. Videli boste. ukazi kot blkid, ls -l /dev/disk/by-uuid, uuidgen, tune2fskako se nanašajo na /etc/fstabKaj se zgodi z izmenjalno particijo in kaj je treba upoštevati, če klonirate celoten sistem z orodji, kot je Clonezilla.

Kaj je UUID in zakaj se uporablja v Linuxu?

Izraz UUID (univerzalno edinstven identifikator) Nanaša se na univerzalno edinstven 128-bitni (16-bajtni) identifikator. V najpogostejši obliki je prikazan kot niz 32 šestnajstiških števk razdeljeno v pet skupin, ločenih s pomišljaji, po vzorcu 8-4-4-4-12, kar skupaj vsebuje 36 znakov, vključno z vezaji. Tipičen primer bi bil nekaj takega: 123e4567-e89b-12d3-a456-426614174000.

V sistemih GNU/Linux je ta identifikator povezan z vsakim naprava shranjevanje ali particija (ext4, XFS, swap particije itd.) in služi za sklicevanje nanje neodvisno od klasičnega imena naprave (/dev/sda1, /dev/nvme0n1p2itd.), kar se lahko spremeni, če priključite ali odklopite diske. Na ta način lahko sistem vedno priklopi iste particije čeprav se lahko vrstni red zaznavanja diskov razlikuje.

Vse particije nimajo popolnoma enake oblike UUID: na primer v particijah s formatom NTFS Pogosto je najti 16 šestnajstiških števk brez vezajev (64 bitov), ​​medtem ko je v particijah FAT32 identifikator ima lahko 8 šestnajstiških števkKljub temu se v Linuxu zaradi praktičnih razlogov še vedno obravnavajo kot enolični identifikatorji za vsak nosilec.

Ena najpomembnejših uporab teh kod je datoteka /etc/fstab, kjer so definirani pritrdilne točke in možnosti pritrditve vsake particije. Tam boste običajno videli stolpec z vnosi tipa UUID=xxxx-xxxx... namesto /dev/sdXprav zato, da dosežete stabilnost in se izognete presenečenjem ob spremembi strojna oprema.

Metode za ogled UUID-ja vaših diskov v Linuxu

Preden se česar koli dotaknete, je priporočljivo natančno vedeti, katere particije imate in z njimi povezane UUID-je. Linux ponuja več orodij, kot so razdeljen, za preverite UUID-je vseh diskov povezani, tako prek ukazne vrstice kot prek grafičnih orodij.

Poizvedba UUID z ukazom blkid

Eden najbolj neposrednih načinov za ogled identifikatorjev je uporaba blkidTa ukaz zahteva skrbniške pravice, zato ga boste morali zagnati z sudo ali kot uporabnik korenČe ga zaženete brez parametrov, našteti Uporabite lahko vse zaznane naprave:

sudo blkid

La salida Običajno prikaže vrstice, kot je ta:

/dev/sda1: UUID="8aa6c0d2-c18e-4606-b1da-f5f1f7617f00" TYPE="xfs" PARTUUID="..."

Vsaka vrstica povezuje naprava /razvoj z njegovim UUID, vrsta datotečnega sistema (ext4, xfs, vfatitd.) in drugi metapodatki, kot so PARTUUIDČe vas zanima samo filtriranje po določeni napravi, jo lahko določite kot parameter:

sudo blkid /dev/sda1

Če želite najti UUID particije, ki vas zanima, ne da bi morali preveriti vse vrstice, lahko uporabite ... grepNa primer, če želite videti identifikator /dev/sdd4:

sudo blkid | grep sdd4

To isto UUID To je tisto, kar boste videli kasneje /etc/fstab če je ta particija konfigurirana za samodejno priklop na škorenjZato je pomembno, da smo glede tega zelo jasni. katera črta ustreza vsaki zbirni točki.

Za ogled povezav uporabite imenik /dev/disk/by-uuid

Druga zelo praktična možnost za ogled UUID-ja vsake particije je seznam vsebine imenika. /dev/disk/by-uuid/V tem imeniku sistem ustvari simbolične povezave kjer je vsako ime datoteke UUID naprave, povezava pa kaže na dejansko napravo v /dev/.

Za ogled celoten seznam preprosto zaženite:

  Celovit vodnik po osnovnih ukazih in naprednem upravljanju WSL 2 v sistemu Windows 11

sudo ls -l /dev/disk/by-uuid/

Izhod vam bo pokazal Nekaj ​​kot:

lrwxrwxrwx 1 root root 10 ... 8aa6c0d2-c18e-4606-b1da-f5f1f7617f00 -> ../../sda1

Tako lahko na prvi pogled vidite, kaj UUID ustreza vsaki napravi /dev in te informacije primerjajte s tistimi, ki so navedene v /etc/fstab ali s tem, kar prikazujejo druga orodja, kot npr. lsblk o gpartedTo je še posebej uporabno pri odpravljanju napak v sestavljanju ali popravljanju napak v konfiguracijskih datotekah.

Ogled UUID-jev in točk priklopa z ukazom lsblk

Ukaz Lsblk Je zelo priročno orodje za ogled razmerij med diski, particijami, logičnimi nosilci in njihovimi podatki v obliki drevesa. pritrdilne točkeČeprav njegov primarni namen ni prikazovanje UUID-jev, ga lahko kombinirate z nekaterimi možnostmi, da dobite dokaj popoln pregled sistema za shranjevanje.

Tipičen klic bi bil:

lsblk -o NAME,MOUNTPOINT,TYPE

V stolpcu MOUNTPOINT Videli boste poti, kot so /, /home, /boot, /mnt/datositd. Od tam lahko izveste katero napravo želite pregledati in nato uporabite blkid ali pregled /dev/disk/by-uuid da si ogledate njegov identifikator. To je še posebej uporabno, kadar sistem priklopi pogone na neprijazne poti (na primer nekatere naprave NAS ali orodja, kot je OpenMediaVault, ki se priklopijo v /srv/ z dolgimi imeni, kot so dev-disk-by-uuid-XXXX).

Poizvedba UUID prek /etc/fstab

Drug način za hiter pregled UUID-jev, ki se uporabljajo v vašem sistemu, je preverjanje datoteke /etc/fstab, ki definira katere predelne stene so nameščene in kje med zagonom. Preverite lahko z:

cat /etc/fstab

V njem boste našli vrstice, podobne tem:

UUID=8aa6c0d2-c18e-4606-b1da-f5f1f7617f00 /backups xfs rw,noquota,nofail 0 1

V prvem stolpcu se uporablja UUID kot identifikator particije, ki mu sledi točka pritrditveje vrsta datotečnega sistema (v tem primeru, xfs) in opciones de montaje (rw,noquota,nofailitd.). Preverite /etc/fstab Dobra navada je občasno preveriti, zlasti po menjavi diskov, ponovni razdelitvi ali ponovni namestitvi sistemov, ali se UUID-ji še vedno ujemajo z dejanskim.

Poleg tega preprosto:

cat /etc/fstab | grep UUID

vam bo omogočilo, da poiščete Hitro poiščite vse vnose, identificirane z UUID, kar je zelo uporabno, če sumite, da je identifikator zastarel in povzroča težave pri zagonu.

Tipične težave z UUID: počasen zagon in skupna swap

Eden najpogostejših simptomov napačno konfiguriranega UUID-ja je, da Sistem se med zagonom zatakne. Kar nekaj časa, običajno približno minuto in pol, prikazuje sporočila, da ne more najti določene particije. Po tem čakalnem obdobju se postopek zagona nadaljuje, vendar problematična particija ni priklopljena.

To se običajno zgodi, ko v /etc/fstab Obstaja vnos z UUID, ki ne obstaja večMorda je to zato, ker ste zamenjali disk, formatirali particijo ali ponovno namestili drugo distribucijo na isti disk, kar je ustvarilo nov identifikator. Sistem poskuša priklopiti to particijo z UUID-jem, ki ga nihče nima, in čaka, da poteče. čas.

Dokaj pogost primer se zgodi, ko imate dvojni sistem (na primer Ubuntu in Debian), ki si delijo isto particijo linux-swapPredstavljajte si disk s tremi particijami: sdc1 kot zamenjava in sdc2 y sdc3 kot korenske particije v ext4 za Ubuntu oziroma Debian. Če najprej namestite Ubuntu v sdc3 in nato Debian v sdc2Za namestitveni program Debiana je običajno, da preoblikujte swap in spremenite njegov UUID.

Rezultat je, da ima prvi nameščeni sistem (v tem primeru Ubuntu) v svojem /etc/fstab un Stari UUID za zamenjavoKo se zažene, poišče particijo z identifikatorjem, ki ne obstaja več, počaka najdaljši možni čas, jo šteje za izgubljeno in nadaljuje z zagonom brez priklopa swap-a. To ni konec sveta, je pa vir počasnosti in nepotrebne porabe RAM-a.

Za diagnosticiranje takšnih primerov lahko uporabite grafična orodja, kot so GPartedČe ga nimate nameščenega, lahko na distribucijah, ki temeljijo na Debianu, to storite z:

sudo apt install gparted

Ko zaženete GParted, izberite disk in z desno miškino tipko kliknite swap particijo, da izberete možnost PodatkiTam boste videli informacije, kot je ime naprave (sdc1), tip ( )linux-swap) in trenutni UUIDTo je identifikator, ki se mora pojaviti tudi v /etc/fstab vsakega sistema, ki uporablja to zamenjavo.

  Popravek: Ni mogoče dostopati do možnosti polne porabe

Rešitev vključuje urejanje /etc/fstab sistema, ki ima zastarel UUID (na primer Ubuntu) in zamenjajte stari UUID z novim ki ste jih videli v GParted ali z blkidTo lahko storite s svojim najljubšim urejevalnikom, na primer:

sudo nano /etc/fstab

Po shranjevanju sprememb bo sistem ob naslednjem zagonu našel pravilno swap particijo in postopek zagona bo spet potekal gladko. Isti postopek velja za katera koli druga particija katerega UUID se je spremenil zaradi ponovne namestitve, formatiranja ali slabo izvedenega kloniranja.

Generiranje in spreminjanje UUID-jev v Linuxu

Pride čas, ko branje UUID-jev ni dovolj: potrebujete ustvarite nove identifikatorje ali spremenite obstoječeTo je lahko potrebno pri kloniranju diskov, ko se želite izogniti konfliktom med sistemi ali preprosto za organizacijske namene. Linux ponuja več orodij za te naloge, nekatera splošna (uuidgen) in druge, specifične za določene datotečne sisteme (tune2fs za ext2/3/4).

Ustvari nove UUID-je z uuidgen

Uporabnost uuidgen Odgovoren je za ustvarjanje in prikazovanje novih UUID-jev z uporabo knjižnice knjižnicaUstvarjeni identifikatorji so v praksi edinstveni tako v lokalnem sistemu kot v katerem koli drugem sistemu, preteklem, sedanjem ali prihodnjem, saj sledijo standardom, zasnovanim tako, da se na statistično zelo malo verjeten način izognejo trkom.

Obvladuje predvsem dva načina generacije uuidgen: časovno omejeni UUID-ji y naključni UUID-jiPrvi uporabljajo sistemsko uro in naslov MAC omrežne kartice (če je na voljo), medtem ko se slednje zanašajo na generator naključnih števil visoka kakovost, običajno /dev/random o /dev/urandom.

V nekaterih distribucijah, kot npr. Debian 9 Stretch, orodje uuidgen Privzeto ni nameščen. V tem primeru ga lahko dodate z namestitvijo paketa. izvajalno okolje uuid:

sudo apt update
sudo apt install uuid-runtime

Ko je nameščen, je njegova splošna sintaksa zelo preprosta:

uuidgen

Najpogostejše možnosti so:

  • -r, –naključno: ustvari UUID na podlagi naključnostz uporabo generatorja naključnih števil sistema.
  • -t, –čas: ustvari UUID na podlagi čas in MAC naslov stroja.
  • -h, -help: prikaže pomoč in zapre.
  • -V, –različica: prikaže različico in zapre.

Če tečeš uuidgen Brez parametrov boste neposredno pridobili nov UUID v svojem terminal ki jih lahko kopirate in uporabite kjer koli jih potrebujete, na primer v skriptih ali konfiguracijskih datotekah po meri.

Spremenite UUID particije ext2/3/4 s tune2fs

Če želite, da ima obstoječa particija nov UUIDV datotečnih sistemih ext2, ext3 ali ext4 je referenčno orodje tune2fsTa ukaz vam omogoča spreminjanje notranjih parametrov datotečnega sistema, vključno z njegovim identifikatorjem.

Preden karkoli spremenite, je bistveno odmonti particijo da se izognete poškodbam podatkov. Recimo, da želite spremeniti UUID /dev/sdd4Osnovni tok bi bil:

sudo umount /dev/sdd4

Ko je razstavljeno, lahko vprašate tune2fs ki neposredno generira nov naključni UUID:

sudo tune2fs /dev/sdd4 -U random

Če želite sami nadzorovati določen identifikator (na primer uporabiti tistega, ki je bil prej ustvarjen z uuidgen), lahko vrednost posredujete tudi eksplicitno:

sudo tune2fs /dev/sdd4 -U 123e4567-e89b-12d3-a456-426614174000

Po spremembi je dobro preveriti rezultat z blkid ali pregledovanje /dev/disk/by-uuid Če želite potrditi, da je bil identifikator posodobljen:

sudo blkid /dev/sdd4

Ne pozabite, da če se ta particija pojavi v /etc/fstab ali druge konfiguracijske datoteke, boste morali Ročno posodobite novi UUID da preprečite, da bi sistem ob zagonu nadaljeval z iskanjem starega identifikatorja.

Uredite /etc/fstab za uporabo UUID-jev v priklopih

Priporočen način za definiranje trajnih priklopov v Linuxu je uporaba UUID v /etc/fstabSplošna sintaksa za vnos, ki temelji na UUID-ju, je nekako takšna:

UUID={TU-UUID} /ruta/de/montaje tipo_fs opciones 0 1

Na primer, za disk XFS, namenjen varnostnim kopijam, lahko imate takšno vrstico:

UUID=8aa6c0d2-c18e-4606-b1da-f5f1f7617f00 /backups xfs rw,noquota,nofail 0 1

V tem primeru je možnost brezhibno Zaradi tega sistem ne šteje za kritičnega, če disk ob zagonu ni prisoten, kar je zelo uporabno za zunanje pogone ali varnostne diske, ki niso vedno priključeni. Druge možnosti vključujejo brez kvote o napake=remount-ro Odvisni so od vrste datotečnega sistema in od tega, za kaj ga boste uporabljali.

Ko ste enkrat spremenili /etc/fstab Za dodajanje ali posodobitev katerega koli vnosa je priporočljivo preizkusiti konfiguracijo brez ponovnega zagona z uporabo:

  5 načinov za sprostitev prostora v sistemu Linux – vadnica

sudo mount -a

Če ni napak, boste rezultat lahko videli z:

df -h | grep backups

ali podobno, ki nadomešča backups z vpenjalno točko, ki ustreza vašemu primeru. Če gre kaj narobe, preverite, ali je UUID pravilen in ali se navedeni datotečni sistem ujema z dejanskim.

Kloniranje sistema in konflikti UUID-jev

En scenarij, ki sproža številna vprašanja, je kloniranje celotnih sistemov, na primer z orodji, kot so ClonezillaPri kloniranju enega diska na drugega se podatki kopirajo tako kot particije, njihovi datotečni sistemi in njihovi UUID-jiTo pomeni, da boste nekaj časa imeli dva različna diska s particijami, ki si delita isti identifikator.

To prekrivanje morda ne bo problem, če se izmenično zaganjate samo s klona ali originala, če pa oba hkrati povežete na isti računalnik, se bodo verjetno pojavile napake. Konflikti UUID-jevSistem ne bo natančno vedel, kateri particiji ustreza posamezen identifikator, zato lahko pride do napak pri nameščanju, zmede pri zagonu ali celo do nameščanja particij iz klona tam, kjer ste pričakovali particije z originalnega diska.

Da bi se izognili tem konfliktom, je običajna praksa, da se nadaljuje spremenite UUID-je kloniranih particij Po kloniranju se prepričajte, da je vsak disk jasno ločen. Za particije ext4 se lahko, kot smo videli prej, zanesete na uuidgen za ustvarjanje novih identifikatorjev in v tune2fs jih uporabiti.

Če ima vaš sistem nekoliko bolj zapleteno strukturo, na primer koren v ext4 > LVM > LUKS (dm-crypt), se morate zavedati, da lahko pride do UUID na različnih ravnehSem spadajo: datoteke datotečnega sistema, datoteke fizičnega nosilca LVM, datoteke logičnega nosilca, datoteke vsebnika LUKS itd. Poleg tega datoteke, kot so /etc/crypttab Lahko se sklicujejo na te identifikatorje.

V tipičnem primeru šifriranja bi shema lahko izgledala nekako takole:

nvme0n1 (disco físico)
├─nvme0n1p1 /boot/efi
├─nvme0n1p2 /boot
└─nvme0n1p3 (partición cifrada LUKS)
└─nvme0n1p3_crypt
├─sys--vg-root /
└─sys--vg-swap_1

Če spremenite UUID-je na kateri koli točki v tej verigi, morate zagotoviti, da posodobite vsa mesta, kjer se nanje sklicujete: /etc/fstab za točke priklopa, /etc/crypttab za šifrirane nosilce podatkov in v nekaterih primerih zagonske parametre, ki jih GRUB uporablja za iskanje korenskega direktorija.

Kar zadeva GRUB, v mnogih sodobnih konfiguracijah sam vnos v meniju uporablja UUID Če želite izvedeti, kje se nahaja korenska particija. To pomeni, da se v vrstici jedra prikaže nekaj takega: root=UUID=...Ko ponovno ustvarite datoteko grub.cfg teče update-grub (ali enakovredni ukaz v vaši distribuciji), sistem ponovno prebere diske in posodobi te identifikatorje. Zato je po spreminjanju UUID-jev na zagonskem klonu zelo priporočljivo, da se zaženete s tega klona in izvedete regeneracijo konfiguracije GRUB, da zagotovite skladnost.

V praksi je razumen potek dela pri kloniranju celotnega sistema in njegovi vzporedni uporabi z originalom običajno naslednji:

  • Zagon iz klona (da se izognete zmedi z imeni naprav).
  • Spremenite UUID-je particij, ki jih želite razlikovati (z tune2fs ali orodja, ki ustrezajo posameznemu datotečnemu sistemu).
  • Posodobiti / etc / fstab in, če je primerno, /etc/crypttab z novimi identifikatorji.
  • Obnovite konfiguracijo GRUB-a (na primer z sudo update-grub v Debianu/Ubuntuju).

Čeprav se morda zdi nekoliko zamudno, ta pristop zagotavlja, da bo klon popolnoma zagonski in neodvisen originala in da lahko oba sobivata na istem stroju, ne da bi stopila drug na drugega.

Obvladovanje upravljanja UUID v Linuxu vam omogoča diagnosticiranje počasnih časov zagona, odpravljanje težav s spremenjenimi particijami in konfiguriranje robustnejših naprav za priklop. /etc/fstabDeljenje izmenjalnega prostora med distribucijami brez težav in kloniranje celotnih sistemov, hkrati pa je vse pod nadzorom. Na koncu gre le za pravilno identifikacijo, katera particija pripada kateri, in preverjanje njihove kode z orodji, kot je blkid o ls -l /dev/disk/by-uuidin si vzemite za navado pregledovanje in posodabljanje ključnih konfiguracijskih datotek vsakič, ko na diskih naredite večje spremembe.

Vadnica za ukaz parted
Povezani članek:
Vadnica za delitev ukazov: Popoln vodnik s primeri in triki