This howto explains briefly how you can connect a functional HDD from a failed MSS directly to your PC.
(I have been updating this 'howto' already several times today and might continue to do so, based on your feedback. So check back later. If you need personal assistance then contact me personally)
It is a very simple and fast procedure. If you do it well, then there is no risk of loosing data. It shouldn't take more than 30-45 minutes to follow these instructions.
Note: this is the procedure for the MSS, 200GB. It probably also applies to other models, but not validated by myself.
You need to consider 4 steps:
1: the physical part
get the HDD out of the enclosure en connect it as slave in your pc.
2: get your computer to see the partitions (the most difficult part)
As you will see, the pc (linux or win) will not see any partitions on the HDD. The reason it the socalled 'Broadcom partition table'.
I would recommend not to not use any tool or fdisk or whatever.
The easiest/safest way is to write your own partition table.
This requires that you have installed a hex-disk-editor (there is a myriad of them available as freeware)
You only need to edit sector 1 of your HDD.
(added info: 1 sector = 512 bytes. Do not modify anything beyond this first sector. This will guarantee you will not loose data, even if you put in the wrong data in sector 1 wile you are 'trial and erroring' as I was when I first tried this)
In case you would like to reinstall the HDD to it's original position, then first backup the 1st sector to a local file on your pc. FYI, the sector starts with 'Broadcom NAS Version 1.1 MBR Tag ....' or something like that.
Now, just putting the partition table isn't enough. I noticed that you need a valid bootcode in the MBR (first part of the sector), otherwise a pc will not attempt to read the partition info in the last part of the sector.
boot code: copy the first sector from your primary drive to your MSS HDD. (other methods possible, such as "fdisk /mbr", but I didn't use that) It is probably advisable that you change the 'windows drive label' on the copied 1st sector (4 bytes at offset +1B8h, marked yellow in the example sector). This should prevent windows getting confused when assigning drive letters. Just change it to whatever you like.
partition table:
This part needs to be customised, depending on your specific drive. I'll try to explain what to do in a generic way and give some examples for the MSS200GB
First you need to find the correct partition info to put on the drive.
You can get the correct partition info from someone with an identical working MSS.
Alternatively, you can look on sector 2 and/or 3 of your failed MSS HDD where you will also find the number of sectors and offset of the start sector for the different partitions (3* 2* 4 bytes), except for the swap partition, but you don't really need that one. The rest of those sectors are 0, so they're easy to find: see the origianl partition info
Beware that each 4 bytes need to be reversed in the pc-partition table due to the format differences (most-least significant byte order); see the partition table examples below.
NOTE (based on unfortunate feedback): I advice not to open a functional MSS and directly put it's HDD in a PC to get the partition info. Either let the functional MSS work, and use telnet with the proper unix commands to access it in it's enclosure, either read the data from the bad HDD which is connected to your computer.
With the sector offset and length for all the partitions, and the HDD geometry, you can easily transform them into sector/head/cylinder start and stop values. (in Excel, there are some functions to help you do that, just activate the analysis toolkit first)
It is possible that this information isn't even necessary as modern kernel only work with sectors anyway, due to size restriction of the head/cyl/sect format. However, I read that many partition table 'interpreters/kernels' still check the values to see if they are in line with the absolute sector values .. and then discard them.
However, the values '83' and '82' on offset 1C2h, 1D2h, 1E2h and 1F2h are a must : they tell what kind of partition this is (hex 83 = linux generic partition)
This info now needs to be put into the typical partition table format, which is again very easy, see http://www.datarescue.com/laboratory/partition.htm
Now copy this info to the 1st sector of your HDD at offset +1BEh with the disk editor. It's only 64 bytes so you can just type it in the disk editor.
Don't forget to put the executable marker at the end of the sector (55AA), but if you copied the sector from your working drive, then this should already be there.
Now save the 1st sector and you're finished.
For the 200GB HDD this is the partition table info(and new executable boot code). The partition table section is highlighted as bold. The sector size and offset are in red background. See here forthe original 2nd sector of the HDD with the original sector partition info, marked in red background also.
(if you have an identical MSS200GB, then this paragraph can be reduced to: copy my 1st sector onto your HDD, et voila)
3: read the files
in linux, just mount the 3rd partiton which is the reiserfs data partiton
(not tested by myself)
in windows, use any reiserfs tool to read the data. I would recommend not to use the reiserfs driver, its'n not stable.
You're better of with "rfsgui v2.2" (freeware) or even more conveniant: "total commander" with the reiserfs plugin "ex2fs", which can be found on the total commander website. (30 day shareware)
Note: in windows it's read only
4: restore the HDD if needed by copying the backup of sector 1 to the HDD and save the info.
Done: as I said : Piece of cake.
Regards,
Christof De Backere.
