O Linux deve ser montado como o Windows é para

39

O Linux "monta" um disco rígido para executar alguma operação, como leitura / gravação. O Windows "monta" da mesma maneira?

Isso é chamado de algo diferente no contexto da Microsoft?

    
por Chad Harrison 14.05.2012 / 17:46

4 respostas

88

Se você conhece internamente o Windows, corrija meus erros, por favor.

"Montagem" consiste em duas partes principais, que são as mesmas em ambos os sistemas, mas sua separação é um pouco diferente:

  1. acessando o sistema de arquivos no disco;
  2. atribuindo um caminho ao sistema de arquivos.

No Linux, a mesma função mount() faz as duas tarefas; um sistema de arquivos deve ser montado explicitamente em um caminho escolhido pelo usuário e permanece aberto enquanto estiver montado em pelo menos um caminho (possivelmente mais). Depois que todos os caminhos para esse sistema de arquivos forem umount() ed, ele será fechado.

O Windows monta volumes automaticamente quando o volume aparece - ele abre imediatamente o sistema de arquivos e atribui uma letra de unidade e / ou quaisquer outros nomes configurados a ele.

Um disco pode ser temporariamente "desmontado" usando o FSCTL_LOCK_VOLUME e / ou FSCTL_DISMOUNT_VOLUME ioctl funções - por exemplo, durante a execução de um chkdsk - mas é automaticamente montado novamente quando o programa o desbloqueia ou sai. Esse comportamento pode ser visto como algo oposto ao Linux. Como a desmontagem de um sistema de arquivos é temporária, ele retém os nomes atribuídos, mesmo quando desmontados. (A função "Remover com segurança" desmonta o sistema de arquivos e desativa o dispositivo subjacente, para evitar que o Windows veja o sistema de arquivos e o remonte).

Um sistema de arquivos pode ter vários nomes atribuídos a ele:

  • Letras de unidade ( A: , C: , [: ) - atribuídas automaticamente a novos discos e perdidas na reinicialização, embora o Windows lembre de atribuições configuradas pelo usuário. Dessa forma, eles são semelhantes aos pontos de montagem Unix.

    (Letras de unidade também podem ser atribuídas a dispositivos arbitrários, incluindo sistemas de arquivos de rede suportados pelo Windows. Você pode ver seus destinos em \GLOBAL??\ e \Sessions\<session>\DosDevices\<loginid>\ em WinObj .)

    Observação: as letras de unidade normalmente são em todo o sistema, mas também podem ser atribuídas em toda a sessão usando subst ou DefineDosDevice() e, sim, aceita [: . As atribuições de toda a sessão nunca são armazenadas em qualquer lugar e desaparecem na reinicialização.

  • Pontos de montagem de pastas ( C:\Disks\Music ) - um sistema de arquivos pode ser montado em qualquer diretório arbitrário, como no Unix; no entanto, eles são realmente armazenados no disco de destino, na forma de pontos de nova análise (uma forma mais poderosa de links simbólicos) que se referem ao disco montado pelo nome do volume .

    (Diferentes tipos de pontos de nova análise também existem; alguns padrões são pontos de montagem, links simbólicos, junções de diretório.)

  • Caminhos de GUID de volume ( \?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\ ) (pelo menos é assim que parece ser chamado) - caminhos especiais na Espaço de nomes do Win32 \?\ , contendo um UUID que o Windows atribui a esse volume em particular nesse sistema Windows específico. Eles não podem ser alterados. Eles são listados por mountvol ou em \GLOBAL??\ no WinObj. Ao contrário das letras de unidade, elas são as mesmas para todos os usuários.

  • Caminhos da interface do dispositivo \?\STORAGE#Volume#<something>Signature<hex>Offset<hex>Length<hex>#<uuid>\ Diferentemente de um caminho GUID de volume, cada volume tem exatamente um caminho de interface de dispositivo.

    • Nome do dispositivo de volume \Device\HarddiskVolume23 - ao contrário de todos os anteriores, que são apenas links simbólicos, isso nomeia diretamente o volume. Você sabe disso porque está no namespace \Device , não no namespace \? . Isso também significa que você não pode usá-lo com funções como CreateFile .

diskmgmt.msc , mountvol e diskpart podem gerenciar as letras das unidades e os pontos de montagem.

Mesmo quando um volume não tem letras de unidade e não é "montado" em nenhuma pasta, ele permanece aberto e seu conteúdo ainda pode ser acessado por meio do nome do volume. por exemplo,

\?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\Windows\Explorer.exe
    
por 14.05.2012 / 17:54
43

mountvol.exe é o equivalente do Windows.

    
por 14.05.2012 / 18:03
6

Sim, mas, em geral, é tratado automaticamente (digamos, com uma unidade USB).

O utilitário Gerenciamento de disco (parte do Computer Mgmt) permite manipular volumes e pontos de montagem. Explorer faz o mesmo para compartilhamentos de rede. Existem versões de linha de comando (diskpart.exe no WIn 7), dependendo também da versão do Windows que você executa.

    
por 14.05.2012 / 17:54
3

A resposta mais curta e mais óbvia para preencher seu _ _ _ _ _ _ é "montar". O Linux monta (e desmonta) sistemas de arquivos e o Windows também.

Cada um automatiza esse processo em graus variados, dependendo de uma série de fatores mistos que não sou capaz de listar, mas acho que estratégias de cache, estilo / preferência do usuário e patentes são influências significativas na automação desse processo.

    
por 15.05.2012 / 09:03