Zugriff auf ein Festplattenlaufwerk unter Verwendung der Datenträger-ID anstelle eines Laufwerksbuchstabens in Windows

31

Kann ich unter Windows mithilfe der Datenträger-ID anstelle eines Laufwerksbuchstabens auf ein Laufwerk zugreifen? Es könnte für externe Laufwerke sehr nützlich sein.

olvin
quelle
Für die Partitionen, denen kein Laufwerksbuchstabe zugewiesen ist, sind Volume-IDs die einzige Möglichkeit, auf sie zuzugreifen. Sie können einer neuen Partition keinen Laufwerksbuchstaben zuweisen, wenn Sie bereits 26 Buchstaben des englischen Alphabets in Ihren bereits vorhandenen Partitionen verwendet haben. In einem solchen Fall sind sie nicht nur nützlich, sondern die EINZIGE Möglichkeit, auf sie zuzugreifen.
RBT

Antworten:

42

Sie können mountvolan der Eingabeaufforderung die ID des Volumes abrufen, auf das Sie zugreifen möchten.

Bildbeschreibung hier eingeben

Mit diesen IDs kann unabhängig vom Laufwerksbuchstaben ein Explorer-Fenster geöffnet werden

Bildbeschreibung hier eingeben

Um eine Verknüpfung zum Laufwerk zu erstellen, erstellen Sie eine neue Batch-Datei mit folgendem Inhalt:

start \\?\Volume{1b3b1146-4076-11e1-84aa-806e6f6e6963}\
Gen
quelle
Ja, das habe ich lange gesucht! Jetzt muss ich nur noch den Befehl mountvol aufrufen, um alle Volume-IDs abzurufen. Wenn ich dann den Pfad "\\? \ Volume {}" benutze, kann ich auf das Laufwerk mit der erforderlichen ID zugreifen (sofern vorhanden). Vielen Dank!
Olvin
1
Ja, diese Methode funktioniert mit dem Explorer und beim Kopieren von Dateien mit der Befehlszeile. Leider akzeptiert TrueCrypt diesen Pfad zu einer Schlüsseldatei nicht = (
olvin
Leider funktioniert es nur, wenn NetBIOS und der RPC-Locator ausgeführt werden. Dies funktioniert also nicht, wenn Sie Windows gehärtet haben. Darüber hinaus müssen Sie wahrscheinlich mehrere netzwerkbezogene Dienste und Treiber ausführen, um sie verwenden zu können (Workstation, Computerbrowser, Server, TCP / IP-NetBIOS-Hilfsprogramm, NetBT, DHCP, DNS usw.) lokale Bände. :-|
Synetech
1
Gut. TrueCrypt unterstützt dies, um das richtige Laufwerk zuverlässig zu installieren:@"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{4033aabd-1234-5678-a1234567890}\ /lr /c n /q
Frank Nocke
@Synetech: Das kann ich nicht replizieren. Die Antwort funktioniert auch mit NetBIOS und dem RPC-Locator einwandfrei, und alles andere, was ich im Zusammenhang mit dem Netzwerk finden konnte, ist deaktiviert. (Vielleicht haben Sie den Kernelpfad mit einem UNC-Pfad verwechselt? Oder war es nur ein Problem in einer früheren Version von Windows?)
Harry Johnston
9

Verwenden Sie in PowerShellGet-Volume Pipe Through Format-Listwie folgt:

get-volume | fl 

gibt dir alles was du brauchst, zum Beispiel diesen SYSTEM RESERVEDBand auf einer meiner Maschinen:

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       :
Aaron
quelle
Um
4

Ich bevorzuge die Verwendung absoluter Laufwerksbuchstaben für Flash-Laufwerke. Es gibt ausreichende Zuordnungen für nahezu jeden, es sei denn, Sie haben 20 oder mehr Flash-Laufwerke.

Verwenden Sie in Windows 7 Windows, um eine Laufwerksbezeichnung zu formatieren und zuzuweisen, oder verwenden Sie die Befehlszeile "Bezeichnung (Laufwerksbuchstabe)", um eine Bezeichnung Ihrer Wahl zu vergeben.

Gehen Sie dann zu Systemsteuerung, System und Sicherheit, Verwaltung, Computerverwaltung und Datenträgerverwaltung, um das Laufwerk mit der von Ihnen erstellten Bezeichnung auszuwählen, klicken Sie mit der rechten Maustaste auf das Laufwerk, wählen Sie Laufwerksbuchstaben und -pfade ändern und weisen Sie das Volume einem bestimmten Laufwerksbuchstaben zu. Es wird immer an diesen Laufwerksbuchstaben angehängt, wenn er verfügbar ist.

Ich habe Laufwerke mit Live-Daten beschriftet, und die Beschriftung hat keine Auswirkungen auf die vorhandenen Daten. Es scheint genauso zu funktionieren wie früher bei Disketten

Knospe
quelle
0

Verwenden eines Etiketts

Sie können auf ein Festplattenlaufwerk mit der Bezeichnung in PS wie folgt zugreifen:

ls -l (Get-Volume | ? FileSystemLabel -eq "Barry Allen drive").Path

Es ist verkürzt, verwenden Sie zur besseren Lesbarkeit das vollständige Format in einem Skript - siehe unten

Verwendung von GptType

GPT verwendet feste IDs für spezielle Partitionen. Wir können diese zum Schreiben von portablen Skripten verwenden, um auf jedem Computer auf Wiederherstellungs- oder Systemvolumes zuzugreifen, ohne ihm einen Buchstaben zuzuweisen:

Systemvolumen:
ls -l (Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0]

Wiederherstellungsvolumen:
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: Auf UEFI gibt es auch eine MSR-Partition (sollte es auch geben), aber Sie können nicht darauf zugreifen, da sie weder ein Volume noch ein Dateisystem hat:
Fehler:ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force



Drei Vorbehalte:

Get-Volume listet ausgeblendete Volumes nur auf, wenn sie mit erhöhten Rechten ausgeführt werden. Get-Partition listet sie ohne erhöhte Rechte auf, Sie können jedoch ohnehin nicht weiter auf sie zugreifen.

Bei Get-ChildItem (ls) muss der Gerätepfad mit dem Argument -LiteralPath (-l) übergeben werden. Das liegt nicht an '?' Sonderzeichen. -Path funktioniert mit Device Path einfach nicht, auch wenn '?' ist entkommen.

Es ist nicht möglich, eine CD in das Stammverzeichnis des Gerätepfads zu kopieren. Es ist jedoch möglich, eine CD in den Ordner zu kopieren.



Erklärung und vollständiges Format der obigen Aussagen

Verwenden Sie zur besseren Lesbarkeit immer das vollständige Format in einem Skript

ls -l ((Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0])

Kurzform für:

Get-ChildItem -LiteralPath ((Get-Partition | Where-Object { $_.GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}" }).AccessPaths[0])

lsist ein Alias ​​von Get-ChildItem
-list verkürzt -LiteralPath
? *attribute* -eq "*value*"ist ein verkürztes Konstrukt von ? { $_.*attribute* -eq "*value*" }
?ist ein Alias ​​von Where-Object
-Forcewird verwendet, um versteckte Dateien auf dem Wiederherstellungs-Volume zu sehen

Verwendung von Get-Partition und Get-Volume:
Get-Partition bietet GptType-Parameter, aber keine Beschriftung, Get-Volume gibt Label, aber keine GptType

papo
quelle