Slik finner og endrer du UUID-en til en stasjon i Linux

Siste oppdatering: 17/12/2025
Forfatter: Isaac
  • Linux Bruk UUID-er for å identifisere partisjoner pålitelig, uavhengig av /dev-enhetsnavnet.
  • Verktøy som blkid, /dev/disk/by-uuid, lsblk eller GParted lar deg enkelt slå opp UUID-er.
  • Å endre UUID-er innebærer å bruke verktøy som uuidgen og tune2fs og oppdatere /etc/fstab og andre filer.
  • Når du kloner systemer, anbefales det å regenerere UUID-er og gjennomgå fstab, crypttab og GRUB for å unngå konflikter.

UUID for stasjon i Linux

Når merkelige problemer begynner å dukke opp i Linux, som oppstartsproblemer, endeløse ventetider eller disker som tidligere ble montert uten problemer nå ikke vises, er årsaken ofte den samme: en UUID endret eller feilkonfigurertÅ vite hvordan man finner, forstår og endrer disse identifikatorene er nesten et overgangsrite for alle som administrerer et GNU/Linux-system med flere disker eller partisjoner.

I denne artikkelen skal vi se nærmere på det Slik sjekker du UUID-en til diskene dine, og hvordan endrer du den på en sikker måte Og hvilke systemfiler du bør sjekke for å sikre at alt fortsetter å starte opp som det skal. Du skal se. kommandoer som blkid, ls -l /dev/disk/by-uuid, uuidgen, tune2fshvordan de forholder seg til /etc/fstabHva skjer med swap-partisjonen og hva du bør vurdere hvis du kloner et komplett system med verktøy som Clonezilla.

Hva er en UUID og hvorfor brukes den i Linux?

Begrepet UUID (universelt unik ID-identifikator) Den refererer til en universelt unik 128-bit (16-byte) identifikator. I sitt vanligste format vises den som en streng med 32 heksadesimale sifre delt inn i fem grupper atskilt med bindestreker, etter mønsteret 8-4-4-4-12, som gir totalt 36 tegn inkludert bindestreker. Et typisk eksempel ville være noe slikt: 123e4567-e89b-12d3-a456-426614174000.

I GNU/Linux-systemer er denne identifikatoren knyttet til hver enhet av lagring eller partisjon (ext4, XFS, swap-partisjoner osv.) og tjener til å referere til dem uavhengig av det klassiske enhetsnavnet (/dev/sda1, /dev/nvme0n1p2osv.), som kan endre seg hvis du kobler til eller fra disker. På denne måten kan systemet alltid montere de samme partisjonene selv om rekkefølgen diskene oppdages i kan variere.

Ikke alle partisjoner har nøyaktig samme UUID-format: for eksempel i partisjoner med format NTFS Det er vanlig å finne 16 heksadesimale sifre uten bindestreker (64 bits), i partisjoner FAT32 identifikatoren kan ha 8 heksadesimale sifreLikevel blir de i praksis i Linux fortsatt behandlet som unike identifikatorer for hvert volum.

En av de viktigste bruksområdene for disse kodene er filen /etc/fstab, hvor de er definert monteringspunkter og monteringsalternativer for hver partisjon. Der vil du vanligvis se en kolonne med oppføringer av typen UUID=xxxx-xxxx... i stedet for /dev/sdXnettopp for å oppnå stabilitet og unngå overraskelser når du endrer maskinvare.

Metoder for å vise UUID-en til diskene dine i Linux

Før du berører noe som helst, er det lurt å vite nøyaktig hvilke partisjoner du har og deres tilhørende UUID-er. Linux tilbyr flere verktøy, som for eksempel skiltes, for sjekk UUID-ene til alle diskene tilkoblet, både via kommandolinje og gjennom grafiske verktøy.

Spør UUID med blkid-kommandoen

En av de mest direkte måtene å se identifikatorer på er å bruke blkidDenne kommandoen krever administratorrettigheter, så du må kjøre den med sudo eller som bruker rootHvis du starter den uten parametere, ramse opp Du kan bruke alle oppdagede enheter:

