Linux deve montare come Windows è _______?


39

Quindi Linux "monta" un disco rigido per eseguire alcune operazioni come leggere / scrivere. Windows "si monta" allo stesso modo?

Si chiama qualcosa di diverso nel contesto di Microsoft?


9
Windows si monta automaticamente e quindi nessuno strumento esplicito è esposto agli utenti normali. Molti ambienti desktop Linux lo fanno anche per impostazione predefinita. Per il concetto di montaggio, potresti vedere la voce di Wikipedia . In breve, il montaggio di un dispositivo espone l'accesso al file system che contiene. Questo deve essere fatto per poter accedere ai file attraverso un file system, indipendentemente da come viene chiamato il sistema operativo.
Daniel Andersson,

Risposte:


87

Se conosci gli interni di Windows, correggi i miei errori, per favore.

"Montaggio" è costituito da due parti primarie, che sono le stesse in entrambi i sistemi ma la loro separazione è leggermente diversa:

  1. accedere al filesystem su disco;
  2. assegnando un percorso al filesystem.

Su Linux, la stessa mount()funzione svolge entrambi i lavori; un filesystem deve essere montato esplicitamente su un percorso scelto dall'utente e rimane aperto fintanto che è montato su almeno un percorso (possibilmente più). Una volta modificati tutti i percorsi verso quel file system umount(), questo viene chiuso.

Windows monta automaticamente i volumi quando appare il volume: apre immediatamente il file system e gli assegna una lettera di unità e / o qualsiasi altro nome configurato.

Un disco può essere temporaneamente "smontato" utilizzando le funzioni FSCTL_LOCK_VOLUMEe / o ioctl - ad esempio, mentre è in esecuzione su di esso - ma viene automaticamente montato di nuovo quando il programma lo sblocca o esce. Questo comportamento potrebbe essere visto come un tipo di opposto a Linux. Poiché la disinstallazione di un filesystem è temporanea, mantiene i nomi assegnati anche durante lo smontaggio. (La funzione "Rimozione sicura" smonta il filesystem e disabilita il dispositivo sottostante, per impedire a Windows di vedere il filesystem e rimontarlo.)FSCTL_DISMOUNT_VOLUME chkdsk

