We help IT Professionals succeed at work.

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.

Thanks.

Comment
Watch Question

Most Valuable Expert 2015

Commented:
If you are trying to boot XP from USB, that would be expected. You can't boot XP from USB by just cloning a drive. The Links below may help to get an XP installation to boot from USB:

http://www.informationweek.com/windows/showArticle.jhtml?articleID=177102101&pgno=1
http://articles.techrepublic.com.com/5100-6346-5928902.html
http://articles.techrepublic.com.com/5100-10877_11-6160062.html

Just a warning, as USB is a slow Interface compared to IDE or SATA, you'll have a very slow system, it is therefore not recommended.
Go into the BIOS and change the SATA mode to IDE or Compatability.  The NCQ or AHCI drivers don't like the SSD.
While it is not causing your stop error, all us tech's need to know there is a big difference in SSD's in that they only have a finite number of writes before they wear out.  Compounding this is the fact that they are also organized into blocks and accessing the device always reads or writes one (or more) of those blocks.  If the O/S's partition structure does not match the internal structure of the SSD, every write operation will have to read the entire block, change the part of the block specified, and then write the entire block back to the SSD.  This not only seriously shortens their life; it also causes a big performance hit!  And last; but certainly not least, the normal partition table on a hard disk drive never aligns properly on an SSD.
To simplify, imagine the SSD as umpty-ump 4KB blocks; but, your partition table says each block starts 2KB in physically.  Each time Windoze needs to write it will have to read two blocks, change the second half of the first and the first half of the second, then write both blocks back out to maintain the filesystem.  Lifespan and performance just went out the window.
Because you cannot clone an aligned partition, switching to an SSD should always be a fresh install.
Read this: http://www.ocztechnologyforum.com/forum/showthread.php?48309-Partition-alignment-importance-under-Windows-XP-(32-bit-and-64-bit)..why-it-helps-with-stuttering-and-increases-drive-working-life.
DavidPresident
Top Expert 2010

Commented:
Make 100% sure that you are NOT using a PC that has a SATA RAID controller built into it.  My guess is that it does, and it is putting a few KB or MB worth of metadata at beginning of disk.   One way to know for sure is to boot a LINUX Live CD on her laptop, then compare physical block #0 to make sure they are exact match.

(The live CD boots LINUX and gives you ramdisk, it will not write anything or install LINUX .. get the Ubuntu live cd).

Then once CD is booted,

dd if=/dev/sda of=/tmp/disk1.bin count=1    
dd if=/dev/sdb of=/tmp/disk2.bin count=1

diff /tmp/disk1 /tmp/disk2

Above assumes the device names are sda and sdb of the 2 HDs, but they may also be /dev/hda & hdb, or some other combo.  This compares the first block only, which is boot block.  

Author

Commented:
I did previously check the bytes of the offset and saw it was 32K on the SATA disk and roughly 4MB (or around that) on the SSD.  For other posters, I am not trying to boot off the USB drive, merely trying to replace the older SATA with the SSD.

Author

Commented:
The BIOS does have a built in controller for RAID.  There are two options JBOD and RAID-1.  Netiher works with the SSD.  Interesting note from the poster with regard to writes - I did not know that.
In that case, you did not actually "clone" the drive (period). If the copy was exact, there would be no difference in the offset.
 

Author

Commented:
I tried a fresh install using a XP SP2 disk (the only one available) without any luck prior to this posting.  I received the same BSOD.
DavidPresident
Top Expert 2010

Commented:
That is because that particular controller actually DOES put metadata at the beginning, no matter what.  Some do that, to facilitate migrating from "JBOD" to a RAID config.
DavidPresident
Top Expert 2010

Commented:
... so get a binary editor, find the partition header, then shift the volume over buy copying everything from starting of the true partition to a scratch disk, then copy it back.
I would set the bios to default setting format the drive before cloning the drive this try a repair instal and see if that works.

CT

Author

Commented:
With regard to the clonging - agreed.  I merely attempted to use the three programs mentioned.  While it is called cloning, technically they did not clone.

With regard to ComputerTechie idea, tried that already.  It did not work.

dlethe - I will try the binary editor or dd via linux, though I will need to make the linux boot disk which I don't have.  I just need to find some more time to do this.   In any case, both are good suggestions.  II did not even think of dd.
From Toshiba's support page on the M400:
http://www.csd.toshiba.com/cgi-bin/tais/support/jsp/modelContent.jsp?ct=SB&os=&category=&moid=1209152&rpn=PPM40U&modelFilter=M400&selCategory=3&selFamily=1073768662
Follow these steps to install both the Toshiba RAID driver / Serial ATA driver and Windows XP or Windows 2000 on a Toshiba computers that use a Serial ATA hard drive controller:
1. (Using another computer) download the Toshiba RAID Driver / Serial ATA Driver package.
2. Extract the driver files from the ZIP package to a folder on your desktop.
3. Copy the driver files to a blank formatted diskette. Once the files have been copied, eject the diskette from the drive.
4. Connect the Toshiba 3.5" External USB Floppy Disk Drive to the notebook computer.
5. Insert the Windows XP or Windows 2000 CD into the computer's CD drive and restart the computer. If the computer is off, then turn it on, and insert the Windows CD into the CD drive.
6. Watch carefully, as Windows Setup progresses, and carefully read the text on the bottom line of each screen. At the screen labelled "Windows Setup" (typically the second screen after Setup starts) this message should appear at the bottom of the screen:

              "Press F6 if you need to install a third party SCSI or RAID driver ..."
