cambridgeisb.com
Menu

linux disable all devices for faster boot: 5 Fast Secrets

Linux boot times can stretch from seconds to minutes depending on how many devices your kernel initializes during startup. If you want to linux disable all

Linux boot times can stretch from seconds to minutes depending on how many devices your kernel initializes during startup. If you want to linux disable all devices for faster boot, the first step is understanding where the time actually goes.

According to systemd's official documentation, device initialization and probing often account for a significant portion of total boot time on systems with multiple controllers and peripherals. The problem many Linux users face is that their systems load drivers and initialize hardware they never actually use — extra USB controllers, unused SATA ports, legacy serial devices, and more.

This article covers five practical methods to disable unnecessary devices, measure your boot time improvements, and avoid the pitfalls that can leave your system unbootable.

Understanding What Slows Down Your Linux Boot

Device initialization happens in stages during boot. The kernel probes hardware buses, loads matching drivers, and waits for devices to respond. Each step adds latency. A system with a PCIe NVMe drive, three USB controllers, onboard audio, a fingerprint reader, and Bluetooth may spend several seconds just waiting for devices that are never used.

The Linux kernel's own documentation on boot time optimization notes that asynchronous device probing and deferred driver loading can reduce total initialization time. However, the most direct approach is simply disabling devices you do not need. This prevents the kernel from spending time on them entirely, which is the core idea behind linux disable all devices for faster boot.

To see what is actually slowing your boot, run:

systemd-analyze blame

This command lists every service and device unit with its initialization time. You will often see entries like dev-sda2.device, sys-devices-pci0000:00-0000:00:14.0-usb1, or bluetooth.service consuming hundreds of milliseconds each.

How to apply this: Run systemd-analyze blame and systemd-analyze critical-chain now to identify your top five slowest device initializations before making any changes.

Method 1: Disable Unused Kernel Modules

The most common way to linux disable all devices for faster boot is blacklisting kernel modules. When you blacklist a module, the kernel skips loading it entirely. This works for drivers that are compiled as loadable modules rather than built directly into the kernel.

A common scenario: you have a laptop with a Realtek Ethernet controller but you only ever use Wi-Fi. The r8169 module still loads during boot, probing the Ethernet hardware and adding time. Blacklisting it eliminates that delay.

To blacklist a module, create a file in /etc/modprobe.d/:

sudo nano /etc/modprobe.d/blacklist-unused.conf

Add entries like:

blacklist r8169
blacklist bluetooth
blacklist btusb
blacklist snd_hda_intel

After editing, rebuild your initramfs so the blacklist applies during early boot:

sudo update-initramfs -u

On Arch Linux, use sudo mkinitcpio -P instead.

According to the Linux kernel documentation, module loading is sequential by default. Each module's init function runs before the next module loads. Removing five or six unused modules can save measurable time on systems where those modules are slow to initialize.

How to apply this: List currently loaded modules with lsmod, identify ones for hardware you never use, and blacklist them one at a time with a reboot between each change.

Method 2: Disable Devices at the BIOS/UEFI Level

The most effective place to linux disable all devices for faster boot is in your firmware settings. When you disable a device in BIOS/UEFI, the kernel never sees it. No driver loads, no probing occurs, and no time is wasted.

Enter your BIOS/UEFI by pressing a key during boot — typically F2, Del, F10, or Esc depending on your motherboard. Look for sections labeled Peripherals, Onboard Devices, or Integrated Peripherals.

Devices commonly safe to disable:

  • Onboard audio (if you use HDMI/DisplayPort audio or an external DAC)
  • Bluetooth controller (if you never use Bluetooth)
  • Fingerprint reader
  • Card reader
  • Extra SATA controllers
  • Serial/COM ports
  • Parallel ports
  • Legacy USB support (only if your OS supports native USB)

One case worth noting: a desktop workstation with an unused Intel Management Engine interface, two extra SATA controllers, and onboard audio disabled at the firmware level booted noticeably faster because the kernel skipped three separate PCIe device initializations.

