FAT32 USB Hard Drive Problem
Pages: 1 2
John WILLIAMS (8368) 485 posts |
I have a portable Samsung USB 1TB HD which worked well on the RPi formatted to FAT32. It had on it about 200GB or so of RISC OS data. Then, one day, and I know not why, it suddenly “turned into” my SD card. It now has the same name as my 16GB HD card and the same contents – it behaves exactly as the SD card would plugged into a USB card reader, with identical contents. That is, a Select-click opens the Loader “partition” under Fat32Fs, whilst a dismount followed by an Adjust-click opens, under SCSI, the exact same RISC OS content as my SD card had. As far as I know I haven’t reformatted it to Filecore format, nor copied over my SD card contents. The HD now reports itself as size 14 Gbytes with 4 Gbytes used and 10 Gbytes free just as the SD card did at that time! What I am hoping is that somehow the SD card has become imaged as a partition as the first partition on the disc, and the rest may still be there (though I do have a second back-up on HD anyway). But I am stuck, in that we don’t yet have a proper partitioning tool to check, and both Filecore and Fat32fs formatting tools think it is now the same size as my SD card, a nominal 16GB. PartMan 0.50 reports the drive as SCSI 0:2, FileCore, 931GB (the original “1TB”) in the grey bit on the left, but as SD16Tosh_1 (the SD card discname), FileCore, 14GB in the yellow insert – identical to the SD card itself in wording. How can I get my 1TB (nominal) drive back? I see that I did download an archive containing modules Fat32FsPM, PartManMBR and SCSIFSSA in December, and looking at that (to little avail – the ReadMe is in German) may have been the cause of my problem, but I’m hesitant to investigate that further until I receive competent advice! |
andym (447) 464 posts |
Shot in the dark… What can you see if you click menu on the mounted FAT32 drive icon and go to partitions? |
John WILLIAMS (8368) 485 posts |
No option on the SCSI side, but: on the FAT side |
andym (447) 464 posts |
Oh dear. That’s me out then! Told you it was a long shot. I was just hoping that the larger partition was going to show up in there as another partition and you’d be able to click on the partition to access it. Might be worth trying Toni, the author of the Partition software, or Jon Abbott maybe, to see if they have any clues. I was hoping for the simple fix. |
John WILLIAMS (8368) 485 posts |
The 50MB is, of course, the “fake” DOS partition off the SD.
I was hoping Jon would see this and have some thoughts, but as to Toni – if you mean the modules I downloaded, I’m not even certain I loaded any of them. The real aim, though, is to recover the 1TB disc, otherwise it’s an expensive lesson not to mess with anything at all! But thanks for the response anyway! |
Raik (463) 2030 posts |
Strange problem. I`m not sure if I understand all things right. An other “Shot in the dark”… Have you try to made a backup from your SD card e.g. with CloneDisc? If the answer is yes, is it possible that you have wrote this to the wrong device? |
John WILLIAMS (8368) 485 posts |
I can say a definite “No” to this. CloneDisc stopped working here many moons ago – it always fails part-way through. I always, when trying it from time-to-time, write to file anyway. So, as with Andy’s suggestion, thank you. but no. And thanks for the information about the modules I mentioned being read-only; that would rule them out as well! I have tried Linux on an old m/c, but my PartMan has mislaid its password! |
Colin Ferris (399) 1751 posts |
It’s a pity that these 2.5 eternal drives don’t have a switch like the old floppy’s – so things like virus can’t change one’s backups :-( |
John WILLIAMS (8368) 485 posts |
If only! This one seems decidedly mortal, and may even be effectively deceased! |
Julie Stamp (8365) 463 posts |
Have you tried dismounting and taking the SD card out of its slot before accessing the Samsung? |
John WILLIAMS (8368) 485 posts |
I have now. This makes no difference apart from having to cancel multiple Re-insert messages! Managed to check Filecore and FAT “partition”: no change! Because Jon’s PartMan (0.50) manages to get the original size right in one section, it would seem to me that this value needs reading and re-writing to wherever in the map Fat32Fs or HForm are reading the reduced size from to restore normal functionality, but I reserve the right to be totally wrong! I suspect that we need a low-level Disc_Op expert to solve this problem. I did buy a Verbatim model 63023 1TB to replace the drive, but though this is recognised by the USB system (USBInfo) as being connected, it won’t “work” as a drive under RISC OS. So I’ve ordered a replacement Samsung from China. I’d still like to recover full-functionality on this one, though! |
Alan Adams (2486) 1129 posts |
Have you plugged the drive into Windows at some point? I remember in the past Windows had a habit of “correcting” drives when plugged in. I don’t know whether it still does this. |
John WILLIAMS (8368) 485 posts |
No, I don’t have “Windows”. |
Jon Abbott (1421) 2608 posts |
This sounds like an issue I raised a few weeks back, where the drives can reorder. It sounds like you inserted this drive and something then rewrote the SD partition table, but due to the SCSI drive order changing, wrote it to the wrong drive. How did you partition the drive originally, what software did you use and was it partitioned at all? MBR or GPT? In theory your data is intact, it’s just the partition table that’s incorrect, but getting that back is going to be tricky. You will have to recreate the partition table with the exact same partition details to fix it, down to the exact LBA details. Do not be tempted to recreate the partition just yet, the software you used might also clear the FAT or RootDir. |
John WILLIAMS (8368) 485 posts |
The drive was, AFAIK, unpartitioned and used out-of-the box, being supplied FAT-formatted. Although I did look at it using your PartMgr before it “broke” I didn’t retain any files, but I assume that it presented similarly to my other HD, an Initio Corp device incorporating an INIC-1608 SATA bridge. This shows as MBR under your PartMgr software (0.50), and I feel that I might have noticed if the two were different. To recap, the working drive, a nominal 0.5 TB device reports as 465 GB in the LH panel, whilst the faulty drive, a nominal 1 TB, still reports as 931 GB there, despite only showing 14 GB FileCore in the second panel but leaving a large grey space after its yellow pictorial representation. The debug text is here The actual data is unimportant, as it is a mirror of the other disc which (at the time of writing!) is still working. I just want the drive back to 1 TB! |
Raik (463) 2030 posts |
You can try to use Fat32Formatter |
John WILLIAMS (8368) 485 posts |
As I mentioned earlier, both Fat32Format and HForm both only “see” the nominal 16 GB “partition”, which is why I suggested the idea of a partition being accidentally created in the first place. Thus I would be left with a 16 GB HD instead of a 1 TB one! CloneDisc is a possibility for writing zeros, as it does see 931.5 GB (1,953,525,168 sectors), but as I’ve also mentioned, that usually fails here partway-through, and I might then be left with a disc in an even worse state! But perhaps a last-ditch (final) option. |
Raik (463) 2030 posts |
Sorry, not all informations arrives my brain before ;-) What would I do? |
Chris Hughes (2123) 311 posts |
John, I have never personally used CloneDisc, but have you checked you have the latest version, now available via Elesar – I think current version is 1.03 I would also ensure all other drives like SD or harddrives etc and disconnected before using the software or using a formatter. Belt and braces safety. |
John WILLIAMS (8368) 485 posts |
As it doesn’t have a Help menu item when running, I can’t see the version number easily, but I got it before the Piccolo web site problem. Delving deeper, I see I have 1.01, so I’ll contact Sprow. Thanks for the push! |
Rick Murray (539) 13424 posts |
Sounds to me like somehow the information for the 16GB drive was written onto the 1TB drive. The problem that you are having now seems to be that the formatter is reading the drive size data from the drive boot block, and is incorrectly showing a 16GB drive. You sometimes get problems like this with SD cards that are partitioned, which is why people are advised to use a special SD formatter (which reads the size from the device, ignoring whatever is on the drive). What I’d do is much the same as Raik, but using Windows as I don’t run Linux here. Wipe whatever partition table may exist, and then format it. Alternatively, as a last-ditch attempt, perhaps cobble together some BASIC to use SectorOp to write zeros to the first bunch of sectors on the drive? Then there will be no stale data to read, so the formatter might begin to see the correct drive size? BTW, can’t you manually specify the size to HForm? Is it not written on the drive label? |
Jon Abbott (1421) 2608 posts |
I’d ignore that, its being misreported as its near impossible to link a physical partition to a logical drive under RISCOS. The root cause is in the debug log, you possibly missed it:
In that case all you need to do is reinitialise and repartition the drive |
Jeff Doggett (257) 232 posts |
The current version of fat32formatter (1.07) has an option (-o) to make a new partition table that uses the whole drive for the FAT. |
John WILLIAMS (8368) 485 posts |
Available here That worked a treat. I now have my full drive capacity back! Thank you, Jeff, for your continued work! And thanks to everyone else who took the time to try to help. |
Jon Abbott (1421) 2608 posts |
I struggled with FAT32 formatting in Partition Manager. Although it is working in the latest build, I’m still not 100% certain I’ve done it correctly, despite following Microsoft’s spec to the letter. I wasn’t aware of fat32formatter at the time, but I did look at source code from several around the net and none of them followed Microsoft spec correctly. When I get some time, I’ll cross-check my code against Jeff’s as he’s the resident FAT expert. One area I want to check is calculating the FAT size, the Microsoft code works fine although it oversizes the FAT. Against my better judgement I’m iterating it down until it’s too small for the calculated cluster count and then increasing it by 1 sector. The other area is zeroing the FAT, none of the example formatters I looked at appeared to zero the FAT, although the spec explicitly states the FAT should be zeroed. This can be quite slow on larger drives with a large cluster count. |
Pages: 1 2