Là một / phân vùng khởi động luôn luôn cần thiết?


30

Tôi có nên tạo /bootphân vùng mỗi khi cài đặt bản phân phối Linux không?

Có sự khác biệt giữa việc có một /bootphân vùng và làm cho /phân vùng có khả năng khởi động không?


Tôi nghĩ an toàn hơn khi giữ / phân vùng khởi động riêng biệt để tránh ghi đè lên bộ tải khởi động do nhầm lẫn. Nếu tôi không nhầm bộ tải khởi động nên ở trong các hình trụ đầu tiên của đĩa để đảm bảo quá trình khởi động sẽ hoạt động đúng vì BIOS luôn tải Byte đầu tiên từ đĩa giả sử có mã có thể xử lý thêm và có thể kiểm soát để tải hệ điều hành.
mnmnc

1
Nó chắc chắn không phải là một điều cần thiết, nhưng như đã nói trong nhận xét ở trên, đó là một thực hành tốt.
Hamed Momeni

Câu trả lời:


29

Để trả lời câu hỏi hoàn toàn: không , một phân vùng riêng /bootchắc chắn là không cần thiết trong mọi trường hợp.

Tuy nhiên , ngay cả khi bạn không chia bất cứ điều gì khác, nó thường được khuyến cáo để có phân vùng riêng biệt cho /, /bootvà hoán đổi. Tôi cũng sẽ đề nghị đưa /homevào một phân vùng riêng, ngay cả khi bạn không phân chia hệ thống phân cấp tệp nữa.

Lý do đặt / khởi động trên một phân vùng tách biệt với hệ thống tệp gốc thông thường là bạn có thể giảm độ phức tạp của hệ thống tệp trên đĩa, giúp giảm yêu cầu đối với bộ tải khởi động để khởi động lại kernel và đĩa RAM ban đầu. Điều này trở nên đặc biệt thú vị nếu bạn đang chạy một thiết lập không tầm thường - có thể bạn đang chạy RAID hoặc một hệ thống tệp bất thường như ZFS trên phân vùng gốc hoặc phân vùng gốc được mã hóa. Phân vùng cho / boot sau đó có thể được định dạng bằng cách sử dụng ext2fs đơn giản. Vì phân vùng chỉ cần nhỏ (vài trăm megabyte là nhiều; / khởi động trên hệ thống hiện tại của tôi là 100 MB và tôi không cảm thấy bất kỳ ràng buộc nào từ đó), nhược điểm của hệ thống tệp không được ghi nhật ký như ext2 cần không phải là tuyệt vời bởi vì dù sao kiểm tra là rất nhanh, và sự đơn giản tương đối của hệ thống tệp cũng như phần lớn là tĩnh có thể làm giảm khả năng tham nhũng không bị phát hiện. Bộ tải khởi động không cần thiết phải hiểu một hệ thống tệp kỳ lạ hoặc thiết lập đĩa là một lợi thế khác có thể có.

Lý do đặt / nhà trên một phân vùng riêng là vì ngay cả khi có thứ gì đó bất hảo và bắt đầu lấp đầy nó (hoặc nếu bạn tự làm như vậy), bạn không bao giờ mạo hiểm gây ra sự cố cho các quy trình không sử dụng (hiếm khi hết / nhà) hoặc quá trình khởi động chính nó. Ngoài ra, việc cài đặt lại hệ điều hành hoặc chuyển đổi các bản phân phối trở nên dễ dàng hơn nhiều, nếu bạn có thể chỉ cần yêu cầu trình cài đặt rời khỏi nhà như cũ và định dạng lại /để lấp đầy nó bằng các tệp của chính nó. Là một nỗ lực phục hồi cuối cùng nếu một cái gì đó thực sự đi sai phần mềm, điều này có thể tạo ra một sự khác biệt lớn.

Chạy một tệp hoán đổi không phải là một thiết lập được khuyến nghị trên Linux và tôi thậm chí không chắc chắn rằng hầu hết các hỗ trợ hạt nhân phân phối phổ biến nhất(hoặc cho phép) trao đổi dựa trên tập tin. Có nhiều lý do cho điều này, một lý do lớn là hiệu suất (phần lớn là do rủi ro phân mảnh). Hoán đổi đã quá chậm so với RAM (đó là một biện pháp ngăn chặn hơn là sửa lỗi), vì vậy có rất ít lý do để làm cho nó chậm hơn bằng cách mạo hiểm phân mảnh. Và một phân vùng trao đổi có thể được chia sẻ một cách an toàn giữa các bản phân phối Linux trong môi trường đa khởi động; có lẽ không phải là một sự xem xét trong trường hợp chung, nhưng chắc chắn là một sự xem xét cho một số. Một phân vùng trao đổi cũng có thể được đặt trên một đĩa vật lý riêng biệt với các đặc điểm khác nhau; có thể là SSD ngày nay hoặc ổ đĩa 10krpm chạy trên một kênh điều khiển riêng biệt (ngày nay ít được xem xét hơn khi mỗi đĩa SATA nằm trên một kênh riêng biệt, nhưng có thể tạo ra sự khác biệt trong những ngày PATA).