The tradeoff is that BIOS-level changes require a reboot to reverse. If you disable the wrong device — such as your primary storage controller — you may need to reset CMOS to recover.

How to apply this: Enter your BIOS/UEFI, take photos of current settings with your phone, then disable one device category at a time and test boot after each change.

Method 3: Use Kernel Command-Line Parameters

The kernel accepts command-line parameters that control device initialization behavior. These parameters are passed by your bootloader (GRUB, systemd-boot, etc.) and take effect before any userspace code runs. They are a lightweight way to linux disable all devices for faster boot without touching firmware.

Key parameters for faster boot:

  • modprobe.blacklist=module1,module2 — blacklists modules at boot time
  • quiet — suppresses verbose logging that slows console output
  • loglevel=3 — reduces kernel message verbosity
  • acpi=off — disables ACPI entirely (extreme, breaks power management)
  • pci=noacpi — prevents ACPI from managing PCI devices
  • usbcore.autosuspend=-1 — prevents USB autosuspend delays

To add a parameter on GRUB, edit /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3 modprobe.blacklist=bluetooth,btusb"

Then run:

sudo update-grub

On systemd-boot, edit the loader entry in /boot/loader/entries/ and add the parameters to the options line.

The kernel documentation for kernel parameters lists hundreds of options. Many affect boot speed indirectly by changing how devices are probed or initialized.

How to apply this: Add quiet loglevel=3 to your kernel command line first — this alone often reduces perceived boot time by eliminating slow console output.

Method 4: Disable Unused systemd Device Units

systemd manages devices through unit files. You can mask or disable specific device units to prevent them from activating during boot, though this is less common than module blacklisting. This approach for linux disable all devices for faster boot targets individual units rather than whole drivers.

List all device units with:

systemctl list-units --type=device --all

Look for devices that are inactive or failed. You can mask them:

sudo systemctl mask sys-devices-platform-serial8250.device

Masking prevents the unit from ever starting, even if something else depends on it. This is more aggressive than disabling and can cause boot failures if a critical service depends on the masked device.

A safer approach is to use systemd-analyze to find which devices consume the most time, then investigate whether those devices are actually needed. The systemd documentation describes how to use systemd-analyze plot to generate an SVG visualization of your entire boot sequence.

How to apply this: Run systemd-analyze plot > boot.svg and open the file in a browser to see exactly which device units are consuming time during your boot.

Method 5: Disable Specific USB and PCI Devices Dynamically

Sometimes you cannot disable a device in BIOS and the module is built into your kernel. In these cases, you can unbind the device after boot using udev rules or a startup script. This is the fallback option when you need to linux disable all devices for faster boot but have no other lever available.

To unbind a PCI device, first find its address:

lspci

Then unbind it:

echo "0000:00:14.0" | sudo tee /sys/bus/pci/devices/0000:00:14.0/driver/unbind

For USB devices, use usb_modeswitch or write udev rules that disable specific ports. A udev rule like this disables a USB controller:

ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{device}=="0x1e31", ATTR{remove}="1"

Place this in /etc/udev/rules.d/99-disable-usb.rules.

This method is useful for devices that cannot be disabled any other way, such as a broken fingerprint reader on a laptop where the BIOS offers no toggle. The tradeoff is that the device is removed after boot rather than never initialized, so savings are smaller than BIOS-level disabling.

How to apply this: Use lspci -nn to get vendor and device IDs for hardware you want to disable, then create a udev rule to remove it automatically on every boot.

Comparing Boot Optimization Methods

Method Time Savings Risk Level Reversibility Best For
BIOS/UEFI disable Highest Low (with photos) Medium Unused onboard hardware
Module blacklisting High Low Easy Loadable drivers
Kernel parameters Medium Low Easy Verbosity and ACPI control
systemd masking Medium Medium Easy Specific device units
udev unbinding Low Low Easy Stubborn devices

