ti-enxame.com

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

Minhas /etc/fstab contém isto:

# / 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 revertidos).

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

177
Stefan Lasiewski

No /dev/disk/by-uuid existem links simbólicos mapeando o UUID de cada unidade para sua entrada em /dev (por exemplo. /dev/sda1)

155
Michael Mrozek

Existe uma ferramenta chamada blkid (use-a como root ou com Sudo),

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

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

186
setzamora

O melhor comando a ser usado é lsblk -f. Ele listará todos os dispositivos e partições, como eles são montados (se houver) e a estrutura em árvore dos dispositivos no caso de usar LVM, crypto_LUKS ou vários grupos de volumes na mesma unidade.

46
John Rea

Para obter apenas 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

onde /dev/sdXY é o nome do dispositivo.

14
Strahinja Kustudic

Isso funciona para mim:

ls -la /dev/disk/by-uuid

Se você deseja verificar qual o tipo da partição, use:

df -Th

e mostrará se você possui ext3 ou ext2. Hoje, isso me ajudou porque havia uma partição ext2 formatada e pensei que fosse ext3, o que estava causando a falha da montagem.

11
MIrra
lsblk -o +uuid,name

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

lsblk --help

Além disso, isso fará o trabalho

# blkid
7
Nico Rodsevich

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

Tente o seguinte:

Sudo blkid /dev/sd*
2
Kevin

Com a seguinte linha de comando, você pode ver 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
1
Nicolas Guérinet

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

É claro que toda a minha montagem automática em /etc/fstab são referenciados por LABEL ou por UUID, portanto, 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 uma 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 (portanto, a referência a essa partição é algo como: /dev/sdc6)

Portanto, agora na inicialização, por exemplo, no rc.local, você precisa encontrar de maneira confiável, qual é o /dev/sdXX dispositivo da sua partição RAW dedicada e adapte alguns arquivos:

EXEMPLO 1

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

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

e, em seguida, reinicie o serviço VirtualBox

EXEMPLO 2

na configuração tgtd, um target: target0 foi associado a /dev/sdd6 em tempo de construção. Após a reinicialização, você obtém 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 encontrar qual é o novo nome do dispositivo. A partição GPT oferece um único GUID para qualquer partição GPT, escrita na tabela GPT.

o gdisk não fornece essas informações com o modo de listagem, mas apenas no modo interativo com o comando: i. Felizmente, o blkid faz isso!

Então, você precisa escrever um script do Shell para procurar em todos os seus discos, que é o dispositivo /dev/sdXX, associado ao GUID observado 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 então use /dev/shm/blkdevice, no seu script rc.local.

1
эруан абгралов

Você precisa verificar/dev/disk/by-partuuid nesses casos. existem links simbólicos mapeando o PARTUUID de cada unidade para sua entrada em/dev/sdb1 etc.

0
Sachin Mokashi

Para ver o uuid de uma partição do disco rígido, basta inicializar o sistema com um CD do Linux e ir para a montagem do meu computador, clique em, na partição que quero ver. O número de 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.

0
man puk tam