1. GRUB là gì?GRUB (GRand Unified Bootloader) là 1 trong những lịch trình khởi động laptop được cải cách và phát triển vày dự án công trình GNU. GRUB cung cấp cho những người sử dụng một sàng lọc cho phép khởi cồn một trong vô số hệ điều hành và quản lý được cài đặt bên trên một máy tính xách tay hoặc lựa lựa chọn một cấu hình phân tử nhân ví dụ có sẵn trên các phân vùng của một hệ quản lý cụ thể.GNU GRUB được phát triển xuất phát điểm từ 1 gói phần mềm được Hotline là Gr& Unified Bootloader (dựa trên Lý thuyết hệ duy nhất lớn). nó được thực hiện đa phần cho những hệ thống tương tự như Unix. Các hệ điều hành quản lý GNU sử dụng GNU GRUB làm cho trình khởi rượu cồn mặc định, cũng giống như đa số những bạn dạng phân phối hận Linux. Hệ điều hành Solaris cũng đã dùng GRUB có tác dụng trình khởi hễ trên những hệ thống x86, ban đầu trường đoản cú phiên bạn dạng Solaris 10 1/06.

Bạn đang xem: Grub là gì

* Các nhân kiệt của GRUB:

Hỗ trợ nhiều hệ điều hành – bằng phương pháp khởi hễ thẳng nhân hệ quản lý hoặc bằng cách hấp thụ chuỗi (chain-loading).Hỗ trợ nhiều khối hệ thống tập tin: BSD FFS, DOS FAT16 với FAT32, Minix fs, Linux ext2fs với ext3fs, ReiserFS, JSF, XFS, cùng VSTa fs.Cung cấp hình ảnh chiếc lệnh linh hoạt lẫn giao diện thực 1-1, mặt khác cũng hỗ trợ tập tin cấu hình.

* Các phiên bạn dạng của GRUB:

Có nhị phiên bạn dạng của GRUB đang rất được thực hiện phổ biến:

GRUB phiên bản 1 hay còn được gọi là GRUB legacy, chỉ thông dụng ở những phiên bạn dạng cũ của những bạn dạng phân phối Linux, trong số ấy một số trong những vẫn còn đang được sử dụng cùng cung cấp, ví như trong CentOS 5.GRUB phiên bạn dạng 2, được Hotline là GRUB 2, được viết lại từ trên đầu cùng gồm dự định sửa chữa thay thế phiên bản tiền nhiệm của nó GRUB 1, với hiện giờ nó được thực hiện vày phần lớn các phiên bản phân pân hận Linux.2. Cách thức hoạt động:

*