sudo blkid

La utgang Den viser vanligvis linjer som dette:

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

Hver linje assosierer en enhet /utvikler med hans UUID, typen filsystem (ext4, xfs, vfatosv.) og andre metadata som f.eks. PARTUUIDHvis du bare er interessert i å filtrere etter en bestemt enhet, kan du spesifisere den som en parameter:

sudo blkid /dev/sda1

Hvis du vil finne UUID-en til partisjonen du er interessert i uten å måtte sjekke alle linjene, kan du bruke... grepFor eksempel, for å se identifikatoren til /dev/sdd4:

sudo blkid | grep sdd4

Det samme UUID Det er den du får se senere /etc/fstab hvis den partisjonen er konfigurert til å monteres automatisk på bootSå det er viktig å være veldig tydelig på dette. hvilken linje som tilsvarer hvert samlingspunkt.

Bruk /dev/disk/by-uuid-katalogen for å se lenker

Et annet veldig praktisk alternativ for å se hvilken UUID hver partisjon har, er å liste opp innholdet i katalogen. /dev/disk/by-uuid/I den katalogen oppretter systemet symboliske lenker der hvert filnavn er UUID-en til en enhet, og lenken peker til den faktiske enheten i /dev/.

Å se hele listen bare kjør:

  En omfattende guide til grunnleggende kommandoer og avansert administrasjon av WSL 2 på Windows 11

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

Utgangen vil vise deg Noe som:

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

På denne måten kan du raskt se hva UUID tilsvarer hver /dev-enhet og kryssrefererer denne informasjonen med det som står i /etc/fstab eller med hva andre verktøy viser, som for eksempel lsblk o gpartedDet er spesielt nyttig når du feilsøker monteringsproblemer eller retter feil i konfigurasjonsfiler.

Vis UUID-er og monteringspunkter med lsblk

Kommandoen lsblk Det er et veldig praktisk verktøy for å vise, i treform, forholdet mellom disker, partisjoner, logiske volumer og deres punktos de montajeSelv om hovedformålet ikke er å vise UUID-er, kan du kombinere det med noen alternativer for å få en ganske fullstendig oversikt over lagringssystemet.

En typisk påkalling ville være:

lsblk -o NAME,MOUNTPOINT,TYPE

I kolonnen FJELLPUNKT Du vil se ruter som /, /home, /boot, /mnt/datososv. Derfra kan du finne ut hvilken enhet vil du inspisere og deretter bruke blkid eller anmeldelse /dev/disk/by-uuid for å se identifikatoren. Dette er spesielt nyttig når systemet monterer stasjoner i uvennlige stier (for eksempel noen NAS-enheter eller verktøy som OpenMediaVault som monteres i /srv/ med lange navn som dev-disk-by-uuid-XXXX).

Spør UUID via /etc/fstab

En annen måte å raskt se hvilke UUID-er som brukes på systemet ditt, er å sjekke filen /etc/fstab, som definerer hvilke partisjoner er montert og hvor under oppstart. Du kan sjekke det med:

cat /etc/fstab

I den finner du linjer som ligner på:

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

Den første kolonnen bruker UUID som partisjonsidentifikator, etterfulgt av monteringspunkt, The filsystemtype (i dette eksemplet, xfs) og opciones de montaje (rw,noquota,nofailosv.). Sjekk /etc/fstab Det er en god vane å sjekke av og til, spesielt etter å ha byttet disker, partisjonert på nytt eller installert systemer på nytt, for å forsikre seg om at UUID-ene fortsatt samsvarer med de virkelige.

Videre, en enkel:

cat /etc/fstab | grep UUID

vil tillate deg å finne Finn raskt alle oppføringer identifisert av UUID, noe som er veldig nyttig når du mistenker at en identifikator er utdatert og forårsaker oppstartsproblemer.

Typiske UUID-problemer: trege oppstartstider og delt bytte

