Truy cập vào ổ đĩa bằng ID âm lượng thay vì ký tự ổ đĩa trong Windows


31

Tôi có thể truy cập vào ổ đĩa bằng ID âm lượng thay vì ký tự ổ đĩa trong Windows không? Nó có thể rất hữu ích cho các ổ đĩa ngoài.


Đối với các phân vùng không có bất kỳ ký tự ổ đĩa nào được chỉ định, ID âm lượng là cách duy nhất để truy cập chúng. Bạn không thể gán ký tự ổ đĩa cho một phân vùng mới nếu bạn đã tiêu thụ 26 chữ cái của bảng chữ cái tiếng Anh thông qua các phân vùng đã có sẵn của bạn. Vì vậy, trong trường hợp như vậy, chúng sẽ không chỉ hữu ích mà chúng sẽ là cách DUY NHẤT để truy cập chúng.
RBT

Câu trả lời:


42

Bạn có thể sử dụng mountvoltrong dấu nhắc lệnh để lấy ID của âm lượng bạn muốn truy cập.

nhập mô tả hình ảnh ở đây

ID này có thể được sử dụng để mở cửa sổ explorer, độc lập với ký tự ổ đĩa

nhập mô tả hình ảnh ở đây

Để tạo lối tắt đến ổ đĩa, hãy tạo một tệp bó mới với nội dung này:

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

Vâng, đó là những gì tôi tìm kiếm từ lâu! Bây giờ tôi chỉ cần gọi lệnh mountvol để lấy tất cả ID âm lượng. Sau đó, sử dụng đường dẫn như "\\? \ Volume {}" Tôi có thể truy cập vào ổ đĩa với ID cần thiết (nếu nó xuất hiện). Cảm ơn bạn!
olvin

1
Có, phương pháp này hoạt động với Explorer và trong khi sao chép tệp bằng dòng lệnh. Nhưng TrueCrypt không may mắn không chấp nhận đường dẫn như vậy đến một keyfile = (
olvin

Thật không may, nó chỉ hoạt động nếu bạn có NetBIOS và RPC Locator đang chạy, vì vậy điều này sẽ không hoạt động nếu bạn đã làm cứng Windows. Ngoài ra, có thể bạn sẽ cần phải chạy một số dịch vụ và trình điều khiển liên quan đến mạng để sử dụng nó (Máy trạm, Trình duyệt máy tính, Máy chủ, TCP / IP NetBIOS Helper, NetBT, DHCP, DNS, v.v.) khối lượng địa phương. :-|
Synetech

1
Chà .. TrueCrypt hỗ trợ điều này một cách đáng tin cậy cho việc gắn đúng ổ đĩa:@"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{4033aabd-1234-5678-a1234567890}\ /lr /c n /q
Frank Nocke

@Synetech: Tôi không thể sao chép điều đó; câu trả lời như đã đăng hoạt động tốt với tôi ngay cả với NetBIOS và RPC Locator, và mọi thứ khác liên quan đến mạng mà tôi có thể tìm thấy, đều bị vô hiệu hóa. (Có lẽ bạn đã nhầm đường dẫn kernel với đường dẫn UNC? Hoặc đó chỉ là sự cố trên phiên bản Windows trước đó?)
Harry Johnston

9

Trong PowerShell , sử dụng Get-Volumeđường dẫn Format-Listnhư thế này:

get-volume | fl 

sẽ cung cấp cho bạn mọi thứ bạn cần, ví dụ như tập này SYSTEM RESERVEDtrên một trong các máy của tôi:

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       :

để xem khối lượng ẩn / hệ thống, bạn phải chạy trên cao, xem Caveats trong câu trả lời của tôi
papo

4

Tôi thích sử dụng các ký tự ổ đĩa tuyệt đối cho các ổ đĩa flash. Có những bài tập thích hợp cho bất kỳ ai trừ khi bạn có từ 20 ổ flash trở lên.

Trong Windows 7, sử dụng Windows để định dạng và gán nhãn ổ đĩa hoặc nếu ổ đĩa đã có nhãn, hãy sử dụng dòng lệnh "Nhãn (ký tự ổ đĩa) để đặt cho nhãn bạn chọn.

Sau đó vào bảng điều khiển, hệ thống và bảo mật, công cụ quản trị, quản lý máy tính, quản lý đĩa để chọn ổ đĩa có nhãn bạn đã tạo bằng cách nhấp chuột phải vào ổ đĩa, chọn thay đổi ký tự ổ đĩa và đường dẫn và gán âm lượng cho một ký tự ổ đĩa cụ thể. Nó sẽ luôn gắn vào ký tự ổ đĩa đó nếu nó có sẵn.

Tôi đã gắn nhãn ổ đĩa chứa dữ liệu trực tiếp và việc ghi nhãn không ảnh hưởng đến dữ liệu hiện có theo bất kỳ cách nào. Nó dường như hoạt động giống như nó đã làm trên đĩa mềm trở lại trong những ngày xưa tốt đẹp


0

Sử dụng nhãn

Bạn có thể truy cập ổ đĩa bằng Nhãn của nó trong PS như thế này:

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

Nó được rút ngắn, sử dụng định dạng đầy đủ trong một tập lệnh để dễ đọc hơn - xem bên dưới

Sử dụng GptType

GPT không sử dụng ID cố định cho các phân vùng đặc biệt. Chúng tôi có thể sử dụng các tập lệnh này để viết tập lệnh di động, để truy cập vào khối lượng Phục hồi hoặc Hệ thống trên bất kỳ máy tính nào mà không gán cho nó một chữ cái:

Khối lượng hệ thống:
ls -l (Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0]

Khối lượng phục hồi:
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: trên UEFI, cũng có (nên) phân vùng MSR, nhưng bạn không thể truy cập nó vì nó không có ổ đĩa cũng như hệ thống tập tin:
lỗi:ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force



Ba hãy cẩn thận:

Get-Volume sẽ không liệt kê các khối lượng bị ẩn trừ khi nó đang chạy ở mức cao, Get-Partition sẽ liệt kê chúng không tăng, nhưng dù sao bạn cũng không thể truy cập chúng.

Với Đường dẫn thiết bị Get-ChildItem (ls) phải được thông qua bằng cách sử dụng đối số -LiteralPath (-l). Đây không phải là vì '?' tính cách đặc biệt. -Path chỉ không hoạt động với Đường dẫn thiết bị ngay cả khi '?' được trốn thoát.

Không thể đưa CD vào thư mục gốc của Đường dẫn thiết bị. Nhưng nó có thể CD vào thư mục của nó.



Giải thích và định dạng đầy đủ của các tuyên bố trên

Luôn sử dụng định dạng đầy đủ trong một tập lệnh để dễ đọc hơn

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

là viết tắt của:

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

lslà một bí danh Get-ChildItem
-lđược rút ngắn -LiteralPath
? *attribute* -eq "*value*"được rút ngắn cấu trúc ? { $_.*attribute* -eq "*value*" }
?là một bí danh Where-Object
-Forceđược sử dụng để xem các tệp ẩn trên ổ đĩa Khôi phục

Sử dụng Phân vùng Nhận và Lấy khối lượng:
Phân vùng Get cung cấp tham số GptType, nhưng không phải Nhãn, Get-Volume cung cấp cho Nhãn, nhưng không phải GptType

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.