Trên sector trước tiên của đĩa cứng chứa, xung quanh bảng phân vùng, một quãng mã thực thi được Hotline là quy trình thứ nhất của quá trình khởi đụng máy vi tính, hoặc đoạn mã IPL (initial program load). Đoạn mã chuẩn chỉnh này là mẫu mà lại lệnh fdisk /mbr trên DOS tạo nên. Khi thiết lập vào BIOS luật khởi cồn từ đĩa cứng kia, BIOS vẫn trao quyền tinh chỉnh và điều khiển mang lại IPL hoặc đoạn mã giai đoạn một. Lúc đoạn mã chuẩn chỉnh được nạp, nó đã quyết định phân vùng làm sao là chủ động (active) và trao quyền điều khiển và tinh chỉnh cho đoạn mã xúc tiến được nằm ở trong hoặc sát sector đầu tiên của phân vùng chủ động. Những gì xẩy ra tiếp theo phụ thuộc vào hệ quản lý và điều hành.Tại những hệ quản lý và điều hành DOS cũ, phần chủ đạo thực hành được của hệ quản lý nằm ngay tại địa chỉ trước tiên của đĩa cùng được khởi rượu cồn thẳng tự tiến trình một. Trong những ngôi trường hòa hợp nổi bật rộng, một lịch trình khởi cồn giai đoạn hai sẽ được nạp cùng mang lại lượt nó đã biết nơi nào để tìm kiếm nhân hoặc các thành phần chủ công của hệ điều hành và quản lý với khởi cồn bọn chúng. Lúc GRUB hoặc một trình khởi đụng được thiết lập, đoạn mã của trình khởi cồn này sẽ sửa chữa thay thế đoạn mã IPL chuẩn. Nó phải vừa vặn vẹo vào 512 byte với còn cần chia sẻ tầm thường cùng với bảng phân vùng. Khác biệt vị trí trung tâm một trình khởi động cùng đoạn mã IPL chuẩn là quyền điều khiển và tinh chỉnh đang đi đâu tiếp tiếp đến. Trong trường hợp của GRUB, quyền điều khiển sẽ được trao mang đến trình Giai đoạn 2 (hoặc Giai đoạn 1.5).Giai đoạn 1 được cài đặt vào MBR hoặc vào sector khởi đụng của phân vùng, còn Giai đoạn 2 được ném lên một khối hệ thống tập tin. Giai đoạn 1.5 hoàn toàn có thể được tải vào một hệ thống tập tin (ví dụ như ở phân vùng /boot), trong vùng khởi rượu cồn của FFS hoặc ReiserFS, cùng trong số sector tức thì sau MBR bởi Giai đoạn 1.5 đầy đủ bé dại và những sector ngay sau MBR thường ko được thực hiện. Kích thước của vùng này là số sector cho từng head trừ đi 1. Giai đoạn 1.5 hoặc Giai đoạn 2 có thể được đặt ở bất kể nơi đâu, cùng Giai đoạn 2 hoàn toàn có thể nạp tập tin cấu hình tự bất cứ ở đâu bên trên đĩa cứng (tập tin cấu hình không nhất thiết phải được đặt vào một khối hệ thống tập tin).Vì vậy tất cả quá trình mà Giai đoạn 1 buộc phải làm là cài Giai đoạn 2 hoặc Giai đoạn 1.5. Giai đoạn 1 mã hoá vị trí của Giai đoạn 2 (tốt Giai đoạn 1.5) sống dạng list kân hận, vì thế nó thiếu hiểu biết nhiều bất kể cấu tạo khối hệ thống tập tin làm sao. Vì GRUB hỗ trợ cả chế độ CHS lẫn LBA đề nghị Giai đoạn 1 trong các GRUB, sau khoản thời gian thăm dò thông số kỹ thuật cùng cơ chế truy cập của đĩa cứng, chỉ cài đặt sector thứ nhất của Giai đoạn 2 (hoặc Giai đoạn 1.5) với Giai đoạn 2 tự nó tải phần còn lại (Tức là mua trường đoản cú liên tưởng ban đầu của chính nó thêm vào đó 512 byte).Giai đoạn 1.5 là cầu nối thân stage1 và stage2, tức là Giai đoạn 1.5 được Giai đoạn 1 hấp thụ và Giai đoạn 1.5 nạp Giai đoạn 2. stage1 không hiểu biết nhiều bất cứ hệ thông tập tin làm sao nhưng _stage1_5 gọi một hệ thống tập tin (ví dụ điển hình e2fs_stage_15 gọi ext2fs). Giai đoạn 1.5 chất nhận được Giai đoạn 2 có thể được nạp từ một khối hệ thống tập tin bởi băng thông thông thường nhưng không nhất thiết phải cần sử dụng list khối. Vì vậy có thể an toàn dịch chuyển vị trí của stage2 mang đến một chỗ không giống (ví dụ như khi giải phân mhình ảnh khối hệ thống tập tin), ngay cả sau khoản thời gian GRUB đã làm được thiết đặt. Gai đoạn 1 nạp Giai đoạn 1.5 vào bộ lưu trữ nếu đề xuất. Một số phần cứng phải bước trung gian để hấp thụ Giai đoạn 2, ví dụ như Khi phân vùng /boot nằm ở vị trí quá 1024 cylinder đầu của ổ cứng hoặc Khi áp dụng chính sách LBA.3) Sử dụng GRUB:

Có 2 phương pháp để thiết lập GRUB làm cho trình khởi động đến thứ tính:

Dùng môi trường xung quanh nguim thủy của grub (khuim dùng) : phải tạo ra đĩa hoặc usb khởi rượu cồn grub.Cài đặt trong mội trường hệ điều hành như thể Unix : áp dụng grub-install hoặc shell grub. Tuy nhiên giải pháp này rất có thể khiến cho họ thăm dò không đúng BIOS.

3.1. Cài GRUB trong môi trường nguim thủy:

3.1.1. Cài GRUB sử dụng lệnh setup:

