From owner-freebsd-questions@FreeBSD.ORG Sun Sep 18 18:27:29 2005 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1FC5716A41F for ; Sun, 18 Sep 2005 18:27:29 +0000 (GMT) (envelope-from modelt20@canada.com) Received: from canada.com (smtp-4.vancouver.ipapp.com [216.152.192.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id D0CB243D49 for ; Sun, 18 Sep 2005 18:27:28 +0000 (GMT) (envelope-from modelt20@canada.com) Received: from canada.com ([216.152.192.56]) by smtp-3.vancouver.ipapp.com ; Sun, 18 Sep 2005 11:27:16 -0700 Sender: modelt20@canada.com From: "Boris Karloff" To: dgmm ,freebsd-questions@freebsd.org X-Mailer: Quality Web Email v3.1m, http://netwinsite.com/refw.htm X-Originating-IP: 24.208.85.39 Date: Sun, 18 Sep 2005 13:27:16 -0500 Message-id: <432db184.a9.4b7d.6720@canada.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Country: CA Cc: Subject: Re: what was it ? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Sep 2005 18:27:29 -0000 >On Sunday 18 September 2005 12:34, dick hoogendijk wrote: >> I'm building an old msdos machine for a little kid (very nostalgic). >> But I seem to rememeber that there was an issue about the space of the >> harddrive. Some kind of limit I don't remember. How large can a ms-dos >> partition be? >How old? >32MB is one number which comes to mind from MS-DOS 3.2 days. >I've just repaired an old PC for a friend (Pentium 133MMX). While testing, I >used an old 10GB HDD I had lying around. The BIOS would only see it as 8GB >It didn't understand the existing 10GB bootable Win98 partition/OS on it. >-- >Dave When IDE drives were first introduced, they stored information in CMOS as to their size. Sectors were always 512 bytes in size, and they were limited to 1024 cylinders, 255 heads and 63 sectors. Multiplying this out, you get about 504Mb (some manufacturers claimed 528Mb, because they were counting a megabyte as 1,000,000 bytes instead of the programming standard of 1,048,576 bytes). To break this barrier, Logical Block Addressing (LBA) was instituted about 1994. Some refer to this as int13 extensions, because it translated cylinder, head and sector (CHS) values to 28 bit values. This translated value was then used to map the location on the hard disk. MS DOS and Windows 3.1 used FAT16 architecture, which was unable to address a partition larger than 2Gb (2047Mb). Windows 95 was originally released with this limitation also. Since there are exactly 4 primary partitions on any hard disk, this limited the size of the hard disk to 8Gb (some called this the 8.4Gb barrier). About 1998, Windows 95(B) and later changed to a FAT32 architecture. In theory, this should be able to address 2 Terabytes, but BIOS limitations with int13 limited this to 8.4Gb per partition. This created a limitation of about 32Gb (some manufacturers refer to this as a 37Gb limit). For the most part, however, Windows 95(B), Windows 98 and Windows Me could not efficiently use even 32Gb, since the minimum space allocated for a file was also increased, and the time to calculate the free space at startup and retrieval slowed with increasing size. Windows 2000 claimed to be built on Windows NT, but it recognized FAT32 as well as NTFS (Windows NT4.0 did not recognize FAT partitions). As a result, it was easy to set up Windows 2000 with really sluggish behavior (thus the phrase 'Windoze'). BIOS programmers then applied LBA technology to newer drives, and drives larger than 32Gb were now available for Windows. This adaptation allowed drives as large as 128Gb to be used (137Gb barrier). However, a limitation of FAT32 prevented a single file from being larger than 4Gb. Starting with Windows NT, and the default in Windows XP is the NTFS file system; which addresses some of these limits. These use a 32 bit architecture, which places the limits in the 2 Terabyte range. Other limitations prevent this from being realized, however. To answer the question originally placed: Early versions of MSDOS cannot utilize a drive larger than 2Gb (4 partitions of 504Mb). MSDOS 5 and 6 could handle drives up to 8.4Gb (4 partitions of 2047Mb). Old machines that only run MSDOS usually have a BIOS limitation hard wired, but using LBA helps if available. Many old computers with these limitations will not recognize a drive larger than 8.4Gb at all. Generally, if the computer relies on int13 extensions, a drive larger than 8.4Gb will not be detected during powerup, and 'no bootable drive present' is reported. This, of course, assumes you are using an IDE drive, not one of the other variants that MSDOS was notorious for (like ESDI,MFM or RLL). Using a SCSI controller allowed larger drives to be used, but still FAT16 couldn't address larger partitions. The question to ask you is: WHY would you want to use MSDOS?????? FreeBSD 4.11 has minimum hardware requirements that rival most DOS systems, and its more stable, more robust, and more powerful. WHY perpetuate the arcane in the new generation????? Encourage your youth to learn a real OS (like BSD) from the start. Harold. ---------------------------------------- Upgrade your account today for increased storage; mail forwarding or POP enabled e-mail with automatic virus scanning. Visit http://www.canada.com/email/premiumservices.html for more information.