7. Press the F6 key -- immediately. This screen will disappear after only a second or two.
8. Press the  S key to specify an additional device.

9. Insert the diskette containing the Toshiba RAID driver / Serial ATA driver, and press the Enter key.
Leave this diskette in the drive during the remainder of the Windows Setup process, as it will be accessed several times.
10. When prompted to select a driver from the provided list, choose "Toshiba RAID Driver (Windows XP/2000)". When messages appear regarding Windows Logo testing, click the Yes button to continue.
Once the driver has been installed, Windows Setup will recognize the computer's Serial ATA hard drive, and the Windows installation should proceed normally.
11. Continue with Windows Setup -- leaving the driver diskette in the diskette drive until the computer is restarted at the end of the installation process.
Your stop error is an old one and it's a shame they did not give you the option of compatability mode in the BIOS.  You will, BTW have to have a USB floppy disk drive and diskette.  It won't work otherwise.

Author

Commented:
DavisMcCarn - The M400 sees the drives in the bios, it just refuses to boot on it.  I am thinking that dlethe is right on the offset issue and that dd is likely the best way to address through creating a linux boot disk.
President
Top Expert 2010
Commented:
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.  
BSOD error 7B is one of the classic errors when you needed to install the AHCI/RAID/SATA drivers using F6 during setup.  Google it.
All the misalignment does is hurt your performance and lifespan.

Author

Commented:
Davis - are you disagreeing with yourself or did you change your mind from the last post, or am I missing your point (probably the later).  In any case, I tried the dd using a GNU linux with some partitioning tools (I could not get the Ubuntu version to boot on my HP A1730N PC - AMD Athlon 64 X 2 Dual Core 4600+ - odd?).  In any case that seemed to work, but then I got the bootmgr is missing error.  I have not checked the offset since I did that - I will do that in the morning.
In my first post, I said "Go into the BIOS and change the SATA mode to IDE or Compatability.  The NCQ or AHCI drivers don't like the SSD." and the rest of that post was informational re SSD's and the need to partition them differently from hard drives.
You said there was no way to turn of the AHCI/RAID/NCQ in the BIOS and, what happens with XP is that the drive's translation is read wrongly and you get the STOP 7B.
To overcome that, you have to install the RAID drivers using the F6 key at the beginning of XP's setup.
As to the alignment problem (which doesn't affect booting), it looks like one fix is to create the partition using a Windows 7 DVD as it creates partitions aligned for SSD's and then tell XP's setup to format and install on that partition; but, you will still have to use the F6 drivers or you'll be back at the 7B when XP reboots.

Author

Commented:
DavisMcCarn - Ok, I see your points.  Thanks.

Author

Commented:
I finally got this to work using the original boot disk that came with the system.  It required me to wipe out everything and start fresh (which is not the goal).  I had wanted to move the data over.
DavidPresident
Top Expert 2010

Commented:
Respectfully, DavisMcCarn is incorrect.  The "alignment issue" affects booting. Your symptoms are proof of that.  The problem was simply that the RAID mode requires X blocks for metadata, so the controller presents all logical devices with a non-zero physical offset.   Using dd or any other program to copy with offset to block zero would have worked readily.

Sorry.
dlethe Respectfully, DavisMcCarn is incorrect? NOT.
XP SP3 (read askers first post) always creates a partition with a 63 sector offset which is correct for magnetic media; but, guaranteed to be misaligned on any SSD.  Using the recovery CD will have created a standard, hard disk partition.  SSD's work fine with a misaligned offset; they just do read/modify/write cycles for every NTFS allocation unit which lowers the performance (slightly) and the lifespan (more).
jwilcox784,
I always clone drives using a desktop laid on its side with an extra Promise IDE card and 2 spare SATA ports.  It is much faster that way AND I do a full sector copy.  If the hard disk drive was fully working, something went wrong with your cloning as a sector copy would have worked.  If you want to try again (getting old, huh?), try using GPartEd or PartEdMagic (Google them)
 
DavidPresident
Top Expert 2010

Commented:
THen we are not on the same page, Davis. I am addressing the logical vs physical offset of where block#0 is.   Block #63 is relative to either the logical or physical block #0, wherever it is.  So both of us are right, just semantics.  The binary editor will tell you if you have the start-of-disk correctly
Yes, I have been editing partition tables, boot records, folder or directory trees, and FAT's since the early 1980's. I still use Diskedit ocasionally.  I'm also now curious to see if I could sector copy an NTFS volume offset to match an SSD's blocks, then modify the partition table, MFT's, and MBR's so it would work.

Author

Commented:
If I get a chance I will try to see what the offset is, but I have pretty much run out of time.  I plan to play with this weekend.  

Author

Commented:
I appreciate all the help.  It looks like the offset was the error.  I did not have the time to play much more, but here are the steps that worked:
1) Installed the original O/S with the restore disk from Toshiba onto the new SSD, effectively destroying the partitions on it.
2) Used Linux tool to erase all data on the drive and checked the original partitions/starting points, but maintained the partition as created by the Toshiba Restoration disk.
3) Used Acronis and restored a full back-up from the original Sata drvie to the SSD, but selected the option to use the already existing partitions when restoring.
4) All worked perfectly.

In my opinion, this was an offset issue, but I just did not have the motivation to mess with it and figured the above would work while I slept.  It did.

Thanks for the help!

Author

Commented:
Thanks!