GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistím UUID souborového systému

Řešení 1:

Další příkaz, který může být k dispozici a také pro to funguje docela dobře, je 'blkid'. Je součástí balíčku e2fsprogs. Příklady použití:

Vyhledejte data na /dev/sda1:

[email protected]:~$ sudo blkid /dev/sda1
/dev/sda1: UUID="727cac18-044b-4504-87f1-a5aefa774bda" TYPE="ext3"

Zobrazit data UUID pro všechny oddíly:

[email protected]:~$ sudo blkid
/dev/sda1: UUID="727cac18-044b-4504-87f1-a5aefa774bda" TYPE="ext3"
/dev/sdb: UUID="467c4aa9-963d-4467-8cd0-d58caaacaff4" TYPE="ext3"

Zobrazit data UUID pro všechny oddíly ve lépe čitelném formátu:(Poznámka:v novějších verzích blkid -L má jiný význam a blkid -o list by měl být použit místo toho)

[email protected]:~$ sudo blkid -L
device     fs_type label    mount point    UUID
-------------------------------------------------------------------------------
/dev/sda1 ext3             /              727cac18-044b-4504-87f1-a5aefa774bda
/dev/sdc  ext3             /home          467c4aa9-963d-4467-8cd0-d58caaacaff4

Zobrazit pouze UUID pro /dev/sda1 a nic jiného:

[email protected]:~$ sudo blkid -s UUID -o value /dev/sda1
727cac18-044b-4504-87f1-a5aefa774bda

Řešení 2:

Pouze pro disky s oddíly GPT

Na disku ve formátu GPT je každému oddílu přiřazeno GUID, což je forma UUID, i když pravděpodobně ne to, na co odkazoval původní plakát. Proto je tato odpověď pravděpodobně méně užitečná pro původního tazatele. Přesto se domnívám, že je třeba si všimnout jednoho důležitého rozdílu.

Chcete-li získat GUID oddílu 1 na disku ve formátu GPT /dev/sda, stejně jako jeho označení oddílu atd.:

sudo sgdisk -i 1 /dev/sda

nebo vše s:

ls -l /dev/disk/by-partuuid

Ke spuštění s kořenem souborového systému na určitém oddílu byste použili syntaxi parametru linuxového jádra:

root=PARTUUID=87654321-4321-4321-abcd-123456789012

V tomto případě můžete zadat pouze začátek UUID - stačí, aby byl jedinečný. Tento parametr je primitivnější a jádro jej může porozumět dříve v procesu zavádění.

Mezi těmito je rozdíl v sémantice:

Disk obsahuje oddíly, oddíl obsahuje systém souborů, systém souborů obsahuje adresáře a soubory. Pro některá nastavení a operační systémy existuje více vrstev.

GUID UUID a související štítek odkazují na oddíl, ale ne na obsah oddílu. Nový oddíl na stejném disku nebo oddíl na novém disku bude mít nové GUID UUID. Stejný oddíl může obsahovat jeden souborový systém jeden den a jiný jiný den. Existuje pouze pro disky ve formátu GPT, ale ne pro starší disky rozdělené na oddíly. Obvykle zde není žádná další užitečnost než zadání root=/dev/sda1 nebo root=8:1 .

Ostatní aktuální odpovědi odkazují na UUID systému souborů v nějakém obsahujícím oddílu. Pokud je systém souborů zkopírován jako celek na jiný diskový oddíl nebo pevný disk, tato hodnota zůstane stejná. Toto UUID je užitečné při hledání přesunutého systému souborů. Proto je to pravděpodobně více relevantní pro většinu lidí. Parametr linuxového jádra root=UUID=87654321-4321-4321-a567-123456789012 odkazuje na toto.

Věřím, že root=LABEL= a root=UUID= jsou implementovány raným uživatelským prostorem, init kód, který jsem viděl onehdy v mém systému, přeložil tyto parametry do /dev/disk/by-uuid a /dev/disk/by-label (odkazy, o kterých se domnívám, že je vytváří udev v uživatelském prostoru na mém systém).

[1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts.c#n183

Řešení 3:

Skriptově čistý způsob, jak toho dosáhnout, který funguje na jakémkoli typu souborového systému, je:

lsblk -no UUID <device-containing-FS>

Nebo s ohledem na bod připojení (nebo jakýkoli soubor v něm):

lsblk -no UUID $(df -P <file> | awk 'END{print $1}')

Výstupem je UUID, celé UUID a nic jiného než UUID.

Řešení 4:

Nejjednodušší způsob, jak to udělat pro ext2/ext3/ext4, je:

/sbin/tune2fs -l /dev/sda1

Řešení 5:

Doporučený způsob, jak toho dosáhnout, je provést

sudo vol_id -u /dev/sda2

Další informace o používání UUID naleznete v tomto článku (z nápovědy ubuntu, ale mělo by fungovat pro všechny linuxové distribuce používající UUID).

Jak je uvedeno v komentářích k této otázce, vol_id nemusí být ve vaší cestě. Na ubuntu je v /sbin, takže výše uvedené bude fungovat. Zdá se, že pro fedoru potřebuje

sudo /lib/udev/vol_id -u /dev/sda2

Pokud mají jiné distribuce vol_id na jiných místech, přidejte komentář a já jej přidám k této odpovědi.


Linux
  1. Jak přenést výsledky 'najít' do mv v Linuxu

  2. Jak zjistím, co zabírá veškerý prostor na mém / oddílu?

  3. Jak změnit UUID souborového systému (2 stejné UUID)?

  1. Jak vytvořit souborový systém na linuxovém oddílu nebo logickém svazku

  2. Jak zjistit velikost nepřipojeného oddílu v Linuxu?

  3. Jak připojit souborový systém v prostředí pouze pro čtení?

  1. CentOS / RHEL :Jak změnit UUID souborového systému

  2. CentOS / RHEL :Jak najít UUID zařízení nebo souborového systému

  3. Jak zjistit velikost inodu souborového systému ext2/ext3/ext4?