A method for enrolling a computing device with a management server of an Enterprise Mobility Management, EMM, system on first boot of the computing device, comprising: accessing, on first boot of the computing device, a fixed Advanced Configuration and Power Interface table, ACPI table, that resides in firmware of the computing device and that is always present before an operating system is loaded; executing a bootstrap loader that resides in the ACPI table, the bootstrap loader initiating an enroller, wherein the enroller is configured to connect to the management server and retrieve additional resources that may change or do not fit within the firmware; establishing communication over a network between the enroller and a vendor server at a first address, wherein the vendor server provides a second address for the management server in an instance the computing device is managed by the management server; locating a management agent based on the enroller contacting the second address; receiving the management agent from the management server; and installing the management agent prior to the operating system allowing a user to log in, the management agent implementing policies defined at the management server; wherein the enroller updates itself, in an instance that the enroller is not up to date, by downloading an updated enroller from the management server; wherein the updated enroller has updated functionality over the enroller based on a version of the operating system that is being loaded by the computing device; wherein the vendor server is a server operated by a manufacturer or vendor of the computing device; and wherein the management server is a server in the EMM system and takes control of the computing device before the operating system loads. accessing, on first boot of the computing device, a fixed Advanced Configuration and Power Interface table, ACPI table, that resides in firmware of the computing device and that is always present before an operating system is loaded; executing a bootstrap loader that resides in the ACPI table, the bootstrap loader initiating an enroller, wherein the enroller is configured to connect to the management server and retrieve additional resources that may change or do not fit within the firmware; establishing communication over a network between the enroller and a vendor server at a first address, wherein the vendor server provides a second address for the management server in an instance the computing device is managed by the management server; locating a management agent based on the enroller contacting the second address; receiving the management agent from the management server; and installing the management agent prior to the operating system allowing a user to log in, the management agent implementing policies defined at the management server; wherein the enroller updates itself, in an instance that the enroller is not up to date, by downloading an updated enroller from the management server; wherein the updated enroller has updated functionality over the enroller based on a version of the operating system that is being loaded by the computing device; wherein the vendor server is a server operated by a manufacturer or vendor of the computing device; and wherein the management server is a server in the EMM system and takes control of the computing device before the operating system loads.