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?
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?
Risposte:
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:
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_VOLUME
e / 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 subst
o 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 mountvol
o 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.
\Device\HarddiskVolume23
- a differenza di tutti i precedenti, che sono solo collegamenti simbolici, questo assegna direttamente un nome al volume. Lo sai perché è nello \Device
spazio dei nomi, non nello \\?
spazio dei nomi. Ciò significa anche che non è possibile utilizzarlo con funzioni come CreateFile
.diskmgmt.msc
, mountvol
E diskpart
in 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
[:
..? Veramente?
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 [:
[:
mountvol.exe
è l'equivalente di Windows.
mountvol
stampa 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 :)
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.
Safely Remove Hardware
menu. 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.
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.