Windows에서 드라이브 문자 대신 볼륨 ID를 사용하여 디스크 드라이브에 액세스


31

Windows에서 드라이브 문자 대신 볼륨 ID를 사용하여 디스크 드라이브에 액세스 할 수 있습니까? 외장 드라이브에 매우 유용 할 수 있습니다.


드라이브 문자가 할당되지 않은 파티션의 경우 볼륨 ID가 액세스 할 수있는 유일한 방법입니다. 기존 파티션을 통해 이미 26 자의 영어 알파벳을 사용한 경우 새 파티션에 드라이브 문자를 할당 할 수 없습니다. 따라서 그러한 경우에는 유용 ​​할뿐만 아니라 액세스 할 수있는 유일한 방법이됩니다.
RBT

답변:


42

mountvol명령 프롬프트에서 사용 하여 액세스하려는 볼륨의 ID를 얻을 수 있습니다.

여기에 이미지 설명을 입력하십시오

이 ID는 드라이브 문자와 상관없이 탐색기 창을 여는 데 사용할 수 있습니다

여기에 이미지 설명을 입력하십시오

드라이브 바로 가기를 만들려면 다음 내용으로 새 배치 파일을 만드십시오.

start \\?\Volume{1b3b1146-4076-11e1-84aa-806e6f6e6963}\

그렇습니다, 그것은 내가 오랫동안 찾은 것입니다! 이제 모든 볼륨 ID를 얻으려면 mountvol 명령을 호출하면됩니다. 그런 다음 "\\? \ Volume {}"과 같은 경로를 사용하여 필요한 ID (있는 경우)로 드라이브에 액세스 할 수 있습니다. 고맙습니다!
olvin

1
예,이 방법은 탐색기에서 작동하며 명령 줄을 사용하여 파일을 복사하는 동안 작동합니다. 그러나 불행히도 TrueCrypt는 키 파일에 대한 경로를 허용하지 않습니다 = (
olvin

불행히도 NetBIOS와 RPC Locator가 실행중인 경우에만 작동하므로 Windows를 강화한 경우에는 작동하지 않습니다. 또한 여러 네트워크 관련 서비스 및 드라이버 (워크 스테이션, 컴퓨터 브라우저, 서버, TCP / IP NetBIOS 도우미, NetBT, DHCP, DNS 등)를 계속 실행해야 할 수도 있습니다. 로컬 볼륨. :-|
Synetech

1
TrueCrypt는 올바른 드라이브를 안정적으로 장착하기 위해이를 지원합니다.@"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{4033aabd-1234-5678-a1234567890}\ /lr /c n /q
Frank Nocke

@Synetech : 복제 할 수 없습니다. 게시 된 답변은 NetBIOS 및 RPC Locator와 함께 사용할 수 있으며 네트워크에서 찾을 수있는 다른 모든 것을 비활성화 할 수 있습니다. (아마도 UNC 경로에 대해 커널 경로를 잘못 사용했거나 이전 버전의 Windows에서만 문제가 되었습니까?)
Harry Johnston

9

에서 PowerShell을 , 사용 Get-Volume을 통해 파이프 Format-List같은 :

get-volume | fl 

필요한 모든 것을 제공합니다 (예 SYSTEM RESERVED: 내 컴퓨터 중 하나의 볼륨).

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       :

숨겨진 / 시스템 볼륨을 보려면 높은 수준으로 실행해야합니다 . 내 대답의 주의 사항
papo

4

플래시 드라이브에는 절대 드라이브 문자를 사용하는 것이 좋습니다. 플래시 드라이브가 20 개 이상인 경우를 제외하고는 거의 모든 사람에게 적절한 할당이 있습니다.

Windows 7에서 Windows를 사용하여 드라이브 레이블을 포맷하고 지정하거나 드라이브에 이미 레이블이있는 경우 명령 행 "레이블 (드라이브 문자)"을 사용하여 원하는 레이블을 지정하십시오.

그런 다음 제어판, 시스템 및 보안, 관리 도구, 컴퓨터 관리, 디스크 관리로 이동하여 드라이브를 마우스 오른쪽 단추로 클릭하여 작성한 레이블이있는 드라이브를 선택하고 드라이브 문자 및 경로 변경을 선택한 후 볼륨을 특정 드라이브 문자에 지정하십시오. 사용 가능한 경우 항상 해당 드라이브 문자에 마운트됩니다.

라이브 데이터가 포함 된 드라이브에 레이블을 지정했으며 레이블이 기존 데이터에 영향을 미치지 않았습니다. 예전의 플로피에서와 마찬가지로 작동하는 것 같습니다.


0

라벨 사용

다음과 같이 PS의 Label을 사용하여 디스크 드라이브에 액세스 할 수 있습니다.

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

더 짧아지고 더 나은 가독성을 위해 스크립트에서 전체 형식을 사용하십시오-아래 참조

GptType 사용

GPT는 특수 파티션에 고정 ID를 사용합니다. 휴대용 스크립트를 작성하는 데 사용할 수 있으며 문자를 할당하지 않고도 모든 컴퓨터의 복구 또는 시스템 볼륨에 액세스 할 수 있습니다.

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

회복 량 :
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 : UEFI에는 MSR 파티션도 있지만 볼륨이나 파일 시스템이 없으므로 액세스 할 수 없습니다 :
오류 :ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force



세 가지 경고 :

Get-Volume은 상승 된 볼륨을 실행하지 않는 한 숨겨진 볼륨을 나열하지 않으며 Get-Partition은 높지 않은 볼륨을 나열하지만 더 이상 상승하지 않은 볼륨에는 액세스 할 수 없습니다.

Get-ChildItem (ls)을 사용하면 -LiteralPath 인수 (-l)를 사용하여 장치 경로를 전달해야합니다. 이것은 '?'때문이 아닙니다. 특별한 성격. '?'인 경우에도 경로가 장치 경로와 작동하지 않습니다. 탈출했다.

장치 경로의 루트에 CD를 넣을 수 없습니다. 그러나 폴더에 CD를 넣을 수 있습니다.



위 진술의 설명 및 전체 형식

가독성을 높이기 위해 항상 스크립트에서 전체 형식을 사용하십시오.

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

짧다 :

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

ls의 별칭입니다 Get-ChildItem
-l단축이 -LiteralPath
? *attribute* -eq "*value*"의 단축 구조는 ? { $_.*attribute* -eq "*value*" }
?의 별칭입니다 Where-Object
-Force복구 볼륨에 숨겨진 파일을 참조하는 데 사용됩니다

Get-Partition 및 Get-Volume 사용 :
Get-Partition은 GptType 매개 변수를 제공하지만 레이블은 제공하지 않으며 Get-Volume은 레이블을 제공하지만 GptType은 제공하지 않습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.