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. <EOS>