Làm cách nào tôi có thể nhận được kích thước khu vực vật lý của ổ đĩa không có bất kỳ khối lượng được công nhận nào?


4

Windows có thể cho tôi biết kích thước khu vực logic và vật lý của ổ đĩa chịu trách nhiệm phân vùng / ổ đĩa thông qua fsutil fsinfo sectorinfo x: lệnh (nơi x là ký tự ổ đĩa của tôi). Làm cách nào tôi có thể nhận thông tin này cho một ổ đĩa không có bất kỳ ký tự ổ đĩa hoặc khối lượng nào?

Tôi đang sử dụng Windows 8.1 Pro, nhưng tôi hy vọng câu trả lời cũng sẽ hoạt động với ít nhất Windows 7.

Những điều tôi biết nhưng điều đó không giúp được gì

  • wmic partition get BlockSize, Name sai rồi bởi vì nó chỉ cung cấp kích thước khu vực logic và cũng không hoạt động nếu không có phân vùng trên ổ đĩa.
  • wmic diskdrive get BytesPerSector, Name một lần nữa chỉ cung cấp cho tôi kích thước khu vực logic, nhưng hoạt động trên tất cả các ổ đĩa cứng. Dường như không có tài sản của Win32_DiskDrive có kích thước vật lý.
  • fsutil fsinfo ntfsinfo \\?\Volume{...}\ chỉ hoạt động cho các ổ đĩa có phân vùng và phân vùng NTFS ở đó.
  • Các sectorinfo phiên bản ở trên hoàn toàn không hoạt động với cú pháp âm lượng đặc biệt đó ( Error: The system cannot find the path specified. ).
  • Thông tin hệ thống ( msinfo32 ) chỉ hiển thị các byte logic trên mỗi sector.
  • Trình quản lý thiết bị dường như không liệt kê bất cứ điều gì liên quan đến hình dạng ổ đĩa.

Tôi không muốn khởi tạo ổ đĩa hoặc tạo một ổ đĩa trên đó vì điều đó sẽ thổi bay những nội dung mà Windows không nhìn thấy.

Tôi cũng biết về IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, nhưng sử dụng sẽ yêu cầu viết và biên dịch một chương trình. Tốt hơn là không có các công cụ của bên thứ ba, làm cách nào tôi có thể tìm thấy kích thước cung của một ổ cứng trong Windows?


wmic diskdrive get BytesPerSector, Name again only gives me the logical sector size Làm thế nào bạn xác định điều đó? Câu trả lời này cho một câu hỏi tương tự cho thấy wmic diskdrive get BytesPerSector trả lại 4096 cho một ổ đĩa trong XP, trong khi XP thậm chí không hỗ trợ 512e (4K vật lý / 512 logic) theo như tôi nhớ.
dxiv

@dxiv Chà, nó chắc chắn nhận được các byte logic trên mỗi sector trên máy của tôi (512): fsutil fsinfo sectorinfo nói rằng tôi có 512 logic và 4K vật lý. Ngoài ra, nó không phải là hệ điều hành quyết định logic.
Ben N

Chính sách hỗ trợ của Microsoft dành cho ổ cứng 4K sector trong Windows : Any large-sector disks, such as 4K native, 512E, or any non-512 native disks, are not supported by Microsoft on any Windows XP-based version of the operating system. Tôi đọc nó là wmic sẽ không bao giờ báo cáo sai kích thước khu vực logic như 4K trong XP. Mà chỉ để lại khả năng 4K là kích thước khu vực vật lý trong kịch bản đó. Có lẽ mọi thứ thay đổi sau này. Xin lỗi, tôi không có ổ đĩa 4K để kiểm tra ngay bây giờ.
dxiv

Câu trả lời:


5

Trong khi viết câu trả lời khác này , Tôi tìm thấy giải pháp: PowerShell! Các Get-Disk cmdlet trả về thông tin về tất cả các ổ đĩa hiện đang được kết nối, ngay cả khi chúng chưa được phân vùng. Để xem thông tin về các đĩa đã biết, sử dụng lệnh này:

Get-Disk | Format-List

Một trong những ổ đĩa của tôi (thực sự là một tệp VHD được gắn kết vì tôi không có ổ đĩa cào trên tay) hiển thị như sau:

UniqueId           : 6002248038B7BF29A1D79765E555C965
Number             : 1
Path               : \\?\scsi#disk&ven_msft&prod_virtual_disk#2&<redacted>
Manufacturer       : Msft
Model              : Virtual Disk
SerialNumber       :
Size               : 100 MB
AllocatedSize      : 0
LogicalSectorSize  : 512
PhysicalSectorSize : 512
NumberOfPartitions : 0
PartitionStyle     : RAW
IsReadOnly         : False
IsSystem           : False
IsBoot             : False

Chú ý cách PartitionStyleRAW - Tôi thậm chí chưa khởi tạo đĩa này! Các PhysicalSectorSize thuộc tính là kích thước khu vực vật lý tính bằng byte.

Các Get-PhysicalDisk cmdlet làm một cái gì đó tương tự, nhưng trả lại nhiều thông tin hơn. Cả hai lệnh ghép ngắn đều được hỗ trợ bắt đầu trong Windows 8.


Câu trả lời tuyệt vời, thật xấu hổ vì nó không được hỗ trợ trong Windows 7.
Hashim
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.