Path: utzoo!attcan!uunet!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga.tech Subject: Re: Recovering data from hard disk Message-ID: <14491@cbmvax.commodore.com> Date: 17 Sep 90 19:12:01 GMT References: Reply-To: daveh@cbmvax.commodore.com (Dave Haynie) Distribution: comp Organization: Commodore, West Chester, PA Lines: 66 In article nix@stekt.oulu.fi (Tero Manninen) writes: >Now when I am trying to recover the files from the second partition >I get DiskSalv errors (the block difference stays at 202 blocks): > FILE ":LOOSE-BLOCKS/DIRBLK-20800/indent.doc.Z" Block Key Mismatch: > 21066 != 20864 >With the first partition I get errors like this (diff 102 blocks): > FILE ":LOOSE-BLOCKS/DIRBLK-10406/Calc" Block Key Mismatch: > 10332 != 10434 >The recovered files are pure garbage.. I suspect that they are 202 and >102 blocks off the real data. It sure sounds like, somehow, your partition information is confused. >Is there any way to change this block offset ? >I already tried to change disk partitioning but it works by cylinders, >not blocks.. DiskSalv thinks in terms of blocks, but it generates its block information based on the environment vector for the drive in question, which is based on cylinders. Specifically, the formula used is: LoBlock = LoCylinder * NumHeads * NumSectors The BYTE offset of a sector (block) on a partition (BYTE offsets are required by the device driver interface) are given by: ByteOffset = BLOCKSIZE * (LoBlock + sector) If the partitions you're getting from your automounting drive don't look good to DiskSalv, you may have one or more of these partition numbers corrupted. It's a good idea to figure out what the device is logically formatted to; on SCSI devices, the physical Head, Cylinder, and Sector numbers aren't always used; the total number of blocks is what counts, and the Head, Cylinder, and Sector numbers your device has been formatted to determines how stuff was written on the disk. You can write up a dummy partition, if you like, using a Mountlist, and give that to DiskSalv instead of the automounting partitions, if that's easier. Just create a MountList entry, Mount it, and give that name to DiskSalv as an input file. It probably wouldn't be too difficult to write a small utility that does this automatically. These errors from DiskSalv sometimes show up with disks that have had different partitions on them over their lifetime. In that case, there would probably be a number of bogus files along with the good ones, but there will be good ones. If everything is consistently offset, you probably have bad partition information for your main disk. >Oh, I was just to forget.. the DiskSalv is v1.42, very nice program. Thanks! DiskSalv V2.00, available possibly in early 1991, will be much nicer I think. While it's far from complete, an early DS V2.00 did recover everything from a disk that confused V1.42. One of the flaws in V1.42 is that it doesn't fully handle the problems that crop up on a disk with a long history, where there may have been multiple partitions or other quirks that develop on a disk that's been in use for many years. This stuff just keeps getting trickier.... >++Tero -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy Get that coffee outta my face, put a Margarita in its place!