Eu tenho uma unidade USB que não está recebendo um UUID. Quando olho para o conteúdo do / dev / disk / by-uuid, ele não existe lá. O ponto de desenvolvimento em que a partição está está em / dev / sdb. Eu posso ver o sdb em / dev / disk / by-path. Além disso, ao usar blkid, recebo zero saída. 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, portanto, foram particionadas e executaram o comando mkfs.ext3.
Saída de 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 aparece como ext2?
/dev/sdb
não terá um UUID, mas/dev/sdb1
deveria, se tiver sido formatado.fsck -n /dev/sdb1
. Você também pode tentar atribuir um UUID a eletune2fs -U random /dev/sdb1
e ver. Não importa qual é o UUID.fsck -y /dev/sdb1
; se você não pode montá-lo, basta executar o fsck e espero que nada seja perdido. Leiaman fsck
a diferença entre-n
e-y
.Respostas:
Isso é o que deveria acontecer.
Existem dois usos coloquiais do termo "disco" ou "drive" 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 , da qual pode haver várias 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 possuem UUIDs, os dispositivos físicos não . Eu acredito que eles são criados aleatoriamente quando o sistema de arquivos é criado (e é por isso que eles mudam se você, por exemplo, reformatar uma partição e por que, se você bloquear o nível de copiar uma 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 o fdisk), não está formatando nada, apenas está definindo o tipo de partição (e tamanho, etc.) na tabela de partições, para que as novas partições não formatadas não tenham um UUID.
Por fim, como é a ferramenta usada para formatar a partição que define o UUID, pode ser possível que ferramentas muito antigas não o façam. No entanto, você sempre pode definir um novo (para ext) com
tune2fs
, por exemplo:fonte
/dev/sdb1
ou/dev/sdb
? O posterior não deveria. Além disso, a saída do fdisk não indica que uma partição está formatada e, portanto, não prova que ela deve ter um UUID disponível. Adicionei alguns parágrafos curtos acima para explicar isso./dev/disk/by-uuid
(Ubuntu 16.04, mas provavelmente afeta outras pessoas). Então (1) crie partição (ões) e sistema (s) de arquivos, (2) reinicie. Provavelmente existe uma maneira de não reinicializar, mas eu preferi verificar se tudo sai de uma inicialização a frio, para não investigar.O / dev / disk / by-uuid é preenchido na inicialização pelo programa "partprobe". Se você tiver um disco ou partição que o partprobe não pode reconhecer, o partprobe falhará com erro e interromperá a varredura do restante das partições:
Obviamente, isso é erro na parte do probe . Provavelmente específico para o ubuntu 14.04 (confiável). A solução alternativa é executar o partprobe explicitamente na partição que não foi varrida:
Observe que o partprobe é iniciado várias vezes como resultado de todas as operações de gerenciamento de disco, portanto, a solução alternativa é de curta duração.
fonte
Eu descobri que
file -s
pode dar o UUID para uma partição em um caso emblkid
que não:fonte
Tente sudo com o
ls -l /dev/disk/by-uuid
oublkid /dev/sdb1
Eu também tenho um particionado + formatado
sdb1
, por algum motivo, ele não aparece na lista, a menos que eu o usesudo
.fonte