delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/2001/01/17/02:29:47

Message-ID: <000601c08057$13e41a40$027efea9@mpaul>
From: "Matthias Paul" <Matthias DOT Paul AT post DOT rwth-aachen DOT de>
To: <opendos AT delorie DOT com>
References: <01c07e3b$e2263960$125db7d4 AT default>
Subject: Re: fat32 in Dr-DOS
Date: Wed, 17 Jan 2001 02:18:42 +0100
Organization: Rechenzentrum RWTH Aachen
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
X-MIME-Autoconverted: from 8bit to quoted-printable by nets5.rz.rwth-aachen.de id f0H7Sfm22723
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id CAA00865
Reply-To: opendos AT delorie DOT com

On 2001-01-14, Florian Xaver posted Willy-Billyīs question:

[FAT32 booting with DR-DOS 7.04/7.05]

> after several trials i found out, that 7.05 alredy contains the
> fat32-driver.

Yes, OEM DR-DOS 7.04/7.05 supports FAT32 & LBA natively,
but the actual implementation is not based on the DRFAT32.SYS/
.EXE redirector solution.

> When I booting DR-DOS 7.05 from diskette I can really work
> with FAT32 partitions. But, if I transferring system to HDD
> (use SYS ) and rebooting, I reading message: "Cannot load DOS!
> Any key to retry". Why???

As Ben Jemmett already pointed out, if you try to boot off a FAT32
volume, the boot sector on the FAT32 drive must be capable of
loading the DR-DOS IBMBIO.COM file from a FAT32 partition.
The standard DR-DOS 7.03 boot sector is not designed to do this.
The same applies to boot sectors written by the DR-DOS 7.03
FDISK when it creates FAT32 partitions. The DR-DOS 7.03 SYS
or FORMAT /S do not know anything about FAT32. If the boot
sector cannot find the IBMBIO.COM file, it issues the message

 "Cannot load DOS! Any key to retry."

Patching a Windows 9x boot sector is not possible because
of the slightly differing boot methods and register interfaces:
MS-DOS (6.xx) boot sectors check that both IO.SYS and
MSDOS.SYS files exist, and then load the first sector of the
IO.SYS file. PC DOS boot sectors look for IBMBIO.COM
and IBMDOS.COM instead.
The DR-DOS boot sector, however, only searches for the
IBMBIO.COM (DRBIOS.SYS) file and then load the *whole*
file into memory before it passes control to it. (For almost the
same reason, Windows 9x dual boot refuses to load DR-DOS
when selecting "Old MS-DOS version" in the boot menu by
checking an undocumented signature in the kernel file -
although it would have been trivial for them to support the
DR-DOS family as well, BTW.)
This is why patching the Windows 9x boot sector would
not solve the problem for DR-DOS 7.04/7.05, because
IBMBIO.COM would still not know how to load
IBMDOS.COM (DRBDOS.SYS) - mind, that the filesystem
(FDOS) is part of the BDOS kernel, which is located in
IBMDOS.COM, not IBMBIO.COM. A hen-egg problem... ;-)
Well, future issues of DR-DOS IBMBIO.COM could
(and should!) be made compatible with both methods.
Easy - but it does not help us any further at the moment...

Iīm not sure if  Ontrackīs Easy Recovery comes with a
FAT32 compatible boot sector to boot DR-DOS. If it
does, this could be easily extracted and used.

The obvious solution for now is to boot DR-DOS 7.04/7.05
from a FAT12/16 partition (either on floppy or on hard disk).

There is a related scenario, which keeps many people from
booting DR-DOS 7.04/7.05 off harddisks even if drive C:
*is* formatted as FAT16 on their systems:

This is because the OEM kernel defaults to change the order of
volumes when it logs in the partitions. It first logs in the logical
drives in an extended partition on all physical drives, and then
the active primary partitions. (Interestingly, the code to log in
the primary partitions *prior* to the logical drives in extended
partitions is *not* changed compared to the DR-DOS 7.03 kernel.)
Effectively, IBMBIO.COM looks on the "wrong" volume to find
the IBMDOS.COM file and emits the error message

"Canīt load BDOS kernel file: ?:\IBMDOS.COM"

whereby ?: represents the drive letter where the file is expected
(normally this is C:, but mind, that DR-DOS 7.02 have had the
capability to boot off any drive, not just A: or C:).

Itīs easy to work around the problem by placing the IBMDOS.COM
file in the root of the partition where IBMBIO.COM expects it according
to the changed order of drives. The actual drive letter depends on the
partitioning, the number of physical drives, and the physical boot unit,
but itīs easy to find out by applying the "new" rules to the given
configuration, or just by trying out.
Assuming a boot drive C: (on physical unit 80h now), the file must be
placed on the first logical FAT12/16 volume in the first extended
partition on the first non-removable physical drive. Looking at
the tables DR-DOS FDISK displays, it should be easy to find the
correct partition.

[NWCACHE & DR-DOS 7.04/7.05 FAT32]

BTW. In one of my technical articles last year I wrote that
NWCACHE could not cache FAT32 volumes under DOS
because they use the DOS 7.10 "Extended Absolute Disk Read/Write"
interrupt INT 21h/7305h.
This is true for the DRFAT32.SYS/.EXE solution, but not for the
DR-DOS 7.04/7.05 kernel:
DR-DOS 7.04/7.05 still uses the traditional INT 25h/INT 26h for
"Absolute Disk Read/Write" and thus NWCACHE has no problems
to cache such FAT32 volumes.

 Matthias

----------------------------------------
Matthias Paul, Ubierstrasse 28, D-50321 Bruehl, Germany
<Matthias DOT Paul AT post DOT rwth-aachen DOT de> <mpaul AT drdos DOT org>
http://www.rhrz.uni-bonn.de/~uzs180/mpdokeng.html
----------------------------------------




- Raw text -


  webmaster     delorie software   privacy  
  Copyright Đ 2019   by DJ Delorie     Updated Jul 2019