gtori wrote:
> On SCO Openserver 5.0.6, whit command badtrk -e .... i have cleaned the
> partition table.
>
> Thre's a tool for restore a correct table, or a tool for search the
> first block by any file system on the hard disk ?
Running `badtrk -e` would have damaged the divvy table within your Unix
partition. You _may_ be able to recover from this, but it won't be
very easy.
ftp://ftp.armory.com/~rts/fsrd/ contains a tool that may help.
With the default system tools, you can proceed as follows. Go into
`divvy` and define a division that starts at block 0 and ends somewhere
higher up (doesn't matter exactly where). DO NOT TELL IT TO MAKE A NEW
FILESYSTEM, just set the first and last block numbers. "q[uit]",
"i[nstall]" the changes, then run `divvy` again. Look at the "Type"
column. If you've found the start of the divvy area, your division
number 0 should give a filesystem type like "EAFS" or "HTFS". If it
says "NON FS" then you probably have the wrong start block.
You didn't say whether this is the root disk or a secondary disk. If
it's the root, the typical layout made by ISL looks like this:
division 0 boot (EAFS)
division 1 swap (NON FS)
division 2 root (HTFS)
If you haven't found the first filesystem, you need to use `badtrk -e`
to set the badtrack table size back to the original size. This number
isn't stored anywhere, but the default for IDE drives is 15 tracks. I'm
not sure what the default is for SCSI drives (I think it varies with
drive geometry). Hopefully you remember the original value.
Once the badtrack table size is restored, then you probe again with
`divvy`. It will have reset the divvy table to blank again. You make
another test division starting at 0, then see if it comes up with a
sensible filesystem type. (Remember that `divvy` does not recheck
filesystem types until you exit and re-enter.)
Once you find the beginning of a filesystem, set its end block to the
highest block number `divvy` will allow. Run `df -vk /dev/fs` (where
/dev/fs is the name you gave it). This tells you the size of the
filesystem in 1K blocks, which is what `divvy` uses. Now set that
division's end block to (start + size - 1). Start a new division on the
next block and do the process again.
If it's a root disk, you'll need to get past the swap area. Default
suggested sizes for swap have varied in different releases. It will
probably be at least the size of the system's memory at the time of ISL
(which may not be the same as now), and won't be any larger than 4GiB
(i.e. 4194304K). `fsrd` might be particularly useful for jumping past
the swap space gap.
>Bela<