Czy mogę uzyskać dostęp do dysku za pomocą identyfikatora woluminu zamiast litery dysku w systemie Windows? Może to być bardzo przydatne w przypadku dysków zewnętrznych.
Czy mogę uzyskać dostęp do dysku za pomocą identyfikatora woluminu zamiast litery dysku w systemie Windows? Może to być bardzo przydatne w przypadku dysków zewnętrznych.
Odpowiedzi:
Możesz użyć mountvol
w wierszu polecenia, aby uzyskać identyfikator woluminu, do którego chcesz uzyskać dostęp.
Tych identyfikatorów można użyć do otwarcia okna eksploratora, niezależnie od litery dysku
Aby utworzyć skrót do dysku, utwórz nowy plik wsadowy z tą zawartością:
start \\?\Volume{1b3b1146-4076-11e1-84aa-806e6f6e6963}\
:-|
@"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{4033aabd-1234-5678-a1234567890}\ /lr /c n /q
W programie PowerShell użyj Get-Volume
potoku przez Format-List
:
get-volume | fl
da ci wszystko, czego potrzebujesz, na przykład ten SYSTEM RESERVED
wolumin na jednym z moich komputerów:
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 :
Wolę używać bezwzględnych liter dysków w przypadku dysków flash. Istnieją odpowiednie zadania dla prawie każdego, chyba że masz 20 lub więcej dysków flash.
W systemie Windows 7 użyj systemu Windows do sformatowania i przypisania etykiety dysku lub jeśli dysk ma już etykietę, użyj wiersza polecenia „Etykieta (litera dysku), aby nadać jej wybraną etykietę.
Następnie przejdź do panelu sterowania, systemu i bezpieczeństwa, narzędzi administracyjnych, zarządzania komputerem, zarządzania dyskami, aby wybrać dysk z etykietą utworzoną przez kliknięcie dysku prawym przyciskiem myszy, wybierz zmianę litery dysku i ścieżek oraz przypisz wolumin do określonej litery dysku. Zawsze będzie montowany do tej litery dysku, jeśli jest dostępna.
Oznaczyłem dyski, które zawierały dane na żywo, a etykietowanie nie wpłynęło w żaden sposób na istniejące dane. Wygląda na to, że działa tak samo jak na dyskietkach w dawnych dobrych czasach
Możesz uzyskać dostęp do napędu dysku za pomocą jego etykiety w PS w następujący sposób:
ls -l (Get-Volume | ? FileSystemLabel -eq "Barry Allen drive").Path
Jest skrócony, użyj pełnego formatu w skrypcie dla lepszej czytelności - patrz poniżej
GPT używa stałych identyfikatorów dla specjalnych partycji. Możemy ich używać do pisania przenośnych skryptów, aby uzyskać dostęp do woluminów odzyskiwania lub systemu na dowolnym komputerze bez przypisywania litery:
Głośność systemu:
ls -l (Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0]
Wolumen odzyskiwania:
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: w UEFI istnieje (powinna być) również partycja MSR, ale nie można uzyskać do niej dostępu, ponieważ nie ma woluminu ani systemu plików:
błąd:ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force
Trzy zastrzeżenia:
Get-Volume nie wyświetli ukrytych woluminów, chyba że jest uruchomiony z podwyższonym poziomem uprawnień, Get-Partition wyświetli je jako niewzniesione, ale i tak nie będzie można uzyskać do nich dostępu.
Z Get-ChildItem (ls) Ścieżkę urządzenia należy przekazać za pomocą argumentu -LiteralPath (-l). Nie dzieje się tak z powodu „?” specjalny charakter. -Path po prostu nie działa ze ścieżką urządzenia, nawet jeśli „?” uciekł.
Nie można włożyć płyty CD do katalogu głównego ścieżki urządzenia. Ale możliwe jest CD do jego folderu.
Zawsze używaj pełnego formatu w skrypcie dla lepszej czytelności
ls -l ((Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0])
jest skrótem od:
Get-ChildItem -LiteralPath ((Get-Partition | Where-Object { $_.GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}" }).AccessPaths[0])
ls
jest Get-ChildItem
-l
skróconym aliasem -LiteralPath
? *attribute* -eq "*value*"
skróconym konstruktem tego ? { $_.*attribute* -eq "*value*" }
?
jest alias Where-Object
-Force
służący do wyświetlania ukrytych plików na woluminie odzyskiwania
Korzystanie z Get-Partition i Get-Volume:
Get-Partition zapewnia parametr GptType, ale nie Label, Get-Volume daje Label, ale nie GptType