เป็นไปได้หรือไม่ที่จะตัดสินว่าพาร์ติชั่น NTFS ถูกสร้างขึ้นเมื่อใด?


16

เรามีไคลเอนต์ที่จะเป็นประโยชน์อย่างมากในการกำหนดว่าเมื่อใดที่ไดรฟ์นั้นเริ่มต้นหรือสร้างพาร์ติชัน NTFS ขึ้นมา มีค่าการประทับเวลาบางแห่งหรือไม่? หากใครก็ตามสามารถหลั่งคำแนะนำใด ๆ ก็จะได้รับการชื่นชมอย่างมาก

ขอบคุณ!

-slashp


แค่ความคิด แต่คุณสามารถย้อนกลับการคำนวณ UUID ของไดรฟ์ข้อมูลเพื่อรับวันที่ / เวลาได้หรือไม่? (ฉันไม่รู้ว่าจะสร้าง UUID อย่างไรจึงต้องใช้การวิจัยเพื่อค้นหาและอาจเป็นไปไม่ได้เลย)
Chris Nava

1
@ChrisNava: ID เฉพาะที่ใช้ใน NTFS ไม่ใช่ UUID แบบ 128 บิต แต่เป็นแบบ 64 บิตแบบสุ่ม (นอกจากนี้ระบบที่ทันสมัยไม่สร้างชนิดที่ 1 UUIDs ตามเวลาทั้ง; 4 ประเภท UUIDs สุ่มตามที่ต้องการเพื่อความเป็นส่วนตัวถ้ามัน. เป็นประเภท 1 UUID แต่แล้วจะไม่มีการคำนวณใด ๆ ที่จะย้อนกลับ; ประทับเวลาคือ เก็บไว้ในสายตาธรรมดา)
1686

คำตอบ:


17

ใช่. คุณสามารถทำได้ผ่าน LAN

การทำธุรกรรม CIFS เป็นระดับข้อมูลที่TRANS2_QFSINFO SMB_QUERY_FS_VOLUME_INFOฟังก์ชัน Windows NT API ดั้งเดิมสำหรับการสืบค้นเวลาสร้างของโวลุ่มคือZwQueryVolumeInformationFile()ซึ่งให้FILE_FS_VOLUME_INFORMATIONโครงสร้างข้อมูล (เกือบจะเหมือนกับ CIFS one, หมายเหตุ) เมื่อถูกถามถึงFileFsVolumeInformationคลาสของข้อมูล การทดสอบว่าแบบสอบถามนี้ทำงานเป็นส่วนหนึ่งของผู้ทดสอบ IFS ที่ Microsoft จัดหาให้กับนักพัฒนาไดรเวอร์

ที่น่าสนใจไม่มีใครดูเหมือนจะเขียนยูทิลิตี้ที่มีประโยชน์ที่เพียงแค่สอบถามปริมาณและพิมพ์เวลาการสร้างในรูปแบบที่มนุษย์สามารถอ่านได้ 1 สิ่งที่ใกล้เคียงที่สุดที่คุณจะได้รับเท่าที่ฉันสามารถบอกได้ก็คือการเหวี่ยงprocmonเครื่องมือของ SysInternals และค้นหาการสืบค้นข้อมูลปริมาณการสตรีมโดย บางทีคนที่อ่านสิ่งนี้จะได้รับแรงบันดาลใจในการสร้างvolคำสั่งที่ได้รับการปรับปรุง

ใช่การประทับเวลาการสร้างโวลุ่มจะเริ่มต้นได้อย่างถูกต้องและไม่ได้ตั้งค่าเป็นศูนย์หรือค่าคงที่อื่น ๆ ฉันยังไม่ได้ตรวจสอบ แต่ฉันเดาว่าสถานที่จัดเก็บข้อมูลนี้เป็น$STANDARD_INFORMATIONคุณสมบัติของ$Volumeรายการ MFT ฉันสามารถนึกถึงสถานที่ที่เป็นไปได้อีกสามแห่ง แต่นั่นคือสถานที่ที่สมเหตุสมผลที่สุด


grawityยูทิลิตี1ต้องการเพียงแค่ขัดเงาเพิ่มขึ้นเล็กน้อยรวมถึงการใช้งานง่าย ๆFileTimeToSystemTime()และGetTimeFormat()เพื่อให้สามารถใช้งานได้สำหรับผู้ใช้ปลายทางที่ไม่สามารถถอดรหัสเวลาประทับ Win32 ในหัวของพวกเขาได้ ☺


ว้าวฉันให้ +1 คำตอบนี้กับคุณเพราะมันเป็นสิ่งที่ฉันกำลังมองหา น่าเสียดายที่ฉันไม่ใช่โปรแกรมเมอร์ Win32 API ที่มีความรู้เกี่ยวกับระบบภายในและกำลังมองหาวิธีแก้ปัญหาอย่างรวดเร็ว ความคิดที่ดีกับ procmon ขอบคุณแม้ว่า !!!
slashp

7
อะไรแบบนี้ ? (คำเตือนรหัสที่น่าเกลียด)
1686

8

ไม่มี "วันที่สร้างโวลุ่ม" ที่ฉันรู้จักในตัวเป็น NTFS อย่างไรก็ตามคุณควรจะสามารถประมาณวันที่สร้างได้อย่างใกล้ชิดโดยดูที่วันที่สร้างของSystem Volume Informationไดเรกทอรีในรูทของไดรฟ์


2
สิ่งนี้ทำให้ฉันมีการประมาณค่าที่ดีมาก ขอบคุณสำหรับการตอบสนองที่รวดเร็วของคุณ! ตอนนี้ฉันรู้ว่าใครจะโทษสำหรับไดรฟ์ที่ไม่รวมอยู่ในการสำรองข้อมูลของเรา :)
slashp

0

นี่เป็นที่เปิดเผย หากคุณบู๊ตซีดี Windows XP และเข้าถึงคอนโซลการกู้คืนเวอร์ชันของ chkdsk ที่นั่นจะพิมพ์วันที่สร้างโวลุ่มออกหลังจากที่ทำงานเสร็จ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.