Khác biệt giữa bản sửa đổi của “GRUB”
Nội dung được xóa Nội dung được thêm vào
n replaced: ) → ) using AWB |
n clean up, General fixes, replaced: → (12) |
||
Dòng 1:
'''GNU GRUB''' (viết tắt của '''GNU GRand Unified Bootloader''') là một chương trình khởi động máy tính được phát triển bởi dự án [[GNU]]. GRUB là một [[Cài đặt tham khảo|cài đặt mẫu]] của [[Multiboot Specification]] của [[Quỹ Phần mềm Tự do]] (FSF)
GNU GRUB được phát triển từ một gói phần mềm được gọi là ''Grand Unified Bootloader'' (dựa trên [[Lý thuyết thống nhất lớn]]<ref>[http://searchenterpriselinux.techtarget.com/definition/GRUB-GRand-Unified-Bootloader EnterpriseLinux.com Definitions] Definition of GRand Unified Bootloader</ref>). nó được sử dụng chủ yếu cho các hệ thống [[Tương tự Unix|tương tự Unix]]. Các hệ điều hành [[GNU]] sử dụng GNU GRUB làm trình khởi động mặc định, cũng như hầu hết các [[Bản phân phối Linux|bản phân phối Linux]]. Hệ điều hành [[:en:Solaris (operating system)|Solaris]] cũng đã dùng GRUB làm trình khởi động trên các hệ thống [[x86]], bắt đầu từ phiên bản Solaris 10 1/06.
Dòng 8:
GRUB có tính cơ động cao. Nó hỗ trợ nhiều định dạng thực thi. Nó hỗ trợ tất cả các hệ thống tập tin Unix thường được sử dụng, [[hệ thống tập tin]] [[FAT]] và [[NTFS]] của Windows, và [[:en:Logical block addressing|logical block addressing]] (LBA, hay dịch theo tiếng Việt là phép gán mác khối dữ liệu). GRUB cho phép người dùng xem nội dung của tập tin trên bất kỳ hệ thống tập tin được hỗ trợ.
GRUB có thể tải ảnh khởi động của hệ điều hành từ mạng, do đó nó hỗ trợ các hệ thống không có ổ cứng.
GRUB có thể được sử dụng với nhiều [[giao diện người dùng]]. Hầu hết các [[bản phân phối Linux]] tận dụng sự hỗ trợ của GRUB cho một giao diện đồ họa để cung cấp một trình đơn khởi động tùy chỉnh với một hình ảnh nền. Một sửa đổi giao diện văn bản của GRUB có thể sử dụng một liên kết nối tiếp để một thiết bị đầu cuối từ xa có thể truy cập vào các bộ nạp khởi động.
GRUB dùng một màn hình cuộn để lựa chọn hệ điều hành khởi động.
== Hoạt động ==
Dòng 20:
=== <span id="MAP-FILE" contenteditable="false"></span>Khởi động ===
Khi một máy tính được bật, [[BIOS]] của máy tính sẽ tìm thiết bị được cấu hình khởi động chính (thường là [[ổ cứng]]) tải và thực thi chương trình bootstrap đầu tiên từ [[Boot record|master boot record]] (MBR). MBR là những [[:en:Disk sector|sector]] đầu tiên của ổ cứng, với số 0 là offset của nó(các sector bắt đầu đếm từ 0). Trong một thời gian dài, kích thước của sector là 512 [[byte]], nhưng từ năm 2009 có nhiều ổ cứng có kích thước một sector là 4096 byte, được gọi là ổ cứng [[:en:Advanced Format|Advanced Format]].
[[Boot record]] MBR [[legacy]] hỗ trợ tối đa 4 phân vùng primary và chiếm 64 byte. Cùng với tùy chọn chữ ký đĩa (4 byte) và nhãn đĩa (6 byte), chuỗi dữ liệu này chiếm từ 434 đến 446 byte [[mã máy]] của boot loader. Mặc dù một kích thước nhỏ có thể chứa đủ một boot loader đơn giản,<ref>{{Chú thích web|url=http://mbldr.sourceforge.net/|tiêu đề=mbldr (Master Boot LoaDeR)|năm=2009|ngày truy cập = ngày 10 tháng 10 năm 2013 |nhà xuất bản=sourceforge.net}}</ref> nó không đủ lớn để chứa một boot loader hỗ trợ một [[hệ thống tập tin]] lớn và phức tạp, menu điều khiển các lựa chọn khởi động hệ thống là ví dụ.
Ảnh [[nhân hệ điều hành]] trong phần lớn các trường hợp các [[tập tin]] nằm trên hệ thống tập tin thích hợp, nhưng các khái niệm về một hệ thống tập tin là không biết đến [[BIOS]].
Một trong những phương pháp tiếp cận có thể cho boot loader là tải trực tiếp các ảnh của hạt nhân từ các sector ổ cứng đang sử dụng bởi hình ảnh thực tế hạt nhân, mà không có sự hiểu biết cơ bản hệ thống tập tin. <span>Thông thường, cấp bổ sung gián tiếp là cần thiết, ở dạng bản đồ hoặc các bản đồ tập tin </span>– các file phụ trợ có chứa một danh sách các sector vật lý đang sử dụng bởi ảnh hạt nhân, cung cấp thông tin cho boot loader về nơi có thể tìm thấy những sector cơ sở của nhân hệ thống.
Một cách khác là tạo một boot loader nhận biết được hệ thống file bên dưới, Hạt nhân như vậy được cấu hình và truy cập thông qua đường dẫn thực tế. Điều này yêu cầu boot loader cần chứa một trình điều khiển hệ thống file cho mỗi hệ thống file mà nó hỗ trợ, như vậy trình khởi động sẽ có thể nhận biết và tiếp cận dữ liệu. Cách tiếp cận này cho phép loại bỏ các phần lập trình nhúng không cần thiết vào sector và cả sự cần thiết của việc phân địa chỉ tập tin, và MBR (tức Master Boot Record) sẽ không cần phải cập nhật lại mỗi khi ảnh hạt nhân hệ điều hành được thêm vào trình khởi động hoặc được gỡ ra.
Dòng 32:
GNU GRUB sử dụng phương pháp thứ hai, bằng cách tìm hiểu các hệ thống tập tin cơ bản. Boot loader tự chia thành nhiều phần, cho phép nó phù hợp với các chương trình khởi động MBR.
Có hai phiên bản của GRUB đang được sử dụng phổ biến. GRUB phiên bản 2, được gọi là ''GRUB 2,'' được viết lại từ đầu và có ý định thay thế phiên bản tiền nhiệm của nó GRUB 1, và hiện nay nó được sử dụng bởi đa số các [[bản phân phối Linux]].
=== GRUB Phiên bản 1 (GRUB legacy) ===
[[Tập tin:GRUB_screenshot.png|nhỏ|GRUB v1 hoạt động như một phần của [[Ubuntu]] 8.04]]
Master boot record (MBR) thường chứa GRUB ''giai stage 1,'' nhưng có thể chứa bootloader khác có thể gọi đến GRUB ''stage 1'' từ một [[boot sector]] giống như bản ghi kích thước khởi động của phân vùng.
Với kích thước nhỏ của một [[boot sector]] (512 Byte), ''stage 1'' có thể làm ít hơn so với tải các giai đoạn tiếp theo của GRUB bằng cách tải một vài sector từ một vùng cố định gần điểm đầu đĩa cứng (trong 1024 cylinder đầu tiên).
''Stage 1'' có thể tải ''stage 2'' trực tiếp, nhưng nó thường được thiết lập để tải ''stage 1.5.'' GRUB ''stage 1.5'' ở khu vực 30 [[:en:KiB|KiB]] đầu tiên của ổ cứng ngay sau MBR và trước phân vùng đầu tiên. Trong trường hợp vị trí này không có sẵn(bảng phân vùng bất thường,
=== {{Anchor|GRUB 2}}GRUB 2 (GRUB) ===
[[Tập tin:GNU_GRUB_components.svg|phải|nhỏ|400x400px|<code>boot.img</code> có kích thước 446 byte và được ghi vào [[Boot record|MBR]] (sector 0). <code>core.img</code> được ghi vào phần trống giữa MBR và và phân vùng đầu tiên. Thư mục <code>/boot/grub</code> có thể được lưu trên một phân vùng riêng biệt, hoặc trên phân vùng ''root''
* '''Stage 1''': <code>boot.img</code> được lưu trữ trên master boot record (MBR) hoặc có thể bất kỳ vị trí nào thuộc [[:en:Volume boot record|volume boot records]] (VBR), và chỉ tới các stage tiếp theo bằng một địa chỉ [[:en:LBA48|LBA48]] (vì vậy tránh được giới hạn 1024-cylinder của GRUB legacy); lúc cài đặt nó được cấu hình để tải sector đầu tiên của <code>core.img</code>.
* '''Stage 1.5''': <code>core.img</code> mặc định được ghi vào các sector giữa MBR và phân vùng đầu tiên, khi những sector này trống và có sẵn. Với các phân vùng legacy, phân vùng đầu tiên của ổ cứng không bắt đầu từ sector 1 (bộ đếm bắt đầu từ 0) mà từ sector 63,để lại một khoảng trống 62 sector.
* '''Stage 2''': file thuộc ''stage 2'' đều được lưu trữ trong thư mục <code>/boot/grub</code> một thư mục con của thư mục <code>/boot</code> quy định bởi Filesystem Hierarchy Standard (FHS).
|