Can python 'read disk sectors' like/via linux:dd ?

Tauno Voipio tauno.voipio at INVALIDiki.fi
Wed Nov 9 20:39:14 CET 2005


news at absamail.co.za wrote:
> OP wrote:
> }in order to justify learning another language I'd first need to be
> }convinced that python could easily do the following:-
> }
> }ReadSectors2Bufr(hdx, StartSectr, SectrCnt, Bufr); <-- like linux:dd
> }PrintDecOf4Bytes(Offset, Bufr);   <-- and also 1 and 2 byte values
> }OverWriteBufr(Offset, Bufr, Byte);
> }WriteBufr2Sectors ..... <-- like linux: dd
> }
> }I guess one would normally use bash, but I'd rather invest effort
> }in python if it can do this.
> }
> }Thanks for any info.
> -----------
> 
> Pascal Bourguignon wrote:
> 
>>>In unix, disks are files like any other file.   
>>>So if your programming language allows you to 
>>>read and write files, it allows you to read and
>>>write disks.
>>>Just write the equivalent of:
>>>   int fd=open("/dev/hda",O_RDWR,0);
>>>   if(0<==fd){
>>>         check_errors(lseek(fd,SECT_SIZE*sect_num,SEEK_SET));
>>>         check_errors(read(fd,buffer,SECT_SIZE));
>>>         modify(buffer);
>>>         check_errors(lseek(fd,SECT_SIZE*sect_num,SEEK_SET));
>>>         check_errors(write(fd,buffer,SECT_SIZE));          close(fd); }
>>>and be sure to have the access rights on /dev/hda (and to know
>>>what you're doing!).
> 
> 
> Tauno Voipio wrote:
> 
>>Are you attempting to create a boot block virus?
> 
> 
> Firstly, if you asked me advice on where to buy some goats-milk,
> I'd answer in the context of where YOU stand now [especially
> since you told me], NOT form where I'm standing.
> 
> For several reasons I need many partitions on my IDEs.
> The one lost the chain of logical partitions at hdx26.
> It's not linux, but that's not important.
> The most convenient tool for ME [at my present status] to
> read/write blocks is linux: dd; and to see/edit is linux:mc.
> This involves a lot of tiring manual work.
> I previously read of a contributor who automated the steps
> of linux:fdisk [iterating through size guesses] inside of a bash 
> script, to recover his lost [last] partition.
> I'm not keen on investing time to become more fluent in Bash,
> which could drive dd.
> I have other reasons to invest time in Python.
> If Pyton could 'drive' dd, I would try it.
> 
> My normal OS is oberon S3, which can do better than the 
> C-code above, but I want to work at the highest level.
> 
> Understand ?

Yes, I do.

But, there is a good tool to repair partition tables.
Google for 'gpart'.

-- 

Tauno Voipio
tauno voipio (at) iki fi



More information about the Python-list mailing list