जहां तक मैं समझता हूँ Windows ड्राइवर (Ftdisk) प्रत्येक खंड में यह सिस्टम पर पाता है और के लिए बनाता है वस्तु "HardDiskVolume" इसके लिए रजिस्ट्री रिकॉर्ड बनाता है:विंडोज़ वॉल्यूम अद्वितीय आईडी की गणना कैसे करता है?
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\
\??\Volume{GUID} = BINARY_DATA
उस पल मात्रा से \??\Volume{GUID}
BINARY_DATA
इस ड्राइव को उसी रजिस्ट्री हाइव में \DosDevices\<DISK_NAME>
पर मैप करने के लिए उपयोग किया जाता है ताकि डिस्क में अक्षर हो।
BINARY_DATA को वॉल्यूम के लिए अद्वितीय होना चाहिए और अगर मैं इस डिस्क को किसी अन्य पीसी में डालूं, तो भी बदला नहीं जाना चाहिए, है ना?
मेरे qunestion है:
- क्या GUID यहाँ है? क्या यह हर बार विंडोज बूट होने पर ftdisk द्वारा उत्पन्न यादृच्छिक संख्या है?
- विंडोज BINARY_DATA की गणना कैसे करता है?
मैंने GetVolumeInformation
का उपयोग करके lpVolumeSerialNumber
पढ़ा है। यह सिर्फ लंबा पूर्णांक है और यह BINARY_DATA
जैसा दिखता नहीं है।
BINARY_DATA= F(VolumeSerialNumber, SOMETHING).
कुछ क्या है:
मेरा मानना है कि BINARY_DATA
lpVolumeSerialNumber
से समारोह (जो ओएस द्वारा उत्पन्न होता है जब मात्रा प्रारूपित) और कुछ और है?
मैं पहले से ही MSDN और Russinovich/सोलोमन किताब पढ़ सकते हैं और अभी भी यह नहीं मिल सकता है ..
ओह, मैं पाया।
यह कहता है "डेटा जो मूल डिस्क वॉल्यूम ड्राइव अक्षरों और वॉल्यूम नामों के लिए मानों में संग्रहीत करता है वह डेटा Windows NT 4-style डिस्क हस्ताक्षर और वॉल्यूम से जुड़े पहले विभाजन की प्रारंभिक ऑफसेट है"।
लेकिन "विंडोज एनटी 4-शैली डिस्क हस्ताक्षर" क्या है?
यही कारण है "चार बाइट डिस्क हस्ताक्षर प्रत्येक हार्ड डिस्क के पहले क्षेत्र में है कि"
तो मैं HXD उपकरण का उपयोग करता है और मेरे BINARY_DATA से चार बाइट्स पाया मैंने इसे पंक्ति 1 बी 0 और कॉलम 08 से 0 बी में पाया।
ऐसा लगता है कि इंटरनेट पर एक और व्यक्ति है जो इसके बारे में पता है: http://www.pcreview.co.uk/forums/image-copy-drive-wont-boot-properly-t3761034.html))
तो अगर मैं डिस्क पर एमबीआर बदल यह अपने पत्र :)
उत्तर बॉक्स में अपना उत्तर पोस्ट करें और खुद को कुछ अंक दें! – ixe013