Việc sử dụng / boot (lvm dựa) trong phân vùng là gì?


19

/homephân vùng riêng giúp cài đặt lại / nâng cấp dễ dàng. Có /bootgiúp đỡ trong khi dualboote với các cửa sổ? Ý tôi là nó hữu ích cho người dùng máy tính để bàn / máy tính xách tay bình thường hay nó là kỹ thuật tiên tiến cần được triển khai trong các máy chủ?

Câu trả lời:


24

[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 /bootphâ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 /bootphâ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 /bootquá 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 /bootphâ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 /bootphân vùng riêng . Trong cấu hình như vậy, /bootphâ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ó /bootphân vùng riêng (xem cái nàycá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à /homekhông) /, thì /bootkhô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 /bootphâ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.


3
Điều này là chính xác, tuy nhiên hơi lỗi thời. Các phiên bản gần đây của grub2 có thể đọc / khởi động từ âm lượng LVM. wiki.archlinux.org/index.php/GRUB2#LVM (Liên kết với Arch Wiki, không chắc phiên bản Ubuntu nào sẽ cung cấp phiên bản grub đủ gần đây.)
ngày 1 tháng

@Jan Cảm ơn thông tin - Tôi đã chỉnh sửa câu trả lời của mình để phản ánh điều này. Nếu bạn có thể đề xuất các cải tiến hơn nữa, vui lòng bình luận thêm hoặc, nếu bạn thích, xin vui lòng tự chỉnh sửa câu trả lời của tôi.
Eliah Kagan

@Jan Về những phiên bản Ubuntu nào cung cấp GRUB đủ mới để loại bỏ / khởi động cho LVM ... theo gnu.org/software/grub/manual/grub.html#Changes-from-GRUB-Legacy , có vẻ như tất cả các phiên bản GRUB2 có khả năng này. Vì vậy, nó sẽ bao gồm bất kỳ phiên bản gần đây của Ubuntu. Tôi sẽ chỉnh sửa bài viết của mình một lần nữa để phản ánh điều này.
Eliah Kagan

Câu hỏi: Có bất kỳ điều nào trong số này có liên quan không nếu tất cả các ổ đĩa cứng của bạn là SSD? Trong trường hợp đó, vì ổ đĩa không có đĩa, nên thực sự không có nơi lý tưởng (bắt đầu ổ đĩa) để lưu trữ phân vùng khởi động hoặc trao đổi, phải không?
user447607

8

/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 /bootphâ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 /bootkhông còn cần thiết nữa.

Đối với Linux và Windows khởi động kép, /bootkhô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.


-1

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.


2
Tôi không đồng ý. Có một bản /bootphâ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.
Melebius
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.