情況:我正在編寫一個python程序來讀取硬盤(特別是Windows)並將十六進制字符串相互比較。在字節級別讀取硬盤
問題:是否可以這樣做?我正在尋找的解決方案需要很快,因此dd
是不合適的。
我知道在Linux系統上我們可以做open('/dev/sdX', 'r')
。我發現另一個問題,表明我在「基於Win32的應用程序」上使用open('\\.\PhysicalDriveX', 'r')
或open('\\.\C:', 'r')
。
問題:上述命令是否也可以在普通Windows機器上運行(64位)?
附加信息:我正在使用ePython,它是Python的變體,具有附加功能。
'\\。\ PhysicalDrive [N]'是一個磁盤。 '\\。\ C:'是一個卷(通常是一個單獨的分區)。直接讀取它們需要管理員權限,並且應該以二進制模式打開,即「rb」。 – eryksun
卷也可以掛載在NTFS目錄中。從Windows API打開這樣的卷需要使用卷GUID名稱,您可以通過'GetVolumeNameForVolumeMountPoint'從驅動器盤符或文件夾掛載點獲取該名稱。該函數需要在掛載點路徑上有尾隨的反斜槓。它返回帶有反斜槓的GUID卷名,您需要刪除它。 – eryksun