Các bản cập nhật trên Linux yêu cầu khởi động lại nếu chúng ảnh hưởng đến kernel. Trình điều khiển là một phần của kernel. Đôi khi có thể nâng cấp trình điều khiển trên Linux mà không cần khởi động lại, nhưng điều đó không xảy ra thường xuyên: bộ điều khiển ngoại vi của trình điều khiển không thể được sử dụng trong quá trình cập nhật và phiên bản trình điều khiển mới phải tương thích với kernel đang chạy.
Nâng cấp trình điều khiển lên hệ thống đang chạy trong đó thiết bị ngoại vi được điều khiển bởi trình điều khiển đang sử dụng yêu cầu trình điều khiển cũ rời khỏi thiết bị ngoại vi ở trạng thái mà trình điều khiển mới có thể bắt đầu. Trình điều khiển cũ và mới cũng phải quản lý việc chuyển giao các kết nối từ khách hàng. Điều này có thể làm được nhưng khó khăn; Làm thế nào khó khăn phụ thuộc vào những gì người lái xe đang lái xe. Ví dụ, một bản cập nhật hệ thống tệp mà không ngắt kết nối hệ thống tệp yêu cầu chuyển giao một số cấu trúc dữ liệu rất phức tạp nhưng dễ đối phó với phần cứng (chỉ cần xóa bộ đệm trước khi cập nhật và bắt đầu lại với bộ đệm trống). Ngược lại, trình điều khiển đầu vào chỉ phải truyền danh sách các mô tả mở hoặc tương tự ở phía máy khách,
Cập nhật trình điều khiển trên hệ thống trực tiếp là một cách phổ biến trong quá trình phát triển trên các hệ điều hành nơi trình điều khiển có thể được tải và tải động, nhưng thường thì không sử dụng trong khi thiết bị ngoại vi được sử dụng. Cập nhật trình điều khiển trong sản xuất không được thực hiện phổ biến trên các HĐH như Linux và Windows; Tôi cho rằng nó được thực hiện trên các hệ thống có tính sẵn sàng cao mà tôi không quen thuộc.
Một số trình điều khiển không có trong kernel (ví dụ hệ thống tập tin FUSE ). Điều này giúp dễ dàng cập nhật chúng mà không cần cập nhật phần còn lại của hệ thống, nhưng vẫn yêu cầu trình điều khiển không được sử dụng (ví dụ: các phiên bản của hệ thống tập tin FUSE phải được ngắt kết nối và gắn lại để sử dụng phiên bản trình điều khiển mới).
Linux có các cơ chế để nâng cấp kernel mà không cần khởi động lại: Ksplice , Kpatch , KGraft . Điều này là khó khăn về mặt kỹ thuật vì phiên bản cập nhật phải tương thích với phiên bản cũ ở mức độ lớn; đặc biệt, cấu trúc dữ liệu của nó phải có cùng bố cục nhị phân. Một vài bản phân phối cung cấp dịch vụ này để cập nhật bảo mật. Các tính năng này không có sẵn (chưa?) Trong nhân Linux chính. Trên nhân Linux chính, chỉ có thể cập nhật trình điều khiển nếu được tải dưới dạng mô-đun và nếu mô-đun có thể được tải và mô-đun mới tương thích với hạt nhân đang chạy.