Cài stage1 của GRUB theo cách này sẽ xoá sector khởi hễ đang rất được một hệ quản lý và điều hành thực hiện. Lúc Này GRUB hoàn toàn có thể trực tiếp khởi cồn GNU Mach, Linux, FreeBSD, NetBSD, và OpenBSD, vị vậy cần sử dụng GRUB bên trên sector khởi đụng thường là an ninh. Nhưng nói tầm thường buộc phải sao lưu lại sector thứ nhất của phân vùng sắp sở hữu stage1 của GRUB. Điều này sẽ không quan trọng đặc biệt lắm nến download GRUB vào sector đầu tiên của đĩa cứng, vì dễ dãi Phục hồi nó (chẳng hạn như chạy fdisk /mbr vào DOS).Để thiết lập GRUB trong môi trường nguyên ổn thuỷ, phải tạo thành đĩa khởi rượu cồn GRUB cùng khởi hễ lại máy vi tính với đĩa khởi hễ kia. Một khi đã có khởi hễ, GRUB vẫn trình diễn giao diện chiếc lệnh.Thứ nhất, định sản phẩm root mang lại thư mục khởi động:grub> root (hd0,0)cũng có thể cần sử dụng lệnh find còn nếu không kiên cố phân vùng làm sao đích thực chứa các tập tin này:grub> find /boot/grub/stage1Cần chú ý là lắp thêm root của GRUB không duy nhất thiết là phân vùng root của hệ điều hành và quản lý (ví như đề xuất xác định phân vùng root mang lại hệ quản lý, thêm thông số kia vào lệnh kernel).Một khi đã thiết lập cấu hình máy root đúng đắn, chạy lệnh setup:grub> thiết đặt (hd0)Lệnh này vẫn cài đặt GRUB lên MBR của ổ đĩa đầu tiên. Nếu mong muốn sở hữu GRUB vào sector khởi rượu cồn của một phân vùng vậy do vào MBR, hướng dẫn và chỉ định phân vùng ước ao mua GRUB:grub> thiết đặt (hd0,0)Nếu mua GRUB vào phân vùng hoặc ổ đĩa chưa phải là ổ đĩa trước tiên, bắt buộc nạp chuỗi GRUB từ 1 trình khởi hễ khác.Bây giờ đồng hồ hoàn toàn có thể khởi động GRUB mà lại ko bắt buộc đĩa mượt GRUB.

Xem thêm: Từ Điển Anh Việt " Bank Branch Là Gì ? Định Nghĩa, Ví Dụ, Giải Thích

3.1.2. Cài GRUB dùng lệnh install:

install <--force-lba> <--stage2=tập_tin_stage2_hđh> tập_tin_stage1 thiết_bị_đích tập_tin_stage2 <địa_chỉ>

