Most likely the bluetooth support for your laptop is broken under linux. The bluetooth.service file contains
ConditionPathIsDirectory=/sys/class/bluetooth which means that systemd only tries to start the bluetooth daemon when the bluetooth module from the kernel is loaded which creates the above directory in sysfs. The bluetooth module is in turn only loaded by the kernel/udev when bluetooth hardware is detected. So the .service file behaves correctly as to only start the daemon when there is actual bluetooth hardware available. Could you check if the above reasoning is correct by first directly loading the bluetooth kernel module (modprobe bluetooth), which should create /sys/class/bluetooth and then trying to start the bluetooth daemon (systemctl restart bluetooth.service)? If that is the case the bug should be reassigned as a wishlist bug to systemd. If a condition for starting a service is not satisfied when a user explicitly tries to explicitly start it on the command line, it would be useful to report the reason for the startup failure to the user. This would significantly help a user to debug such an issue.