I have 2 hard drives on my system.  One (my main drive) has an
 MS-DOS  slice (naturally the first slice) and  3  FreeBSD  slices.
The other drive had 1  OS2  slice (just because an  OS2 CDROM  was used
to slice it up) and 1  MS-DOS  slice.  At one time, I was thinking of
putting the boot program on the second hard drive, and may have done
it with the  CDROM  of  FreeBSD 4.7 .  Recently, while I was running
 MS-DOS  and processing e-mail (trying to remove an attachment from
a letter in order to save it in the  MS-DOS  slice on the second hard
drive) through  juno.com , I discovered that the  MS-DOS  slice on this
second hard drive was hosed (naturally, that discovery could only be
made while running  MS-DOS ), and verified that fact by trying to go to a 
directory on that second drive.   MS-DOS  didn't go there but complained, and 
following that I couldn't see anything on that second drive.
        To investigate this, I rebooted into my  FreeBSD 4.3  slice and
found that the  slice-table  (often called "partition-table") on the second 
drive was identical to that of the first drive.  In fact, when I tried  fdisk  
on each drive, I found the results identical except for the size (# of 
cylinders) of the drives.  Originally, the second drive's  fdisk  results 
stated 3 heads and some sectors per cylinder (but I don't recall how many).  I 
conclude that there is a strong possibility that only the  slice-table  sector 
has been copied (from the first drive), though I have no idea how this could 
have happened (though I consider the possible putting of the boot program on 
the second hard drive as possibly contributory).  Does anyone have any idea of 
how this can happen?  Has anyone seen this or the like before?
        I also conclude that there is a strong possibility that the rest of the 
second disk (i.e., my data on it) is okay, and if I can rebuild the  
slice-table  then I can recover the rest of the disk and all my data.  I think 
I can do this if I can get the following things/information:
                1)      is there a duplicate of the  slice-table 
                        somewhere on the disk, and if so, where is it,          
                and how can I examine it rather than the                        
        primary  slice-table ,
                        and is there a way to have its contents replace
                        the contents of the primary  slice-table ,
                2)      is there a program that can look at a(n entire)         
                disk and break it up into contiguous sectors                    
        that belong to particular systems (in my case                           
OS2  or  MS-DOS ), {I would be willing to write                         such a 
program if someone would tell me how to                          read sectors 
without a  slice-table  [say with                          just an  LBA  
number] and how to recognize                              whether a sector 
belongs to  OS2  or  MS-DOS ,                          and any timing 
constraints for reading/writing                          cylinders [e.g., usual 
timing for getting a                             read/write head to cylinder  0 
, the time
                        to move between cylinders, etc.], if such               
                constraints exist [maybe we have fixed heads                    
        and so no timing constraints]},
                3)       FreeBSD  programs (or  Linux  programs or              
                 MS-DOS  programs if  FreeBSD  programs aren't                  
        available) that can read any sector given its                           
 LBA  number or the like [somewhat like  fdisk                          
reads/writes of sector  0 ], what could be                              really 
useful [if I have to rebuild files] is a                         program that 
reads a range of sectors and                               greps  its contents, 
reporting the  LBA 
                        number [and some contents] of those sectors             
                that pass the  grep  test,
                4)      the structure of the  slice-table's  sector and 
                        of the  slice-table  and  FreeBSD  programs             
                that can write specific values (given as                        
        arguments [say in structures]) into the                                 
 slice-table  without affecting the contents of                         any 
other sector on that disk,
                5)      how to mark a  slice  "<UNUSED>",
                6)       FreeBSD  programs (or  Linux  programs or              
                 MS-DOS  programs if  FreeBSD  programs aren't                  
        available) other than  fdisk  that can write                            
the  slice-table's  sector (including its magic                         number 
and boot code) without affecting the                             contents of 
any other sectoron that disk,
                7)      how can I recognize sectors that were in a              
                slice assigned for  MS-DOS  usage, and/or is                    
        there a way of finding the "first" (i.e., one                           
with lowest  LBA ) and "last" sector assigned                           for  
MS-DOS  usage or used by  MS-DOS ,
                8)       FreeBSD  programs (or  Linux  programs or              
                 MS-DOS  programs if  FreeBSD  programs aren't                  
        available) software to rebuild files and                                
[Windows-98] directories from fragments (with                           human 
direction) [this is just in case there is                         more damage 
than I suspect at present,
                        I'm hoping not to need this one],
                9)      any caveats or information that would prove             
                useful in this endeavor.
        If I have to rebuild the  slice-table  from scratch, I presume that I 
can make any entries I wish in the  slice-table  and then look at the contents 
of the  slices  to see if they are what I would like to find there and 
appropriately change the  slice-table  until I find it set up as it was before. 
 Anything wrong with my presumption?
        If I succeed in this, I'm thinking of publishing an article on how to 
recover from this sort of problem.

         uname -a  for my system gives:
FreeBSD  4.3-RELEASE FreeBSD 4.3-RELEASE #0: Sat Apr 21 10:54:49 GMT 2001 
[EMAIL PROTECTED]:/usr/src/sys/compile/GENERIC  i386


_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to