Message-ID: <000601c08057$13e41a40$027efea9@mpaul> From: "Matthias Paul" To: 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 Content-Type: text/plain; charset="Windows-1252" 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 Content-Transfer-Encoding: 8bit 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 http://www.rhrz.uni-bonn.de/~uzs180/mpdokeng.html ----------------------------------------