A un filesystem possono essere assegnati diversi nomi:

  • Le lettere di unità ( A:, C:, [:) - assegnati automaticamente ai nuovi dischi e perso al riavvio, anche se di Windows ricorda le assegnazioni configurati dall'utente. In questo modo, sono simili ai mountpoint Unix.

    (Le lettere di unità possono anche essere assegnate a dispositivi arbitrari, inclusi file system di rete supportati da Windows. Puoi vedere i loro target su \GLOBAL??\e \Sessions\<session>\DosDevices\<loginid>\in WinObj .)

    Nota: le lettere di unità sono normalmente a livello di sistema, ma possono anche essere assegnate a livello di sessione utilizzando substo DefineDosDevice(), e sì, accetta [:. Le assegnazioni a livello di sessione non vengono mai archiviate da nessuna parte e svaniscono al riavvio.

  • Folder mount points ( C:\Disks\Music) - un filesystem può essere montato su qualsiasi directory arbitraria, come in Unix; tuttavia, in realtà sono memorizzati sul disco di destinazione, sotto forma di punti di analisi (una forma più potente di collegamenti simbolici) che si riferiscono al disco montato con il suo nome di volume .

    (Esistono anche diversi tipi di punti di analisi; alcuni standard sono punti di montaggio, collegamenti simbolici, giunzioni di directory.)

  • Percorsi GUID del volume ( \\?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\) (almeno così sembra essere chiamato) - percorsi speciali nello spazio dei nomi Win32\\?\ , contenente un UUID che Windows assegna a quel particolare volume su questo particolare sistema Windows. Non possono essere cambiati. Sono elencati da mountvolo sotto \GLOBAL??\WinObj. A differenza delle lettere di unità, queste sono le stesse per tutti gli utenti.

  • Percorsi di interfaccia del dispositivo \\?\STORAGE#Volume#<something>Signature<hex>Offset<hex>Length<hex>#<uuid>\A differenza di un percorso GUID del volume, ogni volume ha esattamente un percorso di interfaccia del dispositivo.

    • Nome dispositivo volume \Device\HarddiskVolume23- a differenza di tutti i precedenti, che sono solo collegamenti simbolici, questo assegna direttamente un nome al volume. Lo sai perché è nello \Devicespazio dei nomi, non nello \\?spazio dei nomi. Ciò significa anche che non è possibile utilizzarlo con funzioni come CreateFile.

diskmgmt.msc, mountvolE diskpartin grado di gestire entrambe le lettere di unità e punti di montaggio.

Anche quando un volume non ha lettere di unità e non è "montato" su alcuna cartella, rimane aperto e al suo contenuto è ancora possibile accedere tramite il nome del volume; per esempio

\\?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\Windows\Explorer.exe

4
[:..? Veramente?
Daniel Beck

11
@DanielBeck: Sì, DefineDosDevice()accetta praticamente qualsiasi cosa, anche se non avrai molta fortuna a convincere la maggior parte delle applicazioni ad accettarlo. Prova subst [: C:\Users, quindidir [:
Grawity,

4
@Daniel: Dando tutti i byte possibili a DefineDosDevice, che accetta davvero quasi tutti. Si scopre che anche lo spazio è valido!
Grawity,

8
Se le ragazze di tween fossero abbastanza esperte in campo tecnologico, sarebbero in ogni caso impostando le loro lettere di guida su[:
iglvzx,

5
@psusi, LASTDRIVE è entrato in config.sys. system.ini era Windows.
un CVn,

43

mountvol.exe è l'equivalente di Windows.

Esempio di output mountvol


+1 per una risposta concisa in una riga e la risposta è in alto. E tu fornisci uno screenshot di esempio di bonus!
Trevor Boyd Smith,

Lo screenshot non è copia / incollabile e occupa molto spazio, più del testo equivalente, per la stessa quantità di informazioni. Questa non è una buona idea, penso.
Ludovic Kuty,

@LudovicKuty: Sì, ero a conoscenza di quel problema quando l'ho pubblicato. È solo l'output di esempio di ciò che mountvolstampa sulla mia macchina. Quindi non dovrebbe essere nulla di troppo difficile da riprodurre. Se inserisco il semplice testo qui, diventa più difficile da leggere a causa della casella con le barre di scorrimento :( Se vuoi modificare la risposta per migliorarla, vai avanti :)
Der Hochstapler,

No, in effetti molte persone ne sono contente :) Ho commentato principalmente "E tu fornisci uno screenshot di esempio di bonus". Aiuta le persone, va bene.
Ludovic Kuty,

6

Sì, ma in generale, viene gestito automaticamente (ad esempio, con un'unità USB).

L'utilità Gestione disco (parte di Computer Mgmt), consente di manipolare volumi e punti di montaggio. Explorer fa lo stesso per le condivisioni di rete. Esistono versioni della riga di comando (diskpart.exe in WIn 7), a seconda della versione di Windows in esecuzione.


1
Inoltre, lo smontaggio di unità hot-swap viene solitamente eseguito tramite il Safely Remove Hardwaremenu. Per reinstallare quei dispositivi, scollegare il cavo di collegamento (USB / FireWire / eSATA) e ricollegarlo oppure disabilitare USB / FireWire / ecc. dispositivo da Gestione dispositivi e riattivarlo e Windows lo ricollegherà automaticamente.
Lèse majesté,

Lo stesso vale per alcune distribuzioni Linux, ad esempio Ubuntu.
krlmlr,

3

La risposta più breve e ovvia per compilare il tuo _ _ _ _ _ _ è "mount". Linux monta (e smonta) i file system e anche Windows.

Ognuno di essi automatizza questo processo in varia misura a seconda di una serie di fattori misti che non sono in grado di elencare, ma penso che le strategie di memorizzazione nella cache, lo stile / le preferenze dell'utente e i brevetti siano influenze significative sull'automazione di questo processo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.