Lệnh này vẫn triển khai một cài đặt đầy đủ với giả định Giai đoạn 2 hay là 1.5 đang bao gồm tại vị trí thiết đặt sau cuối.Đi vào chi tiết hơn, nó đang mua tập_tin_stage1, xác nhận rằng nó là Giai đoạn 1 đúng số phiên bạn dạng của GRUB, thiết lập một list khối hận để nạp tập_tin_stage2 làm Giai đoạn 2 (tức thị tập_tin_stage2 sẽ trao mang lại Giai đoạn 1 địa chỉ của Giai đoạn 2). Nếu tất cả tuỳ chọn d, Giai đoạn 1 luôn luôn tìm đĩa thực tiễn vẫn cài tập_tin_stage2 hơn là dùng ổ đĩa khởi hễ. Giai đoạn 2 sẽ được nạp ở địa chỉ địa_chỉ, nên là 0x8000 đối với Giai đoạn 2 thực, cùng 0x2000 đối với Giai đoạn 1.5. Nếu địa_chỉ không được chỉ định và hướng dẫn, GRUB vẫn khẳng định hệ trọng auto. Sau đó nó viết Giai đoạn 1 đã hoàn chỉnh vào kân hận thứ nhất của thứ thiết_bị_đích. Nếu tuỳ lựa chọn p hoặc tập_tin_cấu_hình được hướng đẫn, nó đã phát âm khối trước tiên của stage2, thay đổi nó bằng quý hiếm của phân vùng mà sống đó tập_tin_stage2 được kiếm tìm thấy (so với p) hoặc đặt chuỗi tập_tin_cấu_hình vào vùng mang đến stage2 biết địa điểm kiếm tìm tập tin cấu hình thời điểm khởi đụng. Cũng điều đó, giả dụ tập_tin_cấu_hình_thực được hướng dẫn và chỉ định cùng tập_tin_stage2 là Giai đoạn 1.5, thì tập_tin_cấu_hình được vá bằng tên tập tin thông số kỹ thuật tập_tin_cấu_hình_thực. Để dễ dàng nắm bắt rộng mang đến ngôi trường hòa hợp nhúng Giai đoạn 1.5: tập_tin_stage2 là địa điểm nhúng stage1_5, tập_tin_cấu_hình là địa điểm của stage2 (theo lô-gic, stage2 là tập tin cấu hình cho stage1_5), tập_tin_cấu_hình_thực là địa chỉ của menu.lst. Lệnh install không phát sinh sector bitbản đồ cho stage2, tức là tsay đắm số tập_tin_cấu_hình, cơ mà nó đề xuất viết chuỗi tập_tin_cấu_hình với tập_tin_cấu_hình_thực (không làm việc dạng bloông chồng bitbản đồ mà nghỉ ngơi dạng thương hiệu tập tin thuần tuý) tương xứng vào stage1_5 với stage2. stage2 nằm trên khối hệ thống tập tin, bởi vì vậy tuỳ lựa chọn --stage2 giúp cho việc viết được an toàn rộng.Lệnh này lưu giữ DOS BPB (cùng so với đĩa cứng là bảng phân vùng) của sector sẽ tiến hành cài đặt Giai đoạn 1.Lưu ý:Một số BIOS bị lỗi rất cần được chỉ định và hướng dẫn tuỳ lựa chọn d cho dù Giai đoạn 2 nằm ở vị trí ổ đĩa khởi hễ hay không Kthi thoảng kngày tiết này gặp mặt ở: Fujitsu LifeBook 400 BIOS version 31J0103A, HP. Vectra XU 6/200 BIOS version GG.06.11.Một số BIOS ko trả về bitmap cung ứng LBA đúng trong cả chúng đích thực tất cả hỗ trợ; vày vậy GRUB cung ứng giải pháp để bỏ qua bitmap không nên, sẽ là tuỳ lựa chọn --force-ltía. Đừng dùng tuỳ chọn này giả dụ BIOS không hỗ trợ LBA (chính sách LBA sử dụng firmware để quá qua giới hạn 1024 cylinder của BIOS).Phải hướng đẫn tuỳ lựa chọn --stage2 trong shell grub nếu như không thể túa gán hệ thống tập tin nơi chứa tập tin stage2. Đối số là tên tập tin vào hệ điều hành.Thí dụ về áp dụng lệnh install:

root (hd0,1)embed /boot/grub/reiserfs_stage1_5 (hd0) # or e2fs_stage1_5(và chú ý số sector)

install /boot/grub/stage1 (hd0) (hd0)1+ p /boot/grub/stage2 /boot/grub/thực đơn.lst(hoặc cần sử dụng thiết đặt (hd0))

3.2. Cài GRUB trong môi trường hệ quản lý giống như Unix:

Cài GRUB cần sử dụng lệnh grub-install:

Cách này trọn vẹn ko được khuyến nghị, bởi rất có thể laptop sẽ không thể khởi hễ được với GRUB. Thí dụ, số đông những hệ quản lý và điều hành không cho GRUB biết cách ánh xạ đúng đắn ổ đĩa BIOS thanh lịch sản phẩm của hệ điều hành quản lý, GRUB chỉ đoán thù giải pháp ánh xạ. Trong phần đông các ngôi trường hợp thì quá trình này thành công xuất sắc, nhưng mà ko luôn luôn điều đó. Do đó GRUB cung cấp tập tin ánh xạ do người tiêu dùng tư tưởng device.map; giả dụ tập tin này cho thấy thêm ánh xạ không đúng bạn phải sửa nó lại. Nếu rủi ro nên thiết đặt GRUB trong môi trường thiên nhiên hệ quản lý điều hành tương tự UNIX, điện thoại tư vấn lệnh grub-install với tư phương pháp khôn cùng người dùng (root). Cách sử dụng khôn cùng thuận tiện, các bạn chỉ cần chỉ định một đối số về địa điểm setup GRUB. Đối số có thể là tập tin đồ vật hay ổ đĩa/phân vùng theo GRUB. Cú pháp:

grub-install thiết_bị_cài_đặt

Thí dụ: mua GRUB vào MBR của ổ đĩa IDE trước tiên vào Linux:

# grub-install /dev/hda

Nếu đây cũng là ổ đĩa BIOS sản phẩm công nghệ nhất:

# grub-install "hd(0)"

