10 November 2013, 22:45 | #61 |
Registered User
Join Date: Jan 2002
Location: Germany
Posts: 6,987
|
I wonder how HDToolbox can determine the harddisk's size if the driver supports neither GET GEOMETRY nor READ CAPACITY.
Please run the program from this post: http://eab.abime.net/showpost.php?p=703586&postcount=5 It outputs more details about the SCSI error. Perhaps I made a mistake in the Direct SCSI code. |
10 November 2013, 23:01 | #62 | |
Registered User
Join Date: Apr 2009
Location: N/A
Posts: 962
|
Quote:
> RDBrecov scsi.device 0 This seems to have worked. I have attached the result. Is this the result I am looking for? or these results still do not make sense? |
|
11 November 2013, 11:12 | #63 |
Registered User
Join Date: Jan 2002
Location: Germany
Posts: 6,987
|
The problem is that it didn't find any valid partition. Those "possible" partitions are just blocks with 444f5301 in the beginning. But after verifying that a valid root block is in the middle of the partition, they all failed the check.
This is how a successful run would look like: Code:
3> rdbrecov scsi.device 0 cs 256 Trying to open scsi.device unit 0 SectorSize = 512 CylSectors = 8 (overridden by parameter: 256) Cylinders = 7999 Allocated partition table for 100 entries. Possible FFS Bootblock found at cylinder 2: DosType=444F5303 Possible FFS Bootblock found at cylinder 808: DosType=444F5303 Possible FFS Bootblock found at cylinder 2410: DosType=444F5305 Reading cylinder 7999 Checking FFS partitions FFS Bootblock found at cylinder 2: Size = 806 cyls DosType=444f5303 Name="Workbench" BlockSize=512 FFS Bootblock found at cylinder 808: Size = 1602 cyls DosType=444f5303 Name="Work" BlockSize=1024 FFS Bootblock found at cylinder 2410: Size = 5589 cyls DosType=444f5305 Name="Spare" BlockSize=2048 Complete. 3> Now every further attempt with RDBrecov will be very time consuming. That's because RDBrecov is not designed for FFS. It works best with file systems which save partition size in the beginning of the partition. The next step is to use the DEEPFFS switch: rdbrecov scsi.device 0 DEEPFFS This will make it check every cylinder between the "possible" FFS partitions for a valid root block. Like already mentioned this will take a lot of time. I am a bit concerned about the different sizes reported. On the SCSI controller HDToolbox reported 992 cylinders of 4034 sectors each, resulting in 4001728 sectors on the entire drive. Now on the A1200 it says 250110 cylinders with 16 sectors each. This results in 4001760 sectors, 32 more than before. |
11 November 2013, 18:56 | #64 |
Registered User
Join Date: Jan 2002
Location: Germany
Posts: 6,987
|
I quickly put together another program which tries to find FFS partitions only. Should be faster than RDBRecov in DEEPFFS mode, but the information given is less useful.
It outputs something like this: Code:
4> findffspart scsi.device 0 Trying to open scsi.device unit 0 SectorSize = 512 TotalSectors = 2047752 possible partition start at sector 512; dos type = 0x444F5303 FFS root block in sector 103680; name = "Workbench"; block size = 512 possible partition start at sector 206848; dos type = 0x444F5303 FFS root block in sector 411904; name = "Work"; block size = 1024 possible partition start at sector 616960; dos type = 0x444F5305 FFS root block in sector 1332352; name = "Spare"; block size = 2048 2048000 / 2047752 4> |
11 November 2013, 21:28 | #65 |
Registered User
Join Date: Apr 2009
Location: N/A
Posts: 962
|
Hi thomas, thanks again for all the help. I ran the RDBRecov with DEEPFFS. I attached the results. Should I try to create a partition with lowCyl 63 and highCyl 125055 (63 + 124992)?
I'll try that other program too. |
11 November 2013, 22:26 | #66 |
Registered User
Join Date: Jan 2002
Location: Germany
Posts: 6,987
|
It's obvious that you often repartitioned this harddrive in the past and there are a lot of zombie root blocks left from previous times. All found partitions begin at cylinder 63, so only one of them can be the right one. You have to choose.
I'm a bit wondering about your question. Your initial post says that you created one partition called "System" and another one called "Documents". Now we see three candidates called "System" and one called "DH0{976MB}" and you ask whether you shall create of all choices the one which is not called "System". I don't know what I should reply to this. You have to decide which of the four candidates looks most promising, i.e. which of them you created last. The "Documents" partition seems to have disappeared completely. Perhaps the new program can find it. |
12 November 2013, 10:37 | #67 | |
Registered User
Join Date: Apr 2009
Location: N/A
Posts: 962
|
Quote:
Code:
Unit = 3 Device = uaehf.device FileSystem = L:FastFileSystem Flags = 0 Surfaces = 1 SectorsPerTrack = 16 SectorSize = 512 Mask = 0x7ffffffe MaxTransfer = 0x20000 Reserved = 2 Interleave = 0 LowCyl = 63 HighCyl = 125055 Buffers = 30 BufMemType = 0 StackSize = 1000 Priority = 10 GlobVec = -1 DosType = 0x444F5301 Mount = 1 |
|
12 November 2013, 11:30 | #68 | ||
Registered User
Join Date: Jan 2002
Location: Germany
Posts: 6,987
|
Quote:
So if you want to mount the partitions on the image file, you have to run RDBrecov on the image file, too. Otherwise the values won't match. Quote:
Example: if you want to use 10 cylinders beginning at cylinder 1, you use LowCyl=1, HighCyl=10. But if you add 10 to 1 you get 11, one too much. |
||
13 November 2013, 10:01 | #69 |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,336
|
READ CAPACITY is a SCSI command, not a device driver command. So (I assume) HDToolBox uses HD_SCSICMD to issue a READ CAPACITY command to the drive.
|
13 November 2013, 11:46 | #70 |
Registered User
Join Date: Jan 2002
Location: Germany
Posts: 6,987
|
Sure it does. There is no other way to issue Read Capacity. But if HD_SCSICMD returns 45, then Read Capacity didn't work, did it?
|
14 November 2013, 20:31 | #71 | |
Registered User
Join Date: Apr 2009
Location: N/A
Posts: 962
|
Quote:
I tried the latest version of RDBrecov in WinUAE and this worked like a charm (see first attachment). Note that this says CylSectors 4033. I then went to HDToolBox. Selected "Change Drive Type", then "Define New" and finally "Read Configuration". Here I noticed that "Blocks per Track" and "Blocks per Cylinder" is 4034!! (see second screenshot). I do not know why HDToolBox put 1 extra here. I changed this to 4033. I then went to Partition Drive. Enter the values returned by RDBrecov and I got my files back! So in short the problem seems to have been that HDToolBox was recognized "Blocks per Track" and "Blocks per Cylinder" is 4034 rather than 4033 as RDBrecov. Luckily RDBrecov returned the correct value. A big thank you to you thomas and mark_k for all the help!! I really would have given up if it was not for all your help! Really big thanks |
|
22 January 2023, 21:08 | #72 |
Registered User
Join Date: Jul 2014
Location: USA
Posts: 139
|
Sorry for the necro post but I'm glad I found this thread. Thanks to Thomas' "RDBRecov" program, I just got my SD working again. I also have a nice 32gb image file backup just in case.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Can I recover my Cf? | Retrofan | support.Hardware | 2 | 11 February 2013 11:40 |
Best way to move files to my A1200's CF card? | RMK | Retrogaming General Discussion | 11 | 24 January 2011 20:23 |
Recover a Harddiskdrive | cosmicfrog | support.Hardware | 6 | 03 July 2010 19:33 |
I need to recover stuff from old Amiga floppys... | zardoz | New to Emulation or Amiga scene | 4 | 01 November 2004 21:19 |
Recover memory | Tony Landais | Coders. General | 6 | 07 May 2003 15:21 |
|
|