Question : OCZ Agility SSD Won't Boot on Toshiba M400

I have a client with a working Toshiba M400 Portege tablet running XP SP3.  All works fine.  When I try cloning the drive using a variety of different software, e.g., Acronis, Snapshot, Apricorn EZ Gig II and III (Beta), all works, that is all files transfer and the drive is readable via a USB connection and all folders are there, but I cannot make it boot.  It gives the BSOD error 7B on boot.  Both are 100GB drives.  

I am out of ideas.  OZ support forum does not seem of much help.


Answer : OCZ Agility SSD Won't Boot on Toshiba M400

You can very easily prove the offset issue, and give you a good idea how much metadata it carves out.   Look at the HDD specs online, get total number of blocks & bytes.  Then look at the O/S and see how many bytes it says the HDD is. Also the make/model of the HDD that device manager says you have.  If it isn't the same make & model then you have proof.  

I write storage diags and RAID management software for a living, so this is pretty old-hat to me, so apologize in advance for not giving you full instructions to shift it over, but dd is all you need.  Just use the start= and count= options to specify exact values, and I would make block size is at least 64kb  (bs=64k is parameter).   If total number of blocks is not a multiple of 64kb then you need to do a 2nd dd starting near the end of the drive using the (start= and count=) parameters, and do not specify block size.  This will copy one block at a time.

That way you can still copy large chunks of data at once and not worry about clipping the tail end of the disk.  Then you can use a partition manager to incorporate the last few MB or KB left free at the end of the disk by the metadata if you want to get 100% of the disk usable.

Don't be tempted to do this in-place (it is possible with a c program using memcopy as this will prevent source and destination pointers from walking over each other during the copy).   Best practice is also to do a media verify on source  (simple dd if=/dev/sda (or whatever) of=/dev/null bs=64k). This will let you know if you have any read errors as it just reads entire disk into bit bucket.  If you have a read error, then you won't be able to use dd until you repair the bad block.  
Random Solutions  
programming4us programming4us