Dead partition on drive

We are still using solaris 1 with sunos 4.1.4 because nobody here knows Unix.
My colleague did a backup (dump) to the wrong place (/dev/sd0h) and we lost this part of the drive. The information is still on tape but we cannot repartition the /dev/sd0h. fsck keeps on about the "wrong SUPER BLOCK" and newfs answers with "not a raw device". We don't want to rebuild the whole system. In current UNIX and LINUX, there might be easy wayd but this system works like it's 1995. PLEASE HELP

Are you running UFS? and if you are do you have a list of alternate superblocks? This list is output when the filesystem is first created. If you do, you can run the command

fsck -F ufs -y -o b=<number of alt superblk> raw_device

Block 32 is always an alternate superblock.

Also, if the mkfs/newfs command was run with default options, it will create alternate superblocks in the same disk blocks. So, you can create a new filesystem on a UAT/Dev system and see the list of superblocks that is shown and maybe use a block number listed there.

I'm not sure if this will work on a version of SunOS as old as you have, but in solaris 2.6 or so on up there is the newfs command. You can do

newfs -Nv /dev/rdsk/c0t0s0d0 (or whatever device your dead filesystem is)

and it will tell you the commands newfs would run and the output of them. The -N switch tells it NOT to create the filesystem, just to do a "dry run" and show you the results.

This may be a much easier way to get the alternate superblock information. Try a man newfs and see if you have that available to you.

Here is what I get when running it on the root filesystem of my workstation:

krypton# newfs -Nv /dev/rdsk/c0t0d0s0
mkfs -F ufs -o N /dev/rdsk/c0t0d0s0 76055280 255 16 8192 1024 229 1 90 8192 t 0 -1 8 16 n
/dev/rdsk/c0t0d0s0: 76055280 sectors in 18641 cylinders of 16 tracks, 255 sectors
37136.4MB in 717 cyl groups (26 c/g, 51.80MB/g, 6400 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 106368, 212704, 319040, 425376, 531712, 638048, 744384, 850720, 957056,
Initializing cylinder groups:
..............
super-block backups for last 10 cylinder groups at:
74999360, 75105696, 75212032, 75318368, 75424704, 75531040, 75637376,
75743712, 75850048, 75956384,