Các tỉ dụ trên mang định rằng sử dụng các hình ảnh GRUB nghỉ ngơi tlỗi mục root. Nếu mong muốn GRUB cần sử dụng hình hình ảnh sinh hoạt thư mục không phải là tlỗi mục root, bắt buộc hướng đẫn tuỳ lựa chọn --root-directory. Cách sử dụng nổi bật là sinh sản đĩa mượt khởi động GRUB với một hệ thống tập tin. Thí dụ:

# mke2fs /dev/fd0# mount -t ext2 /dev/fd0 /mnt# grub-install --root-directory=/mnt "(fd0)"# umount /mntMột ví dụ không giống là khi gồm một phân vùng khởi rượu cồn được gán trên /boot. Vì GRUB là 1 trong những trình hấp thụ khởi động, nó không biết gì về những điểm gán, đề xuất nên chạy lệnh grub-install nhỏng sau:# grub-install --root-directory=/boot /dev/hda

4) Cấu hình GRUB:Ở đồ họa chiếc lệnh cần được gõ vài lệnh để khởi cồn hệ điều hành. GRUB cũng cung ứng bối cảnh thực solo mà lại chỉ việc lựa chọn 1 đề mục là những vật dụng được tiến hành để khởi hễ hệ quản lý và điều hành.Để hoàn toàn có thể thực hiện hình ảnh thực đơn cần được bao gồm tập tin thông số kỹ thuật thực đơn.lst ở tlỗi mục khởi động. Lúc khối hệ thống được khởi đụng, GRUB gọi câu chữ của tập tin thông số kỹ thuật. Không rất cần phải sở hữu GRUB lại mọi khi chuyển đổi ngôn từ tập tin này. Tập tin này mặc định nằm tại vị trí thư mục /boot/grub, nhưng lại có thể đặt tại bất cứ nơi đâu cũng như có thể đặt bất cứ thương hiệu gì mang lại nó.Phân tích tỉ dụ về một tập tin cấu hình:Tập tin này bắt đầu bằng những thiết lập cấu hình chung, các tuỳ lựa chọn contact mang đến giao diện thực đơn. Các lệnh này rất có thể được đặt trước bất cứ đề mục như thế nào (bắt đầu với lệnh title).GRUB làm lơ những cần sử dụng bắt đầu cùng với kí từ # cùng các cái trống.default 0Đề mục thứ nhất (xem xét là đếm bước đầu từ 0 chứ không hẳn 1) đã là lựa chọn mang định.timeout 30GRUB đã khởi rượu cồn auto sau 30 giây, trừ lúc bị ngắt bởi một dìm phím.fallbaông chồng 1Nếu do bất cứ lí vị như thế nào nhưng đề mục mang định không chuyển động, quay lại đề mục đồ vật nhì. Ở phần có mang mang lại hệ quản lý và điều hành, từng đề mục bước đầu bởi một lệnh đặc biệt title. Không có lệnh boot làm việc cuối đề mục vày nó đang tự động hóa tiến hành nếu như GRUB nạp thành công các lệnh khác.Đối số đến lệnh title được dùng làm trình bày một tựa/mô tả nđính mang lại đề mục.

title GNU/Linuxkernel (hd1,0)/vmlinuz root=/dev/hdb1Khởi cồn GNU/Linux từ đĩa cứng lắp thêm nhì.title FreeBSDroot (hd0,2,a)kernel /boot/loaderKhởi đụng nhân FreeBSD sở hữu trường đoản cú phân vùng a bên trên PC slice vật dụng ba của đĩa cứng thứ nhất.title OS/2root (hd0,1)makeactiveKhởi động OS/2chainloader +1Nạp chuỗi trình khởi động OS/2 trường đoản cú sector thiết bị nhấttitle Windows NT / Windows 95root (hd0,0)makeactivechainloader +1Khởi cồn Windows NT/Windows 95

Các tuỳ chọn lựa cách nhau bằng khoảng chừng white. Số hoàn toàn có thể ngơi nghỉ dạng thập phân hoặc thập lục phân. Số thập lục phân buộc phải mở đầu bởi 0x, với riêng biệt chữ hoa-thường xuyên.

Nếu quá trình cài đặt GRUB dường như không cách thức tập tin cấu hình, vẫn hoàn toàn có thể mua tập tin cấu hình vào môi trường thiên nhiên GRUB bằng lệnh configfile, thí dụ:grub> configtệp tin (fd0)/boot/grub/thực đơn.lst