Moje /etc/fstab
obsahuje toto:
# / was on /dev/sda1 during installation UUID=77d8da74-a690-481a-86d5-9beab5a8e842 / ext4 errors=remount-ro 0 1
V tomto systému je několik dalších disků a ne všechny disky jsou připojeny do správného umístění (například / dev / sda1 a / dev / sdb1 jsou někdy obráceny).
Jak může Vidím UUID pro všechny disky v mém systému? Mohu vidět UUID pro třetí disk v tomto systému?
Komentáře
- @setzamora odpověď je lepší. Změňte přijímanou odpověď.
Odpověď
V /dev/disk/by-uuid
tam jsou symbolické odkazy mapující UUID každé jednotky na její vstup v /dev
(např. /dev/sda1
)
Komentáře
- Je ‚ čitelné, když jsou oddíly LVM.
- LVM již používá dlouhé identifikátory podobné UUID (i když jsou uvedeny jinak) ve své struktuře. Myslím, že jediným důvodem pro použití UUID souborového systému s LVM by bylo jako jednotné rozhraní pro nějaký druh automatizace, protože LVM pro vás již provádí mapování LV na lidská jména.
-
ls -lha /dev/disk/by-uuid
- Pouze pro informaci, výsledek se změnil a bude se lišit od
blkid
a vyhrál ‚ pro bootování: i.imgur.com/ocgoi3g.png - často používám tento přístup, zejména proto, že blkid potřebuje oprávnění SU. Ale
bohužel má mnohem méně informací a v některých případech vás dostane do problémů. Pro mě to fungovalo se svazky RAID a btrfs, protože různé oddíly sdílejí uuid, ale pro každý UUID je v symbolických odkazech pouze jedna položka …
Odpověď
Existuje nástroj zvaný blkid
(použijte jej jako root nebo s sudo
) ,
# blkid /dev/sda1 /dev/sda1: LABEL="/" UUID="ee7cf0a0-1922-401b-a1ae-6ec9261484c0" SEC_TYPE="ext2" TYPE="ext3"
můžete zkontrolovat tento odkaz , kde najdete další informace
Komentáře
- Jen malý komentář: vypadá to, že člen skupiny
disk
stačí ke spuštěníblkid
; není potřeba úplných oprávnění superuživatele. - Pokud chcete pouze UUID (jako při analýze ve skriptu), můžete provést
blkid /dev/sda1 -s UUID -o value
. - Rychlý komentář zde: v mém distribuci (Debian 8) se získá UUID stejně jako “ PARTUUID „, což je docela matoucí. Použil jsem příkazy {lsblk}, které dávají pouze jednu hodnotu.
- Tento sav Je to spousta času, i když raději udělám
blkid /dev/sd*
seznam všech disků .. Informace, které vyplivnou, jsou obecně víc než dost na nalezení disku, který potřebujete. 🙂 - PARTUUID pro disky rozdělené na GPT je GPT UUID pro oddíl, nikoli pro souborový systém v něm. Může to být užitečné, když ještě není vytvořen souborový systém. Na disku s oddíly MBR není PARTUUID skutečným UUID, ale pouze podpisem disku Windows z MBR + číslo pomlčky + oddílu.
Odpovědět
Nejlepší příkaz, který lze použít, je lsblk -f
. Zobrazí seznam všech zařízení a oddílů, způsobu jejich připojení (pokud vůbec) a stromové struktury zařízení v případě použití LVM, crypto_LUKS nebo více skupin svazků na stejné jednotce.
Komentáře
- Toto je nejlepší odpověď – nejdůkladnější a skutečně komplexní metoda.
- Dodatek: Musel jsem vložit sudo před tím, jinak se nepodařilo získat UUID oddílu a sloupec byl prázdný.
-
df --output=source MYFILE | tail -n1 | xargs lsblk -o uuid
Odpověď
Získat pouze UUID
konkrétního diskového zařízení (například pro použití v skript), který můžete použít:
sudo blkid -s UUID -o value /dev/sdXY
kde /dev/sdXY
je název zařízení.
Komentáře
- Nejste si jisti, proč to není ‚ t nejlepší komentář.
Odpověď
Toto pro mě funguje:
ls -la /dev/disk/by-uuid
Chcete-li zkontrolovat, jaký typ oddílu je, použijte:
df -Th
a zobrazí vám, zda máte ext3 nebo ext2. Dnes mi to pomohlo, protože existoval naformátovaný oddíl ext2 a myslel jsem si, že je to ext3, což způsobilo selhání připojení.
Komentáře
- Vy vždy se můžete pokusit
mount -t auto /dev/sda1 /media/sda1
.
Odpověď
lsblk -o +uuid,name
Můžete zobrazit všechny výstupy, které lze přidat do -o
(--output
) pomocí
lsblk --help
Také to bude fungovat
# blkid
Komentáře
- Není ‚ t
name
ve výchozím nastavení vytištěno? - to je. Přidáno pouze pro vzdělávací účely (čárkou oddělte požadovaná pole)
Odpověď
Předchozí odpovědi nefungují pro více zařízení nebo pro zařízení se stejnými UUID.
Zkuste toto:
sudo blkid /dev/sd*
Komentáře
- Opravdu? Máte na mysli, že nejhlasovanější odpověď nefunguje?
- Univerzálně jedinečný identifikátor (UUID) by měl být vždy jedinečný. Celým účelem UUID je být univerzálně jedinečný. Pokud ne, nastává ‚ problém. V klonovaných virtuálních počítačích jsem viděl duplicitní UUID, alespoň pro síťová zařízení.
- Pokud klonujete oddíl pomocí příkazu
dd
, kopie bude mít stejný uuid a ano, to je problém. Ostatní odpovědi zde by to ‚ t neukazovaly.
Odpověď
Na následujícím příkazovém řádku můžete vidět UUID a mapování na oddíly.
ls /dev/disk/by-uuid -lt lrwxrwxrwx 1 root root 10 Sep 1 18:51 57eacf4e-1940-436e-b945-85f8d4833aa5 -> ../../sda2 lrwxrwxrwx 1 root root 10 Sep 1 18:51 656f4cae-8527-43a0-a80f-00ac82818744 -> ../../sda1 lrwxrwxrwx 1 root root 9 Sep 1 18:51 d627595d-4060-440e-8380-a1fe9f3f2a81 -> ../../md0 lrwxrwxrwx 1 root root 10 Sep 1 18:51 0dfd6dfe-1852-460d-852c-676a5b9035ed -> ../../sda4 lrwxrwxrwx 1 root root 10 Sep 1 18:51 b1ddf850-8f81-429f-a653-38ae4a4ebb6f -> ../../sda3 lrwxrwxrwx 1 root root 9 Sep 1 18:51 b4b729f7-5699-411c-8f5a-424bbc7c89fc -> ../../sdb
Komentáře
- Proč vidíme uuid sda
- Na jeden oddíl existuje jeden UUID pro souborový systém. Na sda mám 4 oddíly, takže jsem měl 4 UUID. wiki.debian.org/Part-UUID
odpověď
Mám stejný problém jako vy: přejmenování jádra /dev/sd**
po restartu:
Samozřejmě všechny moje automatické instalace v /etc/fstab
na ně odkazuje LABEL nebo UUID, takže v zásadě s tím není problém. A všechny výše uvedené příkazy, blkid nebo lsblk, poskytují tento druh informací.
Problémy však začínají jako v mém případě, když používáte oddíl v režimu RAW, v aktuálně spuštěném systému point-of- zobrazení: například buď: oddíl se používá jako surové zařízení, k vytvoření virtuálního disku pro VirtualBox (takže odkaz na tento oddíl je něco jako: /dev/sdf3
) nebo se oddíl používá jako surové zařízení vytvořit LUN pro iSCSI (takže odkaz na tento oddíl je něco jako: /dev/sdc6
)
Takže nyní při bootování, například v rc .local, musíte spolehlivě zjistit, jaké je /dev/sdXX
zařízení vašeho vyhrazeného oddílu RAW, a upravit nějaký soubor:
PŘÍKLAD 1
Popis disku VirtualBox * .vmk tohoto surového disku, v části něco jako:
\# Extent description RW 488397167 FLAT "/dev/sdXX" 0
a poté restartujte službu VirtualBox
PŘÍKLAD LE 2
v konfiguraci tgtd byl v době sestavení přidružen cíl: target0 k /dev/sdd6
. Po restartu získáte stejný oddíl přejmenovaný /deb/sdc6
To se děje s vyměnitelným diskem, USB nebo eSATA! Jak tedy automaticky najít nové zařízení? Opět v /etc/rc.d/rc.local
Takže v tomto případě potřebujeme spolehlivý způsob, jak zjistit, jaký je nový název zařízení. Oddíl GPT nabízí jedinečný identifikátor GUID pro libovolný oddíl GPT zapsaný v tabulce GPT.
gdisk neposkytuje tyto informace v režimu výpisu, ale pouze v interaktivním režimu s příkazem: i. Blkid to naštěstí dělá!
Takže musíte napsat skript prostředí, abyste se podívali na všechny své disky, což je zařízení /dev/sdXX
spojené s identifikátorem GUID všimli jste si v době vytváření oddílu.
Něco jako, search_device_by_partUUID.sh:
\#!/bin/bash PART_UUID=$1 if [ "$PART_UUID" = "" ] then echo "Syntax: $0 <a valid partition UUID>" exit 3 fi lsblk | grep "^sd" | awk "{print $1}" | while read DISK_DEVICE do INFO=`blkid /dev/${DISK_DEVICE}* | grep "PARTUUID=\"$PART_UUID\"" ` if [ "$INFO" != "" ] then echo INFO : "$INFO" BLK_DEVICE=`echo "$INFO" | awk "{print $1}"` echo $BLK_DEVICE > /dev/shm/blkdevice echo -n "BLK_DEVICE : " ; cat /dev/shm/blkdevice fi done
a poté použijte /dev/shm/blkdevice
ve vašem skriptu rc.local.
Odpovědět
Chcete-li zobrazit uuid oddílu pevného disku, stačí nabootujte systém z disku CD s Linuxem a připojte se k počítači, klikněte na, oddíl, který chci vidět. Zobrazí se uuid číslo linuxového oddílu.
Uuid disku můžete zobrazit také spuštěním obslužného programu Linux Disk po spuštění disku CD se systémem Linux.
Komentáře
- Co ‚ s “ připojení mého počítače „? A co ‚ s “ obslužný program Linux Disk “ zní jako gnome-disk-utility aka Disks?
Odpověď
V těchto případech je třeba zkontrolovat / dev / disk / by-partuuid. existují symbolické odkazy mapující PARTUUID každé jednotky na její vstup v / dev / sdb1 atd.