Câu trả lời:
[Thông tin trong câu trả lời này về GRUB2 và LVM phần lớn là do những nỗ lực của Jan ; ban đầu câu trả lời này đã bị lỗi nghiêm trọng và Jan xứng đáng nhận được những cải tiến mà tôi đã thực hiện. -Eliah]
Khi không sử dụng LVM, một /boot
phân vùng riêng biệt chủ yếu hữu ích để đảm bảo rằng các tệp cần thiết cho việc khởi động đủ gần với đầu ổ đĩa, khi đó /
phân vùng không nằm ở đầu ổ đĩa. Ví dụ, bạn có thể muốn đặt phân vùng trao đổi linux của mình ở gần đầu ổ đĩa, vì trên một số ổ đĩa, dữ liệu gần đầu ổ đĩa có khả năng được truy cập nhanh hơn. Sau đó, bạn có thể có một /boot
phân vùng nhỏ , theo sau là phân vùng trao đổi linux, tiếp theo là /
phân vùng (sau đó là các phân vùng riêng biệt khác nếu bạn có chúng, chẳng hạn như /home
).
Trong một thời gian dài, điều này phần lớn là không cần thiết, bởi vì với các BIOS mới hơn, bạn thường có thể khởi động một hệ thống có các tệp khởi động nằm trong một phân vùng cách xa đầu đĩa. Tuy nhiên, có rất ít bất lợi khi làm như vậy (trừ khi bạn làm /boot
quá nhỏ đến mức lấp đầy - có lẽ phải khoảng 250 MiB), vì vậy nhiều người phân vùng thủ công vẫn làm điều này.
Bản thân các bộ tải khởi động cũ như LILO cũng có những hạn chế khiến các /boot
phân vùng riêng biệt trở nên hữu ích, như Jan chỉ ra .
Khi sử dụng LVM, nếu /
phân vùng của bạn nằm trên LVM, thì cần phải có một /boot
phân vùng riêng . Trong cấu hình như vậy, /boot
phân vùng không phải là phân vùng của LVM, mà là phân vùng trên đĩa trước khi LVM bắt đầu. Điều này là do bộ tải khởi động không thể đọc tệp từ LVM. Vì vậy, bạn không bao giờ có thể khởi động vào hệ thống của mình trên LVM nếu nó không có /boot
phân vùng riêng (xem cái này và cái này để biết chi tiết).
Khả năng đọc các tệp từ LVM đã được thêm vào với GRUB2 , có nghĩa là tất cả các phiên bản gần đây của Ubuntu (Ubuntu 9.10 Karmic Koala trở lên) đều có nó . Vì vậy, với cấu hình phù hợp, bạn có thể có toàn bộ hệ thống Ubuntu của mình trong LVM mà không cần phân vùng khởi động / riêng biệt. Xem trang này để biết chi tiết về cách cấu hình này. (Trên thực tế, bản phát hành Ubuntu hiện được hỗ trợ duy nhất sử dụng GRUB gốc thay vì GRUB2 là Ubuntu 8.04 LTS Server; mọi bản phát hành không phải EoL khác - 10.04 LTS, 10.10, 11.04 và 11.10 - sử dụng GRUB2.)
Nếu bạn đang sử dụng LVM nhưng không phải cho ổ đĩa hệ thống Ubuntu của bạn, chỉ cho một ổ lưu trữ hoặc cho một số phần của hệ thống của bạn (có lẽ là /home
không) /
, thì /boot
không cần một phân vùng riêng , ngay cả khi bạn đang sử dụng một cái cũ ( hệ thống trước GRUB2).
Tóm lại, một /boot
phân vùng riêng phần lớn là vấn đề ưu tiên cá nhân cho các hệ thống không sử dụng LVM, trong khi đó một hệ thống cũ hơn được cài đặt trên LVM có thể cần một phân vùng.
/boot
tồn tại vì lý do kỹ thuật và lịch sử.
Trình tải khởi động (grub hoặc lilo) phải có thể truy cập các tệp của chính nó, nhân Linux và ramdisk ban đầu. Những tập tin được đặt trong /boot
.
Phiên bản ban đầu của lilo chỉ có thể truy cập vào một số tập hợp con của ổ cứng, chỉ hiểu một số hệ thống tệp hạn chế (thực tế chỉ là ext2) và yêu cầu hệ thống tệp phải nằm trên phân vùng chính hoặc logic (ví dụ không có md RAID hoặc LVM). Do đó, nó trở thành thông lệ để có một /boot
phân vùng nhỏ .
Các phiên bản hiện đại của grub linh hoạt hơn nhiều, và do đó, trong nhiều trường hợp, một phân vùng riêng /boot
không còn cần thiết nữa.
Đối với Linux và Windows khởi động kép, /boot
không liên quan (mặc dù tôi thích sử dụng khu vực khởi động của phân vùng khởi động cho trình tải thuyền.) Tuy nhiên, khi khởi động kép cài đặt Linux khác nhau, nó thường được chia sẻ /boot
.
Bạn cũng có thể nên sử dụng phân vùng đơn / khởi động khi cài đặt nhiều bản phân phối (cũng như phân vùng trao đổi đơn). Không có bản phân phối nào sở hữu 100% thông tin / boot vì vậy / boot không nên nằm trong bất kỳ phân vùng nào của một bản phân phối.
/boot
phân phối cho nhiều bản phân phối sẽ gây ra vấn đề khi cập nhật hạt nhân hoặc GRUB.