Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!mailrus!tut.cis.ohio-state.edu!bloom-beacon!gatech!udel!princeton!siemens!jrv From: jrv@siemens.UUCP (James R Vallino) Newsgroups: comp.sys.ibm.pc Subject: Re: Removing non-DOS partition Message-ID: <527@siemens.UUCP> Date: 25 Apr 88 13:43:32 GMT References: <290@unisv.UUCP> <1479@edison.GE.COM> Reply-To: jrv@siemens.siemens.com (James R Vallino) Organization: Siemens RTL, Princeton, NJ Lines: 38 The structure of the partition table is shown in the IBM Technical Reference. The table is stored in the first sector of the hard disk. Removing an unwanted partition is a fairly simple process using DEBUG. Here is the procedure which I used when I had the same type of problem: 1. Read the boot record/partition table into memory. Assemble the following program in memory using DEBUG and run it to the nop: mov ah,2 ;ah = 2 read disk, 3 write disk mov dl,80 ;dl = 80 - 81 for first or second hard disk mov dh,0 ;head 0 mov cx,1 ;cylinder 0 sector 1 mov al,1 ;read/write 1 sector mov bx,200 ;es:bx => data buffer for read/write operations int 13 ;do the disk operation nop ;run program to this point 2. The partition table will start at offset 3be if the data buffer is 200 as above. Data for the four partitions start at: 3be partition 1 (offset 1be in sector) 3ce partition 2 ( 1ce ) 3de partition 3 ( 1de ) 3ee partition 4 ( 1ee ) 3fe 55 AA (these two bytes must end the boot record) To wipe a partition off the face of the disk zero all the bytes in its area of the partition table. 3. After modifying the partition table change the program above so that AH is set to 3 (write disk), hold your breath, and run it again to write the modified partition table to disk. -- Jim Vallino Siemens Research and Technology Lab.,Princeton, NJ CSNET: jrv@siemens.siemens.com UUCP: {ihnp4,philabs,seismo}!princeton!siemens!jrv