Lập Trình Linux

Cài đặt Grub2 cho USB, ổ cứng (HDD), ổ cứng di động (HDDBox)




Grub2 (GRand Unified Bootloader) là một bootloader đa năng. Bạn có thể dễ dàng cài đặt Grub2 cho USB, ổ cứng (HDD) và ổ cứng di động (HDDBox).

Hôm nay mình sẽ làm video để giới thiệu về cách cài Grub2 trên Linux, đây là cách cài đặt Grub2 chính hãng với đầy đủ tính năng của nó…

Để bắt đầu, chúng ta cần một HĐH Ubuntu hoặc bất kỳ HĐH Linux nào khác, miễn sao bạn biết sử dụng các lệnh tương ứng.

Bạn có thể dùng HĐH Ubuntu trên máy ảo, livecd hoặc hđh đã được cài trên ổ cứng…

Hướng dẫn này mình sử dụng theo bài viết trên trang web

Gắn USB vào và phân vùng USB nếu cần…
USB của mình đã được gắn vào máy ảo, giờ mình sẽ phân vùng lại USB sử dụng Gparted.
Ở đây mình sẽ dùng kiểu GPT cho USB…

Cài Gparted bằng lệnh sau:
sudo apt-get install gparted

Video này mình lấy trường hợp bạn có một ổ cứng lớn hơn 2TB và cần phải sử dụng kiểu GPT để nhận đủ dung lượng.

Nếu bạn muốn dùng MBR thì chọn msdos…
Bây giờ tạo phân vùng trên ổ cứng hoặc hdd mà bạn muốn

Ở đây vì mình dùng kiểu GPT và muốn boot vào cả 2 chế độ Legacy BIOS và UEFI nên mình sẽ sử dụng thêm 1 phân vùng có dung lượng từ 1Mb đến 4Mb, không cần định dạng (unformatted) và gắn Flags là bios_grub.

Như bạn thấy, mình đã tạo xong 3 phân vùng là NTFS để chứa dữ liệu, FAT32 để bạn có thể boot vào chế độ UEFI, và 1 phân vùng sẽ được gắn Flags là bios_grub nhằm hỗ trợ ổ cứng GPT có thể boot vào chế độ Legacy.

Lưu ý: bạn chỉ gắn Flags bios_grub khi ổ cứng của bạn ở kiểu GPT, gắn Flags esp cho phân vùng UEFI luôn nhé.

Vì FAT32 không lưu được các tập tin lớn hơn 4Gb, mà các bạn hay dùng để lưu các tập tin Ghost và Windows có dung lượng lớn nên NTFS là lựa chọn ưu tiên 🙂

Một số dòng máy không nhận diện được phân vùng FAT32 bị ẩn, nên bạn cần để phân vùng FAT32 lên đầu tiên. nếu bạn dùng ổ cứng thì không sao, vì nó không bị ẩn

Giờ mình sẽ gắn Flags esp cho phân vùng FAT32 UEFI và bios_grub cho phân vùng 4MB

Tiếp theo là mount các phân vùng cần thiết để cài Grub2.

Các phân vùng trên Windows được gắn dưới tên một ổ đĩa, ví dụ C, D, E, F… Còn trên Linux, các phân vùng được gắn (mount) dưới một thư mục, ví dụ /mnt, /media/mountpoint…

Ở đây mình sẽ mount phân vùng UEFI vào /mnt/efi và Data NTFS vào /mnt/boot

Bạn có thể mount vào đâu cũng được, miễn sao bạn thay đổi cho phù hợp

Nếu bạn chưa có 2 thư mục trên thì bạn cần tạo nó ra trước, mình đã tạo nó trước đó rồi, giờ mount vào nhé

sudo mkdir /mnt/efi
sudo mkdir /mnt/boot

Xác định phân vùng UEFI và Data đã, Cột Partition trong Gparted chính là tên thiết bị của phân vùng, nếu bạn không dùng Gparted thì có thể vào Disks hoặc gõ lệnh blkid.

Mount phân vùng bằng lệnh sau:

sudo mount /dev/sdb1 /mnt/boot
sudo mount /dev/sdb2 /mnt/efi

Sau khi mount phân vùng NTFS vào /mnt/boot, bạn sẽ thấy Mounted at /mnt/boot. và FAT32 UEFI sẽ là Mounted at /mnt/efi

Giờ cài các gói Grub2

sudo apt install grub-efi-ia32-bin grub-efi-amd64-bin grub-pc-bin grub2-common grub-efi-amd64-signed

Cài đặt Grub2

sudo grub-install –removable –no-nvram –no-uefi-secure-boot
–efi-directory=/mnt/efi –boot-directory=/mnt/boot/Boot
–target=i386-efi

Lệnh trên sẽ cài Grub i386-efi, UEFI 32-bit

Nếu máy tính của bạn hoặc của người khác có Secure Boot, bạn có thể thay đổi thông số –no-uefi-secure-boot thành –uefi-secure-boot
Nếu bạn đã mount các thư mục khác như của mình, bạn cần phải khai báo lại thông số của –efi-directory và –boot-directory=

–efi-directory=/mnt/efi. Vì các dòng máy mặc định sẽ boot vào đường dẫn /EFI/BOOT/bootx64.efi nên ở đây bạn nên khai báo thư mục gốc của thư mục mà bạn đã gắn phân vùng UEFI vào
–boot-directory=/mnt/boot/Boot. Ở đây mình sẽ đặt thư mục grub, có nghĩa là chứa grub ở trong một thư mục con trên phân vùng NTFS Data là Boot. Vì vậy grub sẽ nằm ở /Boot/grub/

Lệnh này sẽ cài Grub x86_64-efi, UEFI 64-bit

sudo grub-install –removable –no-nvram –no-uefi-secure-boot
–efi-directory=/mnt/efi –boot-directory=/mnt/boot/Boot
–target=x86_64-efi

Lệnh này sẽ cài Grub hỗ trợ chế độ Legacy BIOS, cần phải khai báo thêm ổ đĩa /dev/sdb. /dev/sdb bạn có thể xem ở góc bên phải của Gparted

sudo grub-install –boot-directory=/mnt/boot/Boot
–target=i386-pc /dev/sdb

Installation finished. No error reported. là đã thành công.

/mnt/efi và /mnt/boot là 2 thư mục, cũng là 2 phân vùng đã được gắn vào đó. Ví dụ trên Windows, 2 phân vùng C, D…

Vậy là xong, bây giờ bạn có thể unmount 2 phân vùng này.

Tuy nhiên, để có thể sử dụng Grub2, bạn cần phải có tập tin cấu hình và viết các MENU của bạn vào đó.

Bạn có thể tải tập tin cấu hình ở trang web Mặc định thì tập tin này sẽ có tên là grub.cfg và nằm theo đường dẫn /Boot/grub/grub.cfg

Chúc bạn thành công!

Nguồn:https://ftlinuxcourse.com/

Tin HOT
Leicester City Vs Aston Villa 4-0 Extended Highlights & Goals
Phần Mềm
Cài đặt Foxit Reader – phần mềm đọc file pdf cho Ubuntu miễn phí
Tin HOT
Khai báo không trung thực, bệnh nhân số 17 có bị phạt? | VTC Now
There are currently no comments.