BIOS/UEFI disable offers the highest time savings with low risk when you photograph settings first, though reversal is only medium difficulty. Among boot optimization methods, linux disable all devices for faster boot stands out because firmware-level changes beat kernel blacklists for raw speed.

Start with Bluetooth if you never use it, since the bluetooth and btusb modules load as modules and are easy to reverse. If you plan to linux disable all devices for faster boot, beginning with a removable module keeps your first experiment safe.

Frequently Asked Questions About linux disable all devices for faster boot

What is the safest device to disable first?

Start with Bluetooth if you never use it. The bluetooth and btusb modules are almost always loadable modules, so blacklisting them is reversible by deleting the blacklist file and rebuilding initramfs. Bluetooth initialization often involves firmware loading and power management setup, making it a common source of boot delay.

If you later need Bluetooth, simply remove the blacklist entry and run update-initramfs -u again.

Never disable your storage controller, GPU driver, or the USB controller hosting your keyboard, since root filesystem or display dependencies can break boot. Before you linux disable all devices for faster boot, confirm each candidate device is genuinely unused by checking kernel documentation.

Results vary considerably with hardware and how many unused onboard peripherals you have, so measure before and after with systemd boot analysis. Realistic gains from linux disable all devices for faster boot appear largest on systems with many idle peripherals.

Can disabling devices break my Linux installation?

Yes, if you disable a device that your root filesystem or display depends on. Never disable your storage controller, GPU driver, or USB controller that hosts your keyboard. The kernel documentation warns that improper module blacklisting can prevent boot.

Always keep a live USB with your distribution handy so you can chroot into your system and reverse changes if boot fails.

Disabling a device your system expects during resume can cause errors or slower resume times, such as removing a USB controller with internal peripherals attached. Test suspend and resume thoroughly whenever you linux disable all devices for faster boot on a laptop.

Yes, if you disable a device your root filesystem or display depends on, linux disable all devices for faster boot can break your installation.

How much boot time can I realistically save?

Results vary considerably depending on your hardware and how many unused devices you have. Systems with many unused onboard peripherals typically see the largest improvements. The systemd boot analysis documentation recommends measuring with systemd-analyze before and after each change to quantify your specific savings rather than relying on general estimates.

Results vary depending on your hardware and how many unused devices you have, so linux disable all devices for faster boot saves different amounts. Systems with many unused onboard peripherals typically see the largest improvements when you linux disable all devices for faster boot.

Potentially, since linux disable all devices for faster boot may cause errors if your system expects a device during resume. For example, disabling a USB controller hosting internal devices while you linux disable all devices for faster boot can slow resume times.

Does disabling devices affect suspend and resume?

Potentially. If you disable a device that your system expects to be present during resume, you may encounter errors or slower resume times. For example, disabling a USB controller that hosts internal devices like a webcam or fingerprint reader can cause ACPI errors during resume. Test suspend and resume after each change, and re-enable any device that causes problems.

Can I disable all unused devices at once?

You can, but you should not. Each device interacts with others through buses, power management, and ACPI tables. Disabling everything at once makes it impossible to identify which change caused a boot failure. The kernel's own troubleshooting guidance recommends making one change at a time, rebooting, and verifying stability before proceeding to the next device.

This incremental approach for linux disable all devices for faster boot saves time in the long run.

Conclusion

Disabling unused devices is one of the most effective ways to reduce Linux boot time without upgrading hardware. The key takeaways:

  • Measure first — use systemd-analyze blame to identify your actual bottlenecks before changing anything
  • Start with BIOS/UEFI — firmware-level disabling provides the largest gains with the least risk when documented properly
  • Blacklist modules second — this is the easiest reversible method for loadable drivers
  • Test after every change — one device at a time, one reboot at a time, so you always know what caused any problem

Your next step is to run systemd-analyze blame, write down your top five slowest device initializations, and disable the first one that you are certain you do not need. Reboot, measure again, and repeat. With a systematic approach to linux disable all devices for faster boot, you can shave seconds off your startup time and get to work faster.