Nomeação de armazenamento no Linux

Recentemente, encontrei alguns problemas ao usar o disco U e o cartão SD para atualizar o sistema do dispositivo. Os nomes dos diretórios montados após a inserção de diferentes cartões SD no dispositivo são inconsistentes e ainda existem diretórios montados após a remoção do cartão SD. E depois que o disco U é inserido, às vezes o sda é gerado no diretório / dev /, às vezes o sda1 ainda existe e, às vezes, é o sdb e similares. Registrado aqui para que o desenvolvimento subsequente sofra menos armadilhas. Nos sistemas Linux, geralmente a inserção de uma unidade flash USB às vezes exibe arquivos de dispositivo como sda, sda1, sda2, sdb, sdc etc. no diretório / dev /, então qual é a diferença entre esses arquivos? Se o sistema usar o gerenciamento de arquivos do dispositivo dinâmico udev ou mdev, quando o sistema for ligado, o dispositivo será trocado a quente e o driver será instalado, o kernel enviará o evento correspondente ao espaço do usuário udev ou mdev. O udev encontrará arquivos relacionados no diretório / sys para gerar arquivos de dispositivo no diretório / dev / e, finalmente, executar operações relacionadas (como montagem automática, estabelecimento de conexão e renomeação de arquivos de dispositivo etc.) de acordo com as regras especificadas pelo usuário )
Primeiro, você precisa descobrir alguns conceitos relacionados, como sda e sda1. No Linux, existem as seguintes regras de nomenclatura:
Insira a descrição da imagem aqui
O nome do cartão SD / MMC no diretório / dev do sistema Linux é mmcblk <0-9> <p [0-9]>, porque o cartão SD continua a unidade MMC, os nomes são todos Use mmc. E blk refere-se ao dispositivo de bloco (bloco), op por trás refere-se à partição. Portanto, mmcblk1 é o segundo cartão SD e mmcblk1p1 refere-se à primeira partição no segundo cartão SD.
A imagem acima é do artigo sobre nomeação de dispositivos no Linux .
No Linux, o disco U também é um disco rígido; portanto, sda representa o primeiro disco rígido, sdb representa o segundo disco rígido e sdn representa o enésimo disco rígido. Cada disco rígido pode ser particionado, portanto sda1 representa a primeira partição do primeiro disco rígido e sda2 representa a segunda partição do primeiro disco rígido.
Para maior conveniência das explicações aqui, o seguinte usa o disco U como exemplo, cartão SD e disco U são os mesmos.
/ sys / é um sistema de arquivos virtual, que armazena algumas informações geradas quando o sistema está em execução. Quando o dispositivo é inserido (disco U), um diretório relacionado ao disco U, como sda, será criado em / sys / block /. Depois de inserir sda, algumas vezes você encontrará que o diretório sda1 ainda existe. O arquivo dev em cada diretório é usado para especificar os números principais e secundários dos arquivos dos dispositivos no diretório / dev, e o uevent registra alguns atributos relacionados.
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Observando o arquivo dev, você encontrará que as coisas gravadas nele são muito simples, apenas os números de dispositivos principais e secundários, use: para separar. Verificou-se que o número do dispositivo sda é 8: 0 e o número do dispositivo sda1 é 8: 1,
Insira a descrição da imagem aquiInsira a descrição da imagem aqui
e informações mais detalhadas são registradas no arquivo uevent, além dos números maiores e menores do dispositivo, bem como o nome e o tipo do arquivo do dispositivo. No sda, o nome é sda e o tipo é disco, que é um disco. No arquivo uevent no diretório sda1, o nome é sda1 e o tipo é partição. Como pode ser visto a partir daqui, sda1 é a partição do sda. Se nenhuma partição U disco, o sda1 diretório sda não existe, e se há uma pluralidade de partição de disco U, haverá um correspondente sda1, listagens de diretórios sda2 ... sda e similares
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
da lata acima também ser visto na parte udev funcionando ou mdev Processo == Durante a conexão a quente ou a instalação do driver, o kernel detecta certos dispositivos e os grava no diretório / sys / O subdiretório de bloco registra algumas informações relacionadas aos dispositivos de bloco. Há um arquivo de desenvolvimento descrevendo os números de dispositivos principais e secundários do arquivo de dispositivo e uevent é uma descrição mais detalhada. == O Udev no espaço do aplicativo é obter informações daqui para gerar dinamicamente os arquivos do dispositivo. A implementação das regras será descrita no artigo relevante, que não pertence a esta parte.

Publicado 35 artigos originais · Gosto1 · Visitas 1870

Acho que você gosta

Origin blog.csdn.net/lzj_linux188/article/details/105079307
Recomendado
Clasificación