Theo như tôi hiểu trình điều khiển Windows (Ftdisk) tạo ra đối tượng "HardDiskVolume" cho mỗi khối lượng mà nó tìm thấy trên hệ thống và tạo đăng ký hồ sơ cho nó:Cửa sổ tính toán id duy nhất theo khối lượng như thế nào?
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\
\??\Volume{GUID} = BINARY_DATA
Từ đó khối lượng thời điểm được gắn kết như là \??\Volume{GUID}
BINARY_DATA
được sử dụng để ánh xạ ổ đĩa này tới \DosDevices\<DISK_NAME>
trong cùng một cơ quan đăng ký để đĩa có chữ cái.
BINARY_DATA phải là duy nhất cho khối lượng và không nên thay đổi ngay cả khi tôi đặt đĩa này vào một PC khác, đúng không?
qunestion của tôi là:
- GUID ở đây là gì? Có phải số ngẫu nhiên được tạo bởi ftdisk mỗi lần khởi động Windows không?
- Windows tính toán BINARY_DATA như thế nào?
Tôi đã đọc lpVolumeSerialNumber
sử dụng GetVolumeInformation
. Nó chỉ là số nguyên dài và không giống như thế này BINARY_DATA
.
Tôi tin BINARY_DATA
là chức năng từ lpVolumeSerialNumber
(được tạo ra bởi hệ điều hành khi khối lượng được định dạng) và cái gì khác:
BINARY_DATA= F(VolumeSerialNumber, SOMETHING).
SOMETHING là gì?
tôi đọc MSDN và Russinovich/Solomon cuốn sách đã và vẫn không thể có được nó ..
Ồ, tôi tìm thấy.
Nó nói "Dữ liệu mà sổ lưu trữ trong giá trị cho ổ đĩa ổ đĩa cơ bản và tên khối là chữ ký đĩa kiểu Windows NT 4 và độ lệch bắt đầu của phân vùng đầu tiên được liên kết với âm lượng".
nhưng "chữ ký đĩa kiểu Windows NT 4" là gì?
Đó là "Bốn byte đĩa chữ ký đó là trong lĩnh vực đầu tiên của mỗi đĩa cứng"
Vì vậy, tôi sử dụng công cụ HxD và thấy này bốn byte từ BINARY_DATA tôi Tôi tìm thấy nó trong hàng 1B0 và cột 08 đến 0B.
Hình như có một người nữa trên internet những người hiểu biết về nó: http://www.pcreview.co.uk/forums/image-copy-drive-wont-boot-properly-t3761034.html))
Vì vậy, nếu tôi thay đổi MBR trên đĩa nó sẽ mất đi lá thư của nó :)
Đăng câu trả lời của bạn vào ô trả lời và tự thưởng cho mình một số điểm! – ixe013