Question: It has been my belief that one of the nice features of the original Atari ST is that it has support "out-of-the-box" for a hard disk drive connected via its built-in ACSI port- similar to the way you can connect an external SCSI drive to a Macintosh Plus and have it just work.

However, I see a lot of information online about hard disk driver software for the Atari ST. This usually comes with complicated caveats regarding TOS versions and HDD partitioning.

*Question*: Can a bare stock, original Atari 520ST, with TOS 1.0x ROM, boot from a connected hard drive, without any special boot floppy or 3rd party driver?

Assuming the answer is affirmative, what limitations are there with such a setup? And which 3rd party driver(s) or special partitioning software should be used to best overcome the limitations?

Answer: 
All models of the Atari ST1 had code in ROM to attempt to read and run a boot sector from the first sector an ACSI2-attached drive. The bootloader3 contained in that sector would4 load the hard disk driver from a known file5 in the hard drive's root directory6. This program would install the full hard disk driver and boot would proceed normally using the hard drive's root directory, `AUTO` folder, etc.

1 The very first version of the 520ST loaded TOS from floppy disk. I am unsure of how it behaved when presented with a hard-drive at boot time.

2 ACSI was very closely related to SCSI, [see here for details](https://temlib.org/AtariForumWiki/index.php/ACSI,_SCSI_and_IDE). All of the hard drives I used on the Atari ST/TT were natively SCSI with a small adapter (ICD Link 2, about 2×4×6 cm IIRC) placed inline between the ST's ACSI port and the SCSI cable. Later models such as the TT used SCSI natively and booted directly from their internal hard drive; the TT provided both ACSI and SCSI-2 ports on its back panel. The Falcon was a bit different; it used an internal IDE bus (PIO, no DMA) and an external (DMA-capable) SCSI-2 port (no ACSI port was provided).

3 The bootloader would be installed onto the hard drive using a stand-alone utility, typically named `HINSTALL.PRG`.

4 Based on a combination of my recollections and the [info on this page](https://temlib.org/AtariForumWiki/index.php/AHDI). AFAICR I haven't used a hard drive with any 520ST model only the 1040STf (early, TOS 1.0), 1040STe (TOS 1.62 or 2.06, forget which), and TT030 (TOS 3.x) models.

5 Originally this was `SHDRIVER.SYS` (for SH204, SH205, and Megafile) and I believe was specific to the drive's controller board. I used the third-party `ICDBOOT.SYS` (for a 40MB drive) and `SUPBOOT.SYS` (for a 720MB Supra drive) on my drives. I don't recall what the TT's internal drive used (the driver may have been built into the TT's version of TOS).

6 One could also install the hard disk driver by placing the driver (`AHDI.PRG`) in the `AUTO` folder of one's normal boot (floppy) disk. The `SHDRIVER.SYS` file is simply a renamed copy of this program.
> 
> Question: Can a bare stock, original Atari 520ST, with TOS 1.0x ROM, boot from a connected hard drive, without any special boot floppy or 3rd party driver?
> 
> 
> 

Yes, as long as it's fitted with a proper partition/boot sector and hard disk driver (usually AHDI.SYS).

> 
> Assuming the answer is affirmative, what limitations are there with such a setup? And which 3rd party driver(s) or special partitioning software should be used to best overcome the limitations?
> 
> 
> 

There are none, just many ways to screw it when tinkering. Let's look how the Atari ST boot works:

* Look at the first Floppy (Drive A:) for an executable sector at Side 0, Track 1, Sector 1
	+ If one is found, go ahead and execute it
* If none is found check the AHCI drive (HD) for a a partition sector (again at logical sector 0
	+ If one is found, check if executable
	+ If executable, then do so
* If neither worked, bring up the default desktop, optional with a DESKTOP.INF if found on Drive A: (no matter if bootable or not)

Looks straight forward, so where do all these 'Drivers' come into play?

Well, they need to be loaded from disk, either Floppy or HD. On a properly initialized HD, the partition/boot sector contains a loader which loads AHDI.SYS (or whatever 3rd party to be used), which in turn hooks the RWABS vectors - Read or Write ABSolute (IIRC) - the OS vector to read a block from any device.

So in theory it would as well be fine if the driver is loaded from Floppy by some automated or manual process - except, the DOS layer only adds a C drive to the list of drives, if a proper partition/boot sector is found. Some drivers overcome this by 'informing' DOS independent of what it detected. That's also the way to install a new HD.

---

Follow up question: *So why are there so many problems reported?*

Simple answer: PEOPLE.

Possible issues are:

* Having a bootable floppy (still very common back then)
* Deleting the driver
* Having the HD not ready when turning the ST on makes the DISK invisible
* Changing Partitions without correcting the bootable signature
* and several more

Personally I never had any issue with an ST Hard drive. Neither the original SH20 nor third party.