linux: Como posso visualizar todos os UUIDs de todos os discos disponíveis no meu sistema?

128

Meu /etc/fstab contém isso:

# / was on /dev/sda1 during installation
UUID=77d8da74-a690-481a-86d5-9beab5a8e842 /               ext4    errors=remount-ro 0       1

Existem vários outros discos neste sistema, e nem todos os discos estão sendo montados no local correto (por exemplo, / dev / sda1 e / dev / sdb1 às vezes são invertidos).

Como posso ver os UUIDs de todos os discos no meu sistema? Posso ver o UUID do terceiro disco neste sistema?

    
por Stefan Lasiewski 18.08.2010 / 06:14

10 respostas

112

Em /dev/disk/by-uuid , há links simbólicos mapeando o UUID de cada unidade para sua entrada em /dev (por exemplo, /dev/sda1 )

    
por 18.08.2010 / 06:29
135

Existe uma ferramenta chamada blkid (use como root ou com sudo ),

# blkid /dev/sda1
/dev/sda1: LABEL="/" UUID="ee7cf0a0-1922-401b-a1ae-6ec9261484c0" SEC_TYPE="ext2" TYPE="ext3"

você pode verificar este link para mais informações

    
por 18.08.2010 / 06:26
27

O melhor comando para usar é %código%. Ele listará todos os dispositivos e partições, como eles são montados (se for o caso) e a estrutura em árvore dos dispositivos no caso de usar LVM, crypto_LUKS ou vários grupos de volumes na mesma unidade.

    
por 17.11.2016 / 20:00
9

Isso funciona para mim:

ls -la /dev/disk/by-uuid

Se você quiser verificar o tipo de partição, use:

df -Th

e ele mostrará se você possui ext3 ou ext2. Hoje ele me ajudou porque havia uma partição ext2 formatada e eu pensei que era ext3, o que estava causando falha na montagem.

    
por 28.12.2012 / 20:49
6

Para obter apenas o UUID de um dispositivo de disco específico (por exemplo, para ser usado em um script), você pode usar:

sudo blkid -s UUID -o value /dev/sdXY

em que /dev/sdXY é o nome do dispositivo.

    
por 03.04.2017 / 17:13
4
lsblk -o +uuid,name

Você pode ver todas as saídas que podem ser adicionadas ao -o ( --output ) com

lsblk --help

Isso também fará o trabalho

# blkid
    
por 20.07.2017 / 22:40
2

As respostas anteriores não funcionam para vários dispositivos ou para dispositivos com UUIDs idênticos.

Tente isto:

sudo blkid /dev/sd*
    
por 14.09.2016 / 09:37
1

Com a seguinte linha de comando você pode ver o UUID mais o mapeamento para partições.

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
    
por 01.09.2015 / 18:59
1

Eu tenho o mesmo problema que você: renomeando pelo kernel de /dev/sd** após uma reinicialização:

É claro que toda a minha montagem automática em /etc/fstab é referenciada por LABEL ou UUID, então basicamente não há problema para isso. E todos os comandos acima, blkid ou lsblk, fornecem esse tipo de informação.

Mas o problema começa como no meu caso, quando você está usando a partição no modo RAW, no ponto de vista do sistema atualmente inicializado: por exemplo: a partição é usada como dispositivo bruto, para criar um disco virtual para o VirtualBox (então a referência a esta partição é algo como: /dev/sdf3 ) ou a partição é usada como dispositivo bruto, para criar um LUN para iSCSI (então a referência a esta partição é algo como: /dev/sdc6 )

Portanto, agora na inicialização, por exemplo, em rc.local, você precisa encontrar de maneira confiável, o que é o dispositivo /dev/sdXX de sua partição RAW dedicada e adaptar algum arquivo:

EXEMPLO 1

A descrição do disco virtual * .vmk deste disco bruto, na parte algo como:

\# Extent description
RW 488397167 FLAT "/dev/sdXX" 0

e reinicie o serviço VirtualBox

EXEMPLO 2

na configuração do tgtd, um target: target0 foi associado a /dev/sdd6 no tempo de compilação. Após a reinicialização, você recebe a mesma partição renomeada /deb/sdc6 Isso acontece com um disco removível, USB ou eSATA! Então, como encontrar o novo dispositivo automaticamente? Novamente em /etc/rc.d/rc.local

Portanto, neste caso, precisamos de uma maneira confiável para descobrir qual é o novo nome do dispositivo. A partição GPT oferece GUID exclusivo para qualquer partição GPT, escrita na tabela GPT.

O gdisk não fornece esta informação com o modo de listagem, mas somente no modo interativo com: i comando. Felizmente, blkid faz isso!

Então você precisa escrever um script de shell, para procurar em todos os seus discos, que é o dispositivo /dev/sdXX , associado ao GUID notado no momento da criação da partição.

Algo como, 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

e, em seguida, use /dev/shm/blkdevice em seu script rc.local.

    
por 21.06.2018 / 12:19
0

Para ver o uuid de uma partição do disco rígido Acabei de inicializar o sistema com um CD do Linux e ir para a montagem do meu computador, clique na partição que quero ver. O número uuid da partição Linux será exibido.

Você também pode ver o disco uuid executando o utilitário Linux Disk após a inicialização do CD do Linux.

    
por 16.05.2013 / 07:43

Tags