5

Why can my PC not boot FAT larger than 2GB (FAT32) in legacy mode, but FAT16 and NTFS work fine?

It just gives me a non-system disk error, while booting the same (DOS boot disk) files under FAT16 works fine. Can someone explain to me what's happening, or do I just have bad 32-bit formatting tools or a weird UEFI/BIOS. It's a SCSI drive by the way.

6
  • 1
    It could be for any number of reasons, but it's likely that the FAT32 disk you're trying to boot wouldn't be able to boot on any system. There needs to be an operating system properly installed on the disk for you to be able to boot from it. Hmm... another possibility is that your system isn't able to perform a legacy boot with SCSI drives, but then it wouldn't be able to attempt to boot from the drive at all. The "non-system disk error" would have to be about some other disk.
    – user722
    Nov 27, 2019 at 18:20
  • Thank you really much for your response. As I said, formatted as Fat16, the drive was able to boot from the same SCSI drive (legacy). I only booted NTFS in UEFI. I've read somewhere that Windows wouldn't create a proper mbr table on Fat32, is that correct?
    – Ciel Ruby
    Nov 27, 2019 at 18:37
  • 1
    You didn't actually say that, as you never said you were using the same disk. Anyways that just leaves the more likely possibility that you haven't properly installed an operating system on the disk. You can't just copy "(Dos boot disk) files" and get a bootable disk.
    – user722
    Nov 27, 2019 at 18:41
  • Oh, sorry then, I thought it was meant to be used that way, since I don't have a floppy drive... I guess I'll pair the drive with Hyper-V and create the Disk from there.
    – Ciel Ruby
    Nov 27, 2019 at 18:45
  • 1
    I recently saw an 8-Bit Guy episode that revealed that the standard "non-system disk" messages are actually being produced by code in the boot sector and vary depending on what OS formatted the disk. That might be useful for figuring out what's going on.
    – ssokolow
    Nov 28, 2019 at 8:08

1 Answer 1

8

My hypothesis is as follows:

  1. The last time you successfully formatted the drive to be bootable, you did it with something that only understands FAT16 booting, so it installed a boot sector that only knows how to hand off to FAT16 partitions.
  2. When you formatted for FAT32, you didn't properly ask for a bootable FAT32 partition, so you've got a boot sector that expects to boot a FAT16 partition that no longer exists.
  3. NTFS is irrelevant if the boot sector is the problem because UEFI booting bypasses the boot sector. (Bootloaders got much bulkier in the intervening years and legacy booting with bootloaders like GRUB already has to do a messy dance involving putting a tiny little stub in the boot sector that just knows how to load the real bootloader from a defined location on one of the partitions.)

Alternatively, maybe you didn't ask your partitioning tool to set the "boot" metadata flag in the MBR. I can't remember how strict old bootloaders are about expecting the boot partition to be a primary partition and flagged as "boot".

2
  • 1
    @KevinCrans You don't necessarily need to go that far. How did you try to create the FAT32 partition? (eg. Did you try using a Win9x version of SYS to make it bootable? Did you use fdisk's "Set active partition" option to make sure it's got the right flags?)
    – ssokolow
    Nov 29, 2019 at 20:11
  • That's a good idea. I used windows 10, "fat32 format", it all didn't work and yes I entered "active" in the cmd. Oke, I'm gonna use windows 9x and do just a 4gb format and see how that works out.
    – Ciel Ruby
    Nov 30, 2019 at 16:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .