Hi Arkady,

> JH> However, it then issues two IO errors (>1023 cylinders) and dies in
>
>      This mean something wrong with disk geometry. For example, you
> partition disk not when LBA-mode was enabled or BIOS doesn't supports
> LBA-translation (when disk geometry parameters are adjusted so, that BIOS
> clients get cylynder numbers below 1024).
>
> JH> Is there any way to fix this "too many cylinders" problem,
>
> 1. Backup contents of questioned disk.
> 2. Remove (by FDISK) from disk all partitions.
> 3. Reboot and ensure, that in BIOS setup turned on LBA mode.
> 4. Repartition disk (by FDISK or somethink like Partition Magic).
>
> After this there should be all fine.

It should be possible to do this A LOT easier.
1. Backup important data, of course
2. use a GOOD partition editor (not MS FDISK... preferrably something
    with a reasonable user interface and something which you are good
    at using, but actually even Linux FDISK will be good enough...) to
    change the partition type to LBA
3. Reboot. The rest should fall into place correctly now.

List of common partition types:
  05h    DOS 3.3+ extended partition
  06h    DOS 3.31+ Large File System (16-bit FAT, over 32M)
  07h    Windows NT NTFS (always LBA mode if BIOS supports LBA)
  0Bh    Windows95 with 32-bit FAT
  0Ch    Windows95 with 32-bit FAT (using LBA-mode INT 13 extensions)
  0Eh    logical-block-addressable VFAT (same as 06h but using LBA-mode)
  0Fh    logical-block-addressable VFAT (same as 05h but using LBA-mode)

  17h    hidden NTFS partition
  1Bh    hidden Windows95 FAT32 partition
  1Ch    hidden Windows95 FAT32 partition (using LBA-mode)
  1Eh    hidden LBA VFAT partition (as 0Eh but hidden)

Hidden means that DOS / Windows will not assign a drive letter
to the partition while it is hidden. Useful to "disconnect"
drive letters, for example those of recovery partitions or for
multi-boot purposes.

The "cylinder > 1024" error message can have 2 causes:

1. you have no diskette drive and you are using an old
    version of the "2035 unstable" kernel. Then the kernel
    will treat the harddisk as A: because there is no other A:,
    and diskettes are always non-LBA. FreeDOS beta9sr2 has this bug.

2. Your partition is inside a type 05 partition which should have
    been 0F, or it is a partition of type 0B or 06 while it should
    have been 0C or 0E. In other words, your partition extends past
    the first 1024 cylinders but somebody forgot to mark it as LBA.

It is easy to fix 2. with a tool like Linux fdisk, but it is also
very easy to break your whole partitioning scheme while attempting
to fix 2. with an unsuitable tool or by making an error when
working on the partitioning scheme. Then it helps to have a backup
of your master boot record and a tool which can write that backup
back to disk... and probably a backup of all other partitioning
data and all boot sectors. The simplest solution is probably not to
make an error while changing the partitioning :-).

To fix 1., either add a diskette drive to your computer or
update your FreeDOS kernel to either 2036 or to a newer
version of the 2035-unstable kernel (which should more
appropriately be called 2037-prerelease or similar...).

Eric



_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to