Et av de vanligste symptomene på en feilkonfigurert UUID er at Systemet henger seg opp under oppstart. I ganske lang tid, vanligvis rundt halvannet minutt, viser den meldinger som indikerer at den ikke finner en bestemt partisjon. Etter denne ventetiden fortsetter oppstartsprosessen, men den problematiske partisjonen blir ikke montert.

Dette skjer vanligvis når man er i /etc/fstab Det er en oppføring med en UUID som ikke lenger eksistererKanskje det er fordi du har endret en disk, formatert en partisjon eller installert en annen distribusjon på samme disk, noe som har generert en ny identifikator. Systemet prøver å montere den partisjonen med en UUID som ingen har, og venter til den utløper. tiden.

Et ganske vanlig tilfelle oppstår når du har en dobbelt system (for eksempel Ubuntu og Debian) som deler samme partisjon linux-swapTenk deg en disk med tre partisjoner: sdc1 som bytte, og sdc2 y sdc3 som rotpartisjoner i ext4 for henholdsvis Ubuntu og Debian. Hvis du først installerer Ubuntu i sdc3 og deretter Debian i sdc2Det er vanlig at Debian-installasjonsprogrammet formater vekslingsenheten på nytt og endre UUID-en.

Resultatet er at det først installerte systemet (Ubuntu, i dette eksemplet) har i sin /etc/fstab un Gammel UUID for bytteNår den starter opp, ser den etter partisjonen med en identifikator som ikke lenger eksisterer, venter makstiden, anser den som tapt og fortsetter oppstarten uten å montere en swap. Det er ikke verdens undergang, men det er en kilde til treghet og unødvendig RAM-forbruk.

For å diagnostisere slike tilfeller kan du bruke grafiske verktøy som GPartedHvis du ikke har det installert, kan du gjøre det på Debian-baserte distribusjoner med:

sudo apt install gparted

Når du har startet GParted, velger du disken og høyreklikker på vekselpartisjonen for å velge alternativet informasjonDer vil du se informasjon som enhetsnavnet (sdc1), typen ( )linux-swap) Og gjeldende UUIDDet er identifikatoren som også må vises i /etc/fstab for hvert system som bruker den byttet.

  Fix: Kan ikke få tilgang til fullstrømalternativer

Løsningen innebærer å redigere /etc/fstab av systemet som har en utdatert UUID (for eksempel Ubuntu) og erstatt den gamle UUID-en med den nye som du har sett i GParted eller med blkidDu kan gjøre det med din favoritteditor, for eksempel:

sudo nano /etc/fstab

Etter at endringene er lagret, vil systemet finne riktig swap-partisjon ved neste oppstart, og oppstartsprosessen vil gå knirkefritt igjen. Den samme prosedyren gjelder for enhver annen partisjon hvis UUID har endret seg på grunn av en ny installasjon, formatering eller dårlig utført kloning.

Generer og endre UUID-er i Linux

Det kommer en tid da det ikke er nok å lese UUID-er: du trenger generere nye identifikatorer eller endre eksisterendeDette kan være nødvendig når man kloner disker, når man vil unngå konflikter mellom systemer, eller rett og slett av organisatoriske årsaker. Linux tilbyr flere verktøy for disse oppgavene, noen generelle (uuidgen) og andre som er spesifikke for visse filsystemer (tune2fs for ext2/3/4).

Generer nye UUID-er med uuidgen

Nytte uuitgen Den er ansvarlig for å opprette og vise nye UUID-er ved hjelp av biblioteket. libuuidDe genererte identifikatorene er i praksis unike både i det lokale systemet og i ethvert annet system, tidligere, nåværende eller fremtidig, siden de følger standarder som er utformet for å unngå kollisjoner på en statistisk sett svært usannsynlig måte.

Det er hovedsakelig to generasjonsmoduser den håndterer uuidgen: tidsbaserte UUID-er y tilfeldige UUID-erDe første bruker systemklokken og adressen MAC av nettverkskortet (hvis tilgjengelig), mens sistnevnte er avhengige av en tilfeldig tallgenerator høy kvalitet, vanligvis /dev/random o /dev/urandom.

