UUID de uma unidade que não aparece em / dev / disk / by-uuid ou blkid

6

Eu tenho uma unidade USB que não está recebendo um UUID. Quando eu olho para o conteúdo do / dev / disk / by-uuid ele não existe lá. O ponto de desenvolvimento em que a partição reside está em / dev / sdb. Eu sou capaz de ver sdb em / dev / disk / by-path. Além disso, ao usar blkid, recebo saída zero. Estou assumindo que recebi um código de erro que retornou.

Existe uma maneira de obter um UUID para esta partição?

Resultado de fdisk -l /dev/sdb:

Disk /dev/sdb: 320.1 GB, 320072932352 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142446 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00082145

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   625141759   312569856   83  Linux

A tabela de partições e a partição foram criadas com o gparted, por isso foram particionadas e executaram o comando mkfs.ext3.

Saída do fsck -n / dev / sdb1

fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
fsck.ext2: Superblock invalid, trying backup blocks...
zwei was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
zwei: 11/19537920 files (0.0% non-contiguous), 1275097/78142464 blocks

Foi formatado como uma unidade ext3. Por que isso é mostrado como ext2?

    
por monksy 11.02.2013 / 21:32

4 respostas

9

Isso é o que deveria acontecer.

Existem dois usos coloquiais do termo "disco" ou "unidade" em jogo aqui: o primeiro refere-se a um dispositivo físico , como um pendrive. O segundo refere-se a uma partição do sistema de arquivos , dos quais pode haver vários em um dispositivo físico.

Nós de dispositivo como /dev/sda referem-se ao primeiro sentido (dispositivos físicos); nós de dispositivo como /dev/sda1 referem-se ao segundo (partições do sistema de arquivos). Faz sentido? sda1 é uma partição do sistema de arquivos no disco físico sda. É possível formatar um dispositivo inteiro com uma partição, mas isso é incomum, portanto, em geral, /dev/sda nunca terá um UUID.

As partições do sistema de arquivos têm UUIDs, dispositivos físicos não . Eu acredito que eles são criados aleatoriamente quando o sistema de arquivos é criado (é por isso que eles mudam se você, por exemplo, reformatar uma partição, e por que se você bloquear a partição e criar uma nova partição com a imagem, você terá duas partições com o mesmo UUID).

Portanto, lembre-se de que o UUID é criado quando a partição é formatada . Quando você particiona um disco (por exemplo, com fdisk), você não está formatando nada, você está apenas definindo o tipo de partição (e tamanho, etc) na tabela de partições, portanto as novas partições não formatadas não possuem um UUID.

Por fim, como é a ferramenta usada para formatar a partição que define o UUID, talvez seja possível que ferramentas muito antigas não façam isso. No entanto, você sempre pode definir um novo (para ext) com tune2fs , por exemplo:

tune2fs -U random /dev/whatever
    
por 11.02.2013 / 21:51
2

O / dev / disk / by-uuid é preenchido na inicialização pelo programa "partprobe". Se você tiver disco ou partição que o partprobe não pode reconhecer, o partprobe falhará com o erro e interromperá a varredura do restante das partições:

root@machine1:~# partprobe 
Error: /dev/mapper/sda5_crypt: unrecognised disk label
root@machine1:~# 

Isso é obviamente erro na parte partprobe . Provavelmente específico para o Ubuntu 14.04 (fiel). A solução alternativa é executar o partprobe explicitamente na partição que não foi verificada:

root@machine1:~# partprobe /dev/sdd1

Observe que o partprobe é iniciado muitas vezes como resultado de todas as operações de gerenciamento de disco, portanto, a solução alternativa é de curta duração.

    
por 19.07.2017 / 16:20
1

Experimente o sudo com o ls -l /dev/disk/by-uuid ou blkid /dev/sdb1

Eu também particionado + formatado sdb1 , por algum motivo ele não aparece na lista, a menos que eu use sudo .

    
por 23.11.2014 / 10:20
0

Descobri que file -s pode fornecer o UUID para uma partição em um caso em que blkid não:

sudo file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=ef55765f-dae5-426f-82c4-0d98265c5f21 (needs journal recovery)
    
por 28.07.2017 / 15:02