Hi Carol Haynes,
well the way I see it is this: You (I, rather)
can have any number of primary partitions on a hard disk, that you (I) like. But you are (I am) limited to
mention a maximum of 4 of those inside the master boot record's partition table. The laptop that I used when starting to experiment, has got today a total of 20 primary partitions, including
one extended partition. On that I have 21 logical drives. I have written a batch file that makes use of the following include file:
/* RECORDS.R */
/* edited by Wolfgang Bernady */
/* -------- Primary Partitions ------------------------------------------ */
primary:
Password = "01 01 00 06 EF 3F 00 3F 00 00 00 D1 3A 00 00"
BootMan = "00 01 01 06 EF 3F 01 10 3B 00 00 10 3B 00 00"
BootCD = "00 01 02 06 EF 3F 02 20 76 00 00 10 3B 00 00"
Zyl_03 = "00 01 03 06 EF 3F 03 30 B1 00 00 10 3B 00 00"
Zyl_04 = "00 01 04 06 EF 3F 04 40 EC 00 00 10 3B 00 00"
Boot50 = "00 01 05 06 EF 3F 05 50 27 01 00 10 3B 00 00"
Boot622 = "00 01 06 06 EF 3F 06 60 62 01 00 10 3B 00 00"
Boot710 = "00 01 07 06 EF 3F 07 70 9D 01 00 10 3B 00 00"
Win311 = "00 01 08 06 EF 3F 0F 80 D8 01 00 80 D8 01 00"
Zyl_16 = "00 01 10 06 EF 3F 17 00 B1 03 00 80 D8 01 00"
Zyl_24 = "00 01 18 06 EF 3F 1F 80 89 05 00 80 D8 01 00"
Zyl_32 = "00 01 20 06 EF 3F 27 00 62 07 00 80 D8 01 00"
Zyl_40 = "00 01 28 06 EF 3F 2F 80 3A 09 00 80 D8 01 00"
Zyl_48 = "00 01 30 06 EF 3F 37 00 13 0B 00 80 D8 01 00"
Booter = "00 01 38 06 EF 3F 3F 80 EB 0C 00 80 D8 01 00"
Boot = "00 01 40 06 EF 3F 47 00 C4 0E 00 80 D8 01 00"
MiniWin = "00 01 48 06 EF 3F 8C 80 9C 10 00 50 EB 0F 00"
Internet = "00 01 8D 06 EF 7F 16 D0 87 20 00 A0 D6 1F 00"
Erweitert = "00 41 17 0F EF FF FF 70 5E 40 00 D0 CE D7 01"
SaveToDisk = "EF FF FF A0 EF FF FF 40 2D 18 02 30 62 04 00"
return
/* -------- Logical Partitions ------------------------------------------ */
logical:
Dateien = 4218480
E = 5624640
F = 5639760
G = 5654880
H = 5670000
I = 5685120
J = 5700240
K = 5715360
L = 5730480
M = 5745600
N = 5760720
O = 5775840
P = 5790960
Q = 5806080
Werkbank = 5821200
Win98 = 7907760
Spiele = 9994320
Erwin = 12080880
Freigabe = 14167440
Goodies = 16254000
Hilfe = 33052320
return
/* ---------------------------------------------------------------------- */
The first section is a collection of those 15 bytes per partition that I need to remember to mention it in the MBR. My little tool can be called like this
patchmbr 1 Boot710 Leer Erweitert SaveToDisk
I this example it will take the strings from the variables Boot710, Leer, Erweitert, SaveToDisk (as defined in records.r), then prepend "80 " to the string No 1, then prepend "00 " to the other strings. Finally it calls DEBUG.EXE to update the MBR using redirection, like this:
"debug < %TEMP\$debug$.dbg > NUL"
Please note that I use 4DOS (open source, freeware) as a primary shell, so this is a valid syntax. I hope I make any sense. I have not translated any variable names from the code to English, but that should not be a problem, I think.
Greetings
Wolf