Linux é montar como Windows é _______?

39

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

É chamado de algo diferente no contexto da Microsoft?

Chad Harrison
fonte
9
O Windows é montado automaticamente e, portanto, nenhuma ferramenta explícita é exposta a usuários regulares. Muitos ambientes de desktop Linux também fazem isso por padrão. Para o conceito de montagem, você pode ver a entrada da Wikipedia . Em resumo, a montagem de um dispositivo expõe o acesso ao sistema de arquivos que ele contém. Isso precisa ser feito para poder acessar arquivos através de um sistema de arquivos, independentemente do nome do sistema operacional.
Daniel Andersson

Respostas:

87

Se você conhece os componentes internos do Windows, corrija meus erros, por favor.

"Montagem" consiste em duas partes principais, que são iguais nos dois sistemas, mas sua separação é um pouco diferente:

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

No Linux, a mesma mount()função faz os dois trabalhos; um sistema de arquivos deve ser montado explicitamente no 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 são umount()editados, ele é 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 qualquer outro nome configurado a ele.

Um disco pode ser "desmontado" temporariamente usando as funções FSCTL_LOCK_VOLUMEe / ou ioctl - por exemplo, enquanto você executa um disco nele - mas é automaticamente montado novamente quando o programa o desbloqueia ou sai. Esse comportamento pode ser visto como oposto ao Linux. Como a desmontagem de um sistema de arquivos é temporária, ele manté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 impedir que o Windows veja o sistema de arquivos e remonte-o.)FSCTL_DISMOUNT_VOLUME chkdsk

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

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

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

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

  • Pasta pontos de montagem ( 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 por seu nome de volume .

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

  • Caminhos do volume GUID ( \\?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\) (pelo menos é assim que parece ser chamado) - caminhos especiais no espaço para nome Win32\\?\ , contendo um UUID que o Windows atribui ao volume específico nesse sistema Windows específico. Eles não podem ser alterados. Eles são listados por mountvolou abaixo \GLOBAL??\no WinObj. Diferentemente das letras de unidade, elas são iguais para todos os usuários.

  • Caminhos da interface do dispositivo \\?\STORAGE#Volume#<something>Signature<hex>Offset<hex>Length<hex>#<uuid>\Ao contrário do caminho da GUID do volume, cada volume possui exatamente um caminho da interface do dispositivo.

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

diskmgmt.msc, mountvolE diskpartpode gerenciar tanto as letras de unidade e pontos de montagem.

Mesmo quando um volume não possui letras de unidade e não está "montado" em nenhuma pasta, ele permanece aberto e seu conteúdo ainda pode ser acessado através do nome do volume; por exemplo

\\?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\Windows\Explorer.exe
gravidade
fonte
4
[:..? Sério?
Daniel Beck
11
@DanielBeck: Sim, DefineDosDevice()aceita praticamente qualquer coisa, embora você não tenha muita sorte em convencer a maioria dos aplicativos a aceitá-lo. Tente subst [: C:\Users, entãodir [:
grawity
4
@ Daniel: Ao dar todos os bytes possíveis para o DefineDosDevice - que realmente aceita quase todos eles. Acontece que o espaço também é válido!
grawity
8
Se tween meninas eram tecnologia suficiente savvy, eles estariam em todo definindo suas letras de unidade para[:
iglvzx
5
@psusi, LASTDRIVE entrou no config.sys. system.ini era o Windows.
um CVn
43

mountvol.exe é o equivalente do Windows.

exemplo de saída mountvol

Der Hochstapler
fonte
+1 para resposta concisa em uma linha e a resposta está no topo. E você fornece uma captura de tela de exemplo de bônus!
Trevor Boyd Smith
A captura de tela não é copiada / colável e ocupa muito espaço, mais do que o texto equivalente, para a mesma quantidade de informações. Esta não é uma boa ideia, eu acho.
Ludovic Kuty
@LudovicKuty: Sim, eu estava ciente desse problema quando publiquei isso. É apenas o exemplo de saída do que é mountvolimpresso na minha máquina. Portanto, não deve ser algo muito difícil de reproduzir. Se eu colocar o texto simples aqui, tornou-se mais difícil de ler por causa da caixa com barras de rolagem :( Se você quiser editar a resposta para melhorá-lo, vá em frente :)
Der Hochstapler
Não, de fato, muitas pessoas estão felizes com isso :) Eu comentei principalmente sobre a tela "E você fornece um exemplo de bônus". Ajuda as pessoas, isso é bom.
Ludovic Kuty
6

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

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

uSlackr
fonte
11
Além disso, a desmontagem de unidades ativáveis ​​por ponto de acesso geralmente é feita através do Safely Remove Hardwaremenu. Para reinstalar esses dispositivos, desconecte o cabo de conexão (USB / FireWire / eSATA) e conecte-o novamente ou desative o USB / FireWire / etc. dispositivo do Gerenciador de dispositivos e reative-o, e o Windows o montará automaticamente.
Lèse majesté
O mesmo acontece com algumas distribuições Linux, por exemplo, Ubuntu.
Krlmlr
3

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

Cada um deles automatiza esse processo em graus variados, dependendo de vários fatores 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.

matty
fonte