Nói đúng ra, UUID không giải quyết .
Địa chỉ rất, rất đơn giản: đọc ổ X sector Y - hoặc cách khác. Đọc địa chỉ bộ nhớ Z - hoặc nếu không. Địa chỉ rất đơn giản, nhanh chóng, không có nhiều chỗ để diễn giải, và nó ở khắp mọi nơi.
UUID không giải quyết. Thay vào đó là tìm kiếm, tìm kiếm, đôi khi chờ đợi các thiết bị xuất hiện và cũng hiểu các hệ thống tệp (★). Và tùy thuộc vào có bao nhiêu thiết bị, có thể mất một thời gian rất dài. Và một khi tìm thấy, trở lại địa chỉ thường xuyên.
Trong GRUB, cái này được gọi là search
(★★★) và nó chỉ khả dụng khi GRUB đã mọc cánh (tìm kiếm là một mô-đun, như mọi hệ thống tệp mà nó hỗ trợ, do đó chỉ khả dụng sau khi tải lõi). Trong Linux, nó (ví dụ) được gọi findfs
, findfs sẽ tìm kiếm các thiết bị khối trong hệ thống đang tìm kiếm một hệ thống tệp hoặc phân vùng .
Nó đi qua tất cả các blockdevice, đánh thức chúng từ chế độ chờ, đọc dữ liệu và kết quả thậm chí có thể vẫn là ngẫu nhiên nếu UUID không phải là duy nhất như sau (sau dd
tai nạn hoặc tương tự) hoặc bạn không nhận được kết quả nếu UUID thay đổi - UUID cũng dễ bị lỗi cấu hình.
Nói chung, UUID là tuyệt vời và tất nhiên bạn nên sử dụng chúng ở mọi nơi nếu có, đặc biệt là khi địa chỉ truyền thống bị ràng buộc thất bại vì thứ tự ổ đĩa là ngẫu nhiên trong Linux; nhưng hiểu rằng sự phức tạp là ở trên và vượt ra ngoài những gì địa chỉ đơn giản có nghĩa là để làm. Và đặc biệt là trong giai đoạn đầu của bộ tải khởi động, nó đơn giản có thể chưa phải là một lựa chọn. Địa chỉ đến trước, phát triển cánh đến sau.
Đối với bộ tải khởi động, đơn giản là không cần thiết phải nỗ lực (không phải mọi bộ tải khởi động đều hỗ trợ một loạt các hệ thống tệp như GRUB). Nếuhd0
được đảm bảo là "đĩa chúng tôi đã khởi động" do hoàn cảnh (BIOS cung cấp), và vì vậy nếu bạn có thể loại trừ các sự cố thứ tự ổ đĩa ngẫu nhiên, có thể không cần phải đi qua một danh sách rất lớn các phân vùng khác trong tìm kiếm UUID.
Nếu bạn đủ tự tin vào cấu hình của mình để nói rằng đó hd0,gpt2
là thứ bạn muốn, và nó phải như vậy, và nó không thể khác, thì không có gì sai khi sử dụng nó như thế. Đôi khi, địa chỉ đơn giản và đơn giản hoạt động tốt.
(★) Trước đây tôi đã giải thích điều này cho LABEL ở đây ...
Không có tiêu chuẩn chung cho nhãn, tất cả đều được dệt bằng tay, ví dụ như việc triển khai các định dạng superblocks trong tiện ích linux . Nếu bạn phát minh ra một hệ thống tập tin mới vào ngày mai, ngay cả khi nó có nhãn, nó sẽ không hiển thị cho đến khi hỗ trợ được thêm vào.
... Và nó cũng tương tự đối với UUID.
(★★★) Trên thực tế, GRUB search
có một --hint
tùy chọn và ... bây giờ tôi chưa kiểm tra mã nguồn và thậm chí nó không được ghi lại trong hướng dẫn sử dụng của họ, nhưng một tùy chọn như vậy sẽ có ý nghĩa mang đến cho bạn cả hai thế giới tốt nhất: gợi ý nên báo search
trước để kiểm tra phân vùng đó và nếu UUID khớp như mong đợi, nó sẽ xác định thiết bị với nỗ lực tối thiểu và nếu nó không khớp, nó vẫn sẽ quay lại tìm kiếm toàn diện để giữ mọi thứ hoạt động. .
Ngoài ra, các UUID được tìm thấy trước đây có xu hướng được lưu trong bộ nhớ cache, do đó, nó không phải đi qua tất cả các thiết bị hết lần này đến lần khác - và điều này cũng hoạt động rất tốt, miễn là UUID bạn đang tìm kiếm thực sự tồn tại ở đâu đó làm cho nó vào bộ đệm ở nơi đầu tiên.