Akses ke drive disk menggunakan ID volume daripada huruf drive di Windows


31

Bisakah saya mengakses disk drive menggunakan ID volume daripada huruf drive di Windows? Ini bisa sangat berguna untuk drive eksternal.


Untuk partisi yang tidak memiliki huruf drive yang ditetapkan, ID volume adalah satu-satunya cara untuk mengaksesnya. Anda tidak dapat menetapkan huruf drive ke partisi baru jika Anda telah menggunakan 26 huruf alfabet Inggris melalui partisi yang sudah ada. Jadi dalam kasus seperti itu, mereka tidak hanya berguna tetapi mereka akan menjadi satu-satunya cara untuk mengaksesnya.
RBT

Jawaban:


42

Anda dapat menggunakan mountvoldi command prompt untuk mendapatkan ID volume yang ingin Anda akses.

masukkan deskripsi gambar di sini

ID ini dapat digunakan untuk membuka jendela explorer, independen dari huruf drive

masukkan deskripsi gambar di sini

Untuk membuat pintasan ke drive, buat file batch baru dengan konten ini:

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

Ya, itu yang saya cari lama sekali! Sekarang saya hanya perlu memanggil perintah mountvol untuk mendapatkan semua volume ID. Kemudian menggunakan jalur seperti "\\? \ Volume {}" Saya dapat mengakses ke drive dengan ID yang diperlukan (jika ada). Terima kasih!
olvin

1
Ya, metode ini berfungsi dengan Explorer dan saat menyalin file dengan baris perintah. Tapi sayangnya TrueCrypt tidak menerima jalur seperti itu ke keyfile = (
olvin

Sayangnya ini hanya berfungsi jika Anda menjalankan NetBIOS dan Locator RPC, jadi ini tidak akan berfungsi jika Anda telah mengeraskan Windows. Selain itu, Anda mungkin harus menjaga beberapa layanan dan driver yang terkait dengan jaringan tetap berjalan untuk menggunakannya (Workstation, Browser Komputer, Server, TCP / IP NetBIOS Helper, NetBT, DHCP, DNS, dll.) Ini bodoh karena ini volume lokal. :-|
Synetech

1
Yah .. TrueCrypt mendukung ini untuk memasang drive yang andal:@"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{4033aabd-1234-5678-a1234567890}\ /lr /c n /q
Frank Nocke

@ Sinetech: Saya tidak bisa meniru itu; jawaban seperti yang diposting berfungsi dengan baik untuk saya bahkan dengan NetBIOS dan RPC Locator, dan segala sesuatu yang berhubungan dengan jaringan yang dapat saya temukan, dinonaktifkan. (Mungkin Anda salah mengira jalur kernel untuk jalur UNC? Atau itu hanya masalah pada versi Windows yang lebih lama?)
Harry Johnston

9

Di PowerShell , gunakan Get-Volumedisalurkan melalui Format-Listseperti ini:

get-volume | fl 

akan memberikan semua yang Anda butuhkan, misalnya SYSTEM RESERVEDvolume ini di salah satu mesin saya:

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       :

untuk melihat volume tersembunyi / sistem, Anda harus menjalankan elevated, lihat Peringatan dalam jawaban saya
papo

4

Saya lebih suka menggunakan huruf drive absolut untuk flash drive. Ada tugas yang memadai untuk siapa saja kecuali Anda memiliki 20 atau lebih flash drive.

Di Windows 7 gunakan Windows untuk memformat dan menetapkan label drive atau jika drive sudah memiliki label, gunakan baris perintah "Label (huruf drive) untuk memberikan label pilihan Anda.

Lalu pergi ke panel kontrol, sistem dan keamanan, alat administrasi, manajemen komputer, manajemen disk untuk memilih drive dengan label yang Anda buat dengan mengklik kanan pada drive, pilih ubah huruf drive dan jalur dan tetapkan volume ke huruf drive tertentu. Itu akan selalu dipasang ke huruf drive itu jika tersedia.

Saya telah memberi label drive yang berisi data langsung dan pelabelan tidak memengaruhi data yang ada dengan cara apa pun. Tampaknya bekerja seperti yang terjadi pada disket di masa lalu yang indah


0

Menggunakan Label

Anda dapat mengakses drive disk menggunakan Labelnya di PS seperti ini:

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

Dipendekkan, gunakan format penuh dalam skrip untuk kemudahan penggunaan yang lebih baik - lihat di bawah

Menggunakan GptType

GPT memang menggunakan ID tetap untuk partisi khusus. Kita dapat menggunakannya untuk menulis skrip portabel, untuk mengakses volume Pemulihan atau Sistem di komputer mana pun tanpa memberinya surat:

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

Volume pemulihan:
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: di UEFI, ada (seharusnya) juga partisi MSR, tetapi Anda tidak dapat mengaksesnya karena tidak memiliki volume atau sistem file:
kesalahan:ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force



Tiga peringatan:

Get-Volume tidak akan mencantumkan volume tersembunyi kecuali sedang berjalan tinggi, Get-Partition akan mencantumkan mereka tidak terangkat, tetapi Anda tidak dapat mengaksesnya lebih lanjut tanpa dihindarkan.

Dengan Get-ChildItem (ls) Device Path harus dilewati menggunakan argumen -LiteralPath (-l). Ini bukan karena '?' karakter spesial. -Path tidak bekerja dengan Path Perangkat bahkan jika '?' lolos.

CD tidak dapat di-root ke Device Path. Tetapi dimungkinkan untuk CD ke foldernya.



Penjelasan dan format lengkap dari pernyataan di atas

Selalu gunakan format penuh dalam skrip untuk kemudahan yang lebih baik

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

kependekan dari:

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

lsadalah alias dari Get-ChildItem
-ldipersingkat -LiteralPath
? *attribute* -eq "*value*"membangun dipersingkat dari ? { $_.*attribute* -eq "*value*" }
?adalah alias dari Where-Object
-Forcedigunakan untuk melihat file tersembunyi pada volume Pemulihan

Penggunaan Get-Partition dan Get-Volume:
Get-Partition memang menyediakan parameter GptType, tetapi bukan Label, Get-Volume memberi Label, tetapi bukan GptType

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.