I noen distribusjoner, som f.eks. Debian 9 Stretch, verktøyet uuidgen Den er ikke installert som standard. I så fall kan du legge den til ved å installere pakken. uuid-kjøretid:

sudo apt update
sudo apt install uuid-runtime

Når den er installert, er den generelle syntaksen veldig enkel:

uuidgen

De vanligste alternativene er:

  • -r, –tilfeldiggenererer en UUID basert på tilfeldighetved hjelp av systemets tilfeldige tallgenerator.
  • -t, -tidgenererer en UUID basert på tid og MAC-adresse av maskinen.
  • -h, –hjelp: viser hjelp og avslutter.
  • -V, –versjon: viser versjonen og avslutter.

Hvis du løper uuidgen Uten parametere vil du direkte få en ny UUID i din terminal som du kan kopiere og bruke der du trenger det, for eksempel i skript eller tilpassede konfigurasjonsfiler.

Endre UUID-en til en ext2/3/4-partisjon med tune2fs

Hvis det du ønsker er at en eksisterende partisjon skal ha en ny UUIDI filsystemer av typen ext2, ext3 eller ext4 er referanseverktøyet tune2fsDenne kommandoen lar deg endre interne parametere i filsystemet, inkludert identifikatoren.

Før man endrer noe, er det viktig avmontere partisjonen for å unngå datakorrupsjon. La oss si at du vil endre UUID-en til /dev/sdd4Den grunnleggende flyten ville være:

sudo umount /dev/sdd4

Når den er demontert, kan du spørre tune2fs som genererer en ny tilfeldig UUID direkte:

sudo tune2fs /dev/sdd4 -U random

Hvis du foretrekker å kontrollere den spesifikke identifikatoren selv (for eksempel å bruke en som ble generert tidligere med uuidgen), kan du også sende verdien eksplisitt:

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

Etter endringen er det lurt å sjekke resultatet med blkid eller gjennomgang /dev/disk/by-uuid For å bekrefte at identifikatoren er oppdatert:

sudo blkid /dev/sdd4

Husk at hvis den partisjonen vises i /etc/fstab eller andre konfigurasjonsfiler, må du Oppdater den nye UUID-en manuelt for å hindre at systemet fortsetter å søke etter den gamle identifikatoren ved oppstart.

Rediger /etc/fstab for å bruke UUID-er i monteringer

Den anbefalte måten å definere vedvarende monteringer i Linux er å bruke UUID i /etc/fstabDen generelle syntaksen for en UUID-basert oppføring er omtrent slik:

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

For eksempel, for en XFS-disk beregnet for sikkerhetskopier, kan du ha en linje som denne:

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

I dette eksemplet er alternativet ingen feil Dette gjør at systemet ikke anser det som kritisk hvis disken ikke er til stede ved oppstart, noe som er veldig nyttig for eksterne stasjoner eller sikkerhetskopidisketter som ikke alltid er tilkoblet. Andre alternativer inkluderer ingen kvote o feil=monter-ro De avhenger av typen filsystem og hva du skal bruke det til.

Når du har endret /etc/fstab For å legge til eller oppdatere en oppføring, anbefales det å teste konfigurasjonen uten å starte på nytt ved å bruke:

  5 måter å frigjøre plass på Linux - veiledning

sudo mount -a

Hvis det ikke er noen feil, vil du kunne se resultatet med:

df -h | grep backups

eller lignende, erstatter backups av monteringspunktet som samsvarer med ditt tilfelle. Hvis noe går galt, sjekk at UUID-en er riktig og at det angitte filsystemet samsvarer med det faktiske.

Systemkloning og UUID-konflikter

Et scenario som reiser mange spørsmål er kloning av hele systemer, for eksempel med verktøy som CloneZillaNår man kloner en disk til en annen, kopieres dataene akkurat som partisjonene, filsystemene deres og UUID-ene deresDette betyr at du en stund vil ha to forskjellige disker med partisjoner som deler samme identifikator.

Denne overlappingen er kanskje ikke et problem hvis du bare starter opp fra klonen eller originalen vekselvis, men hvis du kobler til begge samtidig på samme maskin, er det sannsynlig at det vil oppstå feil. UUID-konflikterSystemet vil ikke vite nøyaktig hvilken partisjon hver identifikator tilsvarer, og du kan oppleve monteringsfeil, forvirrende oppstartstider, eller til og med ha partisjoner fra klonen montert der du forventet dem fra den originale disken.

For å unngå disse konfliktene er det vanlig praksis å gå frem endre UUID-ene til klonpartisjonene Etter kloning, sørg for at hver disk er tydelig differensiert. For ext4-partisjoner kan du, som vi så tidligere, stole på uuidgen for å generere nye identifikatorer og i tune2fs å bruke dem.

Hvis systemet ditt har en noe mer kompleks struktur, for eksempel en rot i ext4 > LVM > LUKS (dm-crypt), bør du være oppmerksom på at det kan være UUID på ulike nivåerDisse inkluderer: filsystemfiler, fysiske volumfiler for LVM, logiske volumfiler, LUKS-containerfiler osv. I tillegg filer som /etc/crypttab De kan referere til disse identifikatorene.

I et typisk tilfelle med kryptering kan skjemaet se omtrent slik ut:

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

Hvis du endrer UUID-er på noe tidspunkt i denne kjeden, må du sørge for at du oppdaterer alle stedene der de refereres til: /etc/fstab for monteringspunkter, /etc/crypttab for krypterte volumer og, i noen tilfeller, oppstartsparametere som GRUB bruker for å finne roten.

Når det gjelder GRUB, så er det i mange moderne konfigurasjoner det selv menyoppføringen bruker UUID For å finne ut hvor rotpartisjonen befinner seg. Det vil si at noe slikt vises i kjernelinjen: root=UUID=...Når du regenererer filen grub.cfg løping update-grub (eller tilsvarende kommando i distribusjonen din), leser systemet diskene på nytt og oppdaterer disse identifikatorene. Derfor, etter å ha endret UUID-er på en oppstartbar klon, anbefales det på det sterkeste å starte opp fra den klonen og utføre en GRUB-konfigurasjonsregenerering for å sikre at alt er konsistent.

I praksis er den rimelige arbeidsflyten når man kloner et komplett system og ønsker å bruke det parallelt med originalen vanligvis:

  • Start opp fra klonen (for å unngå forvirring med enhetsnavn).
  • Endre UUID-ene til partisjonene du vil differensiere (med tune2fs eller verktøyene som korresponderer med hvert filsystem).
  • Oppdater / Etc / fstab og, hvis aktuelt, /etc/crypttab med de nye identifikatorene.
  • Regenerer GRUB-konfigurasjonen (for eksempel med sudo update-grub i Debian/Ubuntu).

Selv om det kan virke litt arbeidskrevende, sikrer denne tilnærmingen at klonen blir fullstendig oppstartbar og uavhengig av originalen, og at begge kan sameksistere på samme maskin uten å tråkke på hverandre.

Å mestre UUID-administrasjon i Linux lar deg diagnostisere trege oppstartstider, feilsøke problemer med endrede partisjoner og konfigurere mer robuste monteringer. /etc/fstabDele swap-plass mellom distribusjoner uten problemer og klone hele systemer samtidig som alt holdes under kontroll. Til syvende og sist handler det bare om å identifisere riktig hvilken partisjon som tilhører hvilken, og sjekke koden deres med verktøy som blkid o ls -l /dev/disk/by-uuidog gjør det til en vane å gjennomgå og oppdatere viktige konfigurasjonsfiler hver gang du gjør betydelige endringer på diskene dine.

veiledning for parted-kommandoen
Relatert artikkel:
Veiledning for Parted-kommandoer: Komplett guide med eksempler og triks