Cá nhân những ngày này, tôi tách /, / boot và trao đổi, với / trên hệ thống hiện tại của tôi là 100 GB (Tôi gần như không sử dụng tất cả điều đó; sử dụng curent là 8,9 GB và cung cấp cho tôi mọi thứ tôi cần phần mềm và sau đó một số). Phần còn lại của đĩa chính được tạo thành từ một hệ thống tệp duy nhất, theo quy ước cá nhân tôi gắn kết tại / da ( disk a). Một đĩa thứ hai sẽ là / db, sau đó / dc, v.v. (Tôi nghi ngờ FHS thực sự chấp thuận sơ đồ này, nhưng thực tế nó hoạt động tốt với tôi.) nó hoặc phân vùng lại chỉ vì tôi nhận ra rằng tôi đang thiếu một chút dung lượng đĩa cho / home.


3
Ngoài ra, chỉ cần tách riêng / khởi động nếu phân vùng gốc được mã hóa (và rõ ràng là khởi động rõ ràng)
usr-local-ΕΨΗΕΛΩΝ

@djechelon Tôi nghĩ rằng nó thuộc "một thiết lập không tầm thường", nhưng tôi sẽ chỉnh sửa ví dụ cụ thể của bạn trong.
một CVn

Tôi đang xem xét ZFS và mọi hướng dẫn dường như chỉ ra rằng khi sử dụng ZFS trên root, bạn cần một cái gì đó như ext * on / boot.
CMCDragonkai

1
@CMCDragonkai Điều đó không thay đổi câu trả lời của tôi rằng "không, một phân vùng riêng cho / boot chắc chắn là không cần thiết trong mọi trường hợp. "
một CVn

3

Tôi không nghĩ rằng nó là bắt buộc nữa. Trước đây, điều đó là cần thiết vì một số hạn chế với BIOS. Không thể có phân vùng khởi động sau 8 hoặc 64 Go (Tôi không nhớ chính xác). Sau đó, nếu bạn muốn có một khởi động kép, bạn có thể đặt một phân vùng nhỏ (/ boot) đầu tiên và phân vùng windows có thể khởi động và sau đó là các phân vùng Linux khác. Có một thời gian dài, không có thư mục / boot nào cả. Kernel được trực tiếp trên /.


1
Hạt nhân đôi khi được lưu trữ trực tiếp trong thư mục gốc (một số bản phân phối vẫn có thể thực hiện việc này), nhưng bạn vẫn có thể cần những thứ khác như initrd, System.map, cấu hình bootloader, v.v., ưa thích một hệ thống phân cấp của riêng chúng.
một CVn

2

Sự khác biệt là tối ưu hóa hệ thống tập tin. Nói chung, mỗi phân vùng có các bảng riêng cho các tệp, mô tả, v.v. Bạn có thể cài đặt Linux trên một phân vùng '/' không có '/ boot', '/ exchange', / usr ', v.v., nhưng các bảng nội bộ phân vùng đơn này sẽ sớm phát triển rất lớn và một số hoạt động sẽ trở nên hơi chậm. Vì vậy, các phân vùng khác nhau được sử dụng để cung cấp các thùng chứa được tối ưu hóa, tách biệt cho các loại nhiệm vụ khác nhau.


Toàn bộ các bảng inode hiếm khi được sử dụng ngoài kiểm tra hệ thống tệp. Thông thường, chỉ các bảng cho một thư mục cụ thể được tham chiếu. Chúng không có (hoặc ít) khác nhau về kích thước dựa trên kích thước phân vùng.
một CVn

Kích thước dựa trên phân vùng usage, không phải kích thước. inodeĐây là một danh sách, vì vậy, inodes = thêm một chút thời gian để tra cứu tệp, thêm v.v ... Trường hợp không phải là sự khác biệt lớn giữa phân vùng trống và phân vùng với hàng triệu tệp, nhưng đối với các hoạt động như khởi động hoặc trao đổi bất kỳ vấn đề khác biệt nào.
grigoryvp

Tôi không thấy bình luận của bạn mâu thuẫn với tôi như thế nào. Và một phân vùng trao đổi không có khái niệm về các nút, bởi vì nó không xử lý các tệp. Có một sự khác biệt lớn giữa /swapswap.
một CVn

0

Không, tôi nghĩ rằng một phân vùng / boot là không cần thiết vì một số lý do:

  • Bạn có thể muốn / thư mục khởi động không quá nhỏ và đưa nó vào /
  • Không cần thiết phải tạo phân vùng vì các tệp và thư mục của / boot thường không được cập nhật và truy cập. Nó không giống như một thư mục / tmp hoặc / hoán đổi. các chương trình không ghi vào / khởi động.
  • / boot chỉ được sử dụng trong quá trình khởi động và cập nhật Kernel khi hình ảnh initramfs được cập nhật.
  • Bạn có thể bao gồm / boot to / root trong một mảng RAID 5 và nó sẽ hoạt động với GRUB2. Thêm GRUB2 vào MBR cho mọi ổ đĩa. Bạn có thể khởi động từ ổ đĩa thứ 2, thứ 3 ... nếu ổ đĩa 1 đã chết.
  • Ít gắn kết hơn = ít uuid's = nhiều khả năng hiển thị hơn = đơn giản hơn
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.