Posso accedere a un'unità disco utilizzando l'ID volume anziché una lettera di unità in Windows? Potrebbe essere molto utile per le unità esterne.
Posso accedere a un'unità disco utilizzando l'ID volume anziché una lettera di unità in Windows? Potrebbe essere molto utile per le unità esterne.
Risposte:
È possibile utilizzare mountvol
nel prompt dei comandi per ottenere l'ID del volume a cui si desidera accedere.
Questi ID possono essere utilizzati per aprire una finestra di Explorer, indipendentemente dalla lettera di unità
Per creare un collegamento all'unità, creare un nuovo file batch con questo contenuto:
start \\?\Volume{1b3b1146-4076-11e1-84aa-806e6f6e6963}\
:-|
@"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{4033aabd-1234-5678-a1234567890}\ /lr /c n /q
In PowerShell , utilizzare il Get-Volume
piped through in Format-List
questo modo:
get-volume | fl
ti darà tutto ciò di cui hai bisogno, ad esempio questo SYSTEM RESERVED
volume su una delle mie macchine:
ObjectId : {1}\\ACER-M3900\root/Microsoft/Windows/Storage/Providers_v2\WSP_Volume.ObjectId="{5b16a307-de54-11e7-8aeb-806e6f6e6963}:VO:\\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\"
PassThroughClass :
PassThroughIds :
PassThroughNamespace :
PassThroughServer :
UniqueId : \\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\
AllocationUnitSize : 4096
DedupMode : NotAvailable
DriveLetter :
DriveType : Fixed
FileSystem : NTFS
FileSystemLabel : SYSTEM RESERVED
FileSystemType : NTFS
HealthStatus : Healthy
OperationalStatus : OK
Path : \\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\
Size : 105058304
SizeRemaining : 33992704
PSComputerName :
Preferisco usare lettere di unità assolute per le unità flash. Ci sono assegnazioni adeguate per quasi tutti a meno che tu non abbia 20 o più unità flash.
In Windows 7 usa Windows per formattare e assegnare un'etichetta di unità o se l'unità ha già un'etichetta, usa la riga di comando "Etichetta (lettera di unità) per dargli un'etichetta di tua scelta.
Quindi vai al pannello di controllo, al sistema e alla sicurezza, agli strumenti di amministrazione, alla gestione del computer, alla gestione del disco per selezionare l'unità con l'etichetta creata facendo clic con il pulsante destro del mouse sull'unità, selezionare cambia lettera e percorsi dell'unità e assegnare il volume a una lettera di unità specifica. Si monterà sempre su quella lettera di unità se è disponibile.
Ho etichettato le unità che contenevano dati in tempo reale e l'etichettatura non ha influito in alcun modo sui dati esistenti. Sembra funzionare proprio come ai floppy ai vecchi tempi
Puoi accedere a un'unità disco usando la sua etichetta in PS in questo modo:
ls -l (Get-Volume | ? FileSystemLabel -eq "Barry Allen drive").Path
È abbreviato, usa il formato completo in uno script per una migliore leggibilità - vedi sotto
GPT utilizza ID fissi per partizioni speciali. Possiamo usarli per scrivere script portatili, per accedere ai volumi di ripristino o di sistema su qualsiasi computer senza assegnargli una lettera:
Volume di sistema:
ls -l (Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0]
Volume di recupero:
ls -l (Get-Partition | ? GptType -eq "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}").AccessPaths[0] -Force
cd "$((Get-Partition | ? GptType -eq "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}").AccessPaths[0])Recovery"
MSR: su UEFI, esiste (dovrebbe esserci) anche una partizione MSR, ma non è possibile accedervi poiché non ha un volume né un filesystem:
errore:ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force
Tre avvertenze:
Get-Volume non elencherà i volumi nascosti a meno che non sia in esecuzione elevata, Get-Partition li elencherà non elevati, ma non è possibile accedervi ulteriormente senza rilievo.
Con Get-ChildItem (ls) Device Path deve essere passato usando l'argomento -LiteralPath (-l). Ciò non è dovuto a "?" carattere speciale. -Path non funziona con Device Path anche se '?' è sfuggito.
Non è possibile eseguire il CD nella directory principale di Device Path. Ma è possibile eseguire il CD nella sua cartella.
Usa sempre il formato completo in uno script per una migliore leggibilità
ls -l ((Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0])
è l'abbreviazione di:
Get-ChildItem -LiteralPath ((Get-Partition | Where-Object { $_.GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}" }).AccessPaths[0])
ls
è un alias di Get-ChildItem
-l
è abbreviato -LiteralPath
? *attribute* -eq "*value*"
è un costrutto abbreviato di ? { $_.*attribute* -eq "*value*" }
?
è un alias di Where-Object
-Force
viene utilizzato per visualizzare i file nascosti sul volume di recupero
Utilizzo di Get-Partition e Get-Volume:
Get-Partition fornisce il parametro GptType, ma non Label, Get-Volume fornisce Label, ma non GptType