Пытается создать скрипт для создания образа диска (например, .dd) в python. Первоначально он был запущен как проект, чтобы получить еще один hex-отладчик, и, похоже, он больше заинтересовался попыткой получить необработанные данные с диска. который превратился в желание иметь возможность сначала прорисовать диск. В любом случае, я смотрел вокруг в течение недели или около того, и нашел лучший способ получить получить информацию от привода на небольших дисков, кажется, что-то вроде:Python Disk Imaging
with file("/dev/sda") as f:
i=file("~/imagingtest.dd", "wb")
i.write(f.read(SIZE))
с размером является размер диска. Проблема в том, что, как представляется, хорошо известная проблема, попытка использования больших дисков проявляется как (даже в моем случае общий размер 250059350016 байт):
«OverflowError: Python int too large to convert to C long»
Есть ли более подходящий способ обойти эту проблему? Поскольку он отлично подходит для небольшого флеш-накопителя, но пытается создать образ диска, он не работает.
Я видел упоминание о возможном простом повторении по размеру сектора (512) по числу секторов (в моем случае 488397168), однако хотел бы точно проверить, как это сделать так, чтобы это было функционально.
Заранее благодарим за любую помощь, извините за любое незнание, которое вы легко замечаете.
читать данные в блоках? Вы действительно хотите открыть устройство в двоичном режиме, 'open ('/ dev/sda', 'rb')', если вы это делаете. Когда вы дойдете до конца устройства, '.read (blocksize)' вернет пустую строку. –