Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Bài viết này sẽ hướng dẫn các bạn cài đặt lại GRUB Boot Loader bị lỗi với bản phân phối Ubuntu của hệ điều hành Linux. Trong bài viết này sẽ giới thiệu với các bạn cách cài đặt lại GRUB khi bị corrupt hoặc ổ cứng bị mất boot loader, cách khôi phục MBR ổ cứng trên Linux.

1. Giới thiệu GRUB

GRUB (Grand Unified Bootloader) là bộ tải khởi động (bootloader) có sẵn từ GNU. Một bộ tải khởi động là rất quan trọng vì không thể khởi động một hệ điều hành mà không có nó. Bộ tải khởi động chuyển điều khiển đến kernel điều hành.

GRUB là bộ tải khởi động mặc định cho nhiều bản phân phối Linux. GRUB hỗ trợ LBA (Logical Block Addressing Mode). Các tùy chọn khởi động như tham số kernel có thể được sửa đổi bằng lệnh GRUB. Hỗ trợ nhiều hệ thống tập tin: BSD FFS, DOS FAT16 và FAT32, Minix fs, Linux ext2fs và ext3fs, ReiserFS, JSF, XFS,...

Quá trình khởi động bằng GRUB yêu cầu GRUB tự tải vào bộ nhớ được thực hiện trong các bước sau:

  • Bộ tải khởi động giai đoạn 1 được BIOS nạp vào bộ nhớ. Bộ tải khởi động này còn được gọi là bộ tải khởi động chính. Nó tồn tại trên 512 byte hoặc ít hơn dung lượng đĩa trong bản ghi khởi động chính. Bộ tải khởi động chính có thể tải bộ tải khởi động giai đoạn 1.5 hoặc giai đoạn 2 nếu cần.
  • Bộ tải khởi động giai đoạn 1.5 được tải vào bộ nhớ bởi bộ tải khởi động giai đoạn 1 nếu cần. Điều này có thể cần thiết trong một số trường hợp vì một số phần cứng yêu cầu bước giữa trước khi chuyển sang trình tải giai đoạn 2.
  • Bộ tải khởi động thứ cấp còn được gọi là bộ tải khởi động giai đoạn 2 và nó có thể được tải vào bộ nhớ bởi bộ tải khởi động chính. Hiển thị menu GRUB và môi trường lệnh là các chức năng được thực hiện bởi trình tải khởi động thứ cấp. Điều này cho phép người dùng xem các tham số hệ thống và chọn hệ điều hành để khởi động.
  • Hệ điều hành hoặc kernel được tải vào bộ nhớ bởi bộ tải khởi động thứ cấp.

2. Cài đặt lại GRUB Boot Loader bị lỗi

Trong một ngày nào đó chúng ta khởi động máy chủ Ubuntu và thấy rằng các hệ điều hành không còn khởi động nữa và chúng ta phát hiện ra rằng GRUB Boot Loader không còn hoạt động. Nguyên nhân có thể GRUB Boot Loader của chúng ta bị hỏng hoặc bị xóa do các vấn đề khác nhau, các lỗi liên quan đến phần cứng hoặc phần mềm hoặc có thể được thay thế bởi các hệ điều hành khác.

Để có thể khôi phục lại GRUB Boot Loader bị lỗi chúng ta cần thực hiện tải file iso của Ubuntu tại đây. Trong ví dụ này chúng ta thực hiện khôi phục GRUB Boot Loader trên bản phân phối Ubuntu 16.04 của hệ điều hành Linux.

👉 Bước 1: Khi chúng ta đã tải xuống phiên bản ISO mới nhất của Ubuntu 16 và thực hiện ghi nó vào đĩa DVD hoặc USB. Để có thể truy cập BIOS chúng ta nhấn một phím đặc biệt (Esc, F2, F11, F12, Del, tùy thuộc vào bo mạch chủ chúng ta sử dụng) và thực hiện sửa đổi thứ tự trong

# grub-install /dev/sda

2 để file ISO chứa trong DVD/USB được khởi động trước lúc khởi động máy, như hình bên dưới:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 2: Khi chúng ta đã thay đổi thứ tự trong

# grub-install /dev/sda

2 màn hình đầu tiên sẽ xuất hiện trong đầu ra của chúng ta như sau:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Tại đây chúng ta sẽ chọn ngôn ngữ và nhấn

# grub-install /dev/sda

4. Trong ví dụ này chúng ta sẽ chọn ngôn ngữ là

# grub-install /dev/sda

5 như trên.

👉 Bước 3: Màn hình tiếp theo sẽ hiển thị như sau:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Chúng ta sẽ nhấn phím

# grub-install /dev/sda

6 để mở menu tùy chọn khác và chọn tùy chọn

# grub-install /dev/sda

7. Sau đó, nhấn phím

# grub-install /dev/sda

8 để trở về trong chế độ chỉnh sửa như hình bên dưới:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Tiếp theo, chúng ta thực hiện chỉnh sửa các tùy chọn khởi động để sử dụng trực tiếp ISO của Ubuntu bằng cách thêm chuỗi này

# grub-install /dev/sda

9 vào ngay sau

# exit

0 như hình sau:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Sau khi chúng ta đã nhập dòng trên vào thì gõ phím

# grub-install /dev/sda

4 để tiếp tục hướng dẫn ISO của Ubuntu trực tiếp khởi động vào chế độ

# exit

2 để khôi phục GRUB Boot Loader.

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 4: Trên màn hình tiếp theo, chúng ta sẽ chọn ngôn ngữ sử dụng để thực hiện khôi phục hệ thống và nhấn phím

# grub-install /dev/sda

4 để tiếp tục.

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Chọn vị trí thích hợp của chúng ta từ danh sách được hiển thị và nhấn phím

# grub-install /dev/sda

4:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 5: Trong hình tiếp theo sẽ hiện thị chọn bố cục bàn phím của chúng ta.

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Tại đây chúng ta thực hiện chọn tùy chọn

# exit

5 và nhấn

# grub-install /dev/sda

4 để đến màng hình tiếp theo:

Chọn bố cục bàn phím của quốc gia:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Nhấn

# grub-install /dev/sda

4 để tiếp tục chọn kiểu bố trí bàn phím:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Nhấn phím

# grub-install /dev/sda

4 để tải một số thành phần bổ sung và định cấu hình mạng cần thiết cho chúng ta

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 6: Sau hệ thống sẽ yêu cầu chúng ta thực hiện thiết lập tên máy chủ. Vì chúng ta không cài đặt hệ thống nên chỉ cần để tên máy chủ của hệ thống làm mặc định

# exit

9 và nhấn

# grub-install /dev/sda

4 như hình sau:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 7: Dựa trên vị trí được cung cấp thệ thống cài đặt sẽ phát hiện múi giờ của chúng ta. Thiết lập này sẽ chỉ hoạt động chính xác nếu máy của bạn được kết nối với internet. Tuy nhiên không quan trọng nếu múi giờ của chúng ta không được chính xác chúng ta có thể thực hiện cài đặt trong hệ thống. Chọn

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

1 như hình sau để tiếp tục:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 8: Tại đây chúng ta sẽ được chuyển vào chế độ khôi phục GRUB.

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Chọn hệ thống phân vùng gốc đối với hệ thống của chúng ta từ danh sách được cung cấp. Sau khi chọn phân vùng gốc hãy nhấn phím

# grub-install /dev/sda

4 để tiếp tục.

Tiếp theo, chúng ta sẽ được cung cấp

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

3 tại đây chọn tùy chọn

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

4 và nhấn phím

# grub-install /dev/sda

4 như hình bên dưới:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Sau khi nhấn phím

# grub-install /dev/sda

4 thì màn hình nhập thiết bị đĩa máy của chúng ta, nơi GRUB sẽ được cài đặt và nhấn [Enter] để tiếp tục, như hình dưới:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Thông thường, chúng ta nên cài đặt bộ tải khởi động trên MBR đĩa cứng máy đầu tiên là

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

7. Quá trình cài đặt GRUB sẽ bắt đầu ngay khi nhấn phím

# grub-install /dev/sda

4.

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Sau khi hệ thống cài đặt

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

9 thì sẽ chuyển trở lại

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

3. Tại đây chúng ta sẽ chọn tùy chọn

root@ubuntu:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.000320805 s, 1.6 MB/s

1 để khởi động lại máy:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 9: Trước khi khởi động lại máy, chúng ta cần phải thực hiện cài đặt BIOS và thay đổi thứ tự

# grub-install /dev/sda

2 khởi động (đặt đĩa cứng với bộ tải khởi động MBR đã cài đặt ở vị trí đầu tiên theo thứ tự menu khởi động). Lưu cài đặt BIOS và khởi động lại máy để áp dụng thứ tự khởi động mới.

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 10: Cuối cùng, chúng ta có thể khởi động trực tiếp từ ổ đĩa thích hợp, có thể khởi động vào hệ điều hành đã cài đặt. Màn hình GRUB đầu tiên đã được xuất hiện như sau:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Cài đặt lại thủ công Grub Boot Loader

Tại bước 8 chúng ta cũng có thể cài đặt thủ công Grub Boot Loader tại

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

3 thay vì chọn tùy chọn

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

4 và nhấn phím

# grub-install /dev/sda

4 tại đây chúng ta chọn tùy chọn

root@ubuntu:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.000320805 s, 1.6 MB/s

6 và nhấn phím [Enter] để tiếp tục.

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Trên màn hình tiếp theo, chọn

root@ubuntu:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.000320805 s, 1.6 MB/s

7 và nhấn phím

# grub-install /dev/sda

4 để mở chế độ

root@ubuntu:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.000320805 s, 1.6 MB/s

9 trong phân vùng gốc của chúng ta.

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024
root@ubuntu:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.000320805 s, 1.6 MB/s

9 được mở thực thi lệnh sau để xác định các thiết bị đĩa cứng của máy:

# ls /dev/sd* 

Sau khi đã xác định đúng thiết bị đĩa cứng (thường là đĩa đầu tiên /dev/sda) chạy lệnh sau để cài đặt

root@ubuntu:~# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0

1 trên MBR đĩa cứng đã xác định.

# grub-install /dev/sda

Khi GRUB được cài đặt thành công, hãy thoát khỏi

root@ubuntu:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.000320805 s, 1.6 MB/s

9 bằng cách chạy lệnh

root@ubuntu:~# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0

3.

# exit

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Chúng ta thoát khỏi dấu nhắc shell quay trở lại

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

3. Tại đây chúng ta sẽ chọn tùy chọn

root@ubuntu:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.000320805 s, 1.6 MB/s

1 để khởi động lại máy:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Sau đó thực hiện tương tự bước 9 và bước 10 phía trên để có thể khởi động trực tiếp từ ổ đĩa thích hợp mà chúng ta đã cài đặt GRUB.

3. Khôi phục MBR ổ cứng trên Linux

Đầu tiên chúng ta sử dụng lệnh fdisk để liệt kê danh sách phân vùng trên hệ thống đĩa của bạn và các phân vùng được sắp xếp theo tên

root@ubuntu:~# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0

6 của thiết bị như

root@ubuntu:~# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0

7... Thực thi lệnh sau:

root@ubuntu:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2a055e23
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501182 41940991 40439810 19.3G  5 Extended
/dev/sda5       1501184 41940991 40439808 19.3G 8e Linux LVM
Disk /dev/mapper/ubuntu--vg-root: 18.3 GiB, 19675480064 bytes, 38428672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ubuntu--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 975.5 MiB, 1022885888 bytes, 1997824 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Để có thể minh họa cho quá trình khôi phục MBR chúng ta thực hiện xóa bản ghi khởi động chính (MBR) của hệ thống Linux bằng cách sử dụng lệnh dd như sau để có thể chuyển 512 byte đầu tiên (chứa bảng phân vùng và bộ Boot Loader) của ổ đĩa cứng

root@ubuntu:~# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0

7 bằng số không

root@ubuntu:~# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0

9:

root@ubuntu:~# dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes copied, 0.000320805 s, 1.6 MB/s

Sau khi thực thi lệnh trên chúng ta sẽ thực hiện khôi phục MBR bằng cách như bên dưới:

👉 Bước 1: Để có thể tìm đúng ổ cứng chúng ta sử dụng lệnh

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

0 hoặc lệnh

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

1 để kiểm tra như bên dưới:

root@ubuntu:~# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0

Hoặc

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

👉 Bước 2: Khi chúng ta đã tìm đúng tên của ổ cứng thì công cụ Testdisk sẽ giúp chúng ta trong quá trình thực hiện khôi phục MBR. Thực thi lệnh

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2 để có thể phát hiện các phân vùng và viết lại MBR bằng cách thực hiện các bước sau:

Bước 2.1: Bắt đầu lệnh

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2 và chọn một file nhật ký để ghi lại các thay đổi:

root@ubuntu:~# testdisk

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Bước 2.2: Chọn một ổ đĩa cứng và chọn

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

4:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Bước 2.3: Chọn phân vùng trong bước này thì hệ thống sẽ tự động dự đoán và làm nổi bật sự lựa chọn bảng phân vùng tốt nhất đối với ổ đĩa của chúng ta:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Bước 2.4: Chúng ta cần chọn

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

5 để tiếp tục:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Sau đó chúng ta chọn

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

6:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Phân vùng đã được phát hiện chúng ta nhấn phím

# grub-install /dev/sda

4 để tiếp tục:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Sau khi nhấn

# grub-install /dev/sda

4 kết quả hiển thị như hình bên dưới, chúng ta sẽ di chuyển qua tùy chọn

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

9 để ghi lại MBR:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Chúng ta cần xác định sẽ ghi lại MBR bằng cách nhấn phím

root@ubuntu:~# testdisk

0:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

Quá trình ghi lại MBR thành công nhấn

# grub-install /dev/sda

4 để kết thúc:

Lỗi gnu khi boot vào usb cài đặt ubuntu năm 2024

👉 Bước 3: Bây giờ, lệnh

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

1 cũng liệt kê lại các phân vùng đã xác định:

root@ubuntu:~# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048  1499135  1497088  731M 83 Linux
/dev/sda2       1501184 41940991 40439808 19.3G 8e Linux LVM

Nếu chúng takhởi động lại hệ thống ngay bây giờ thì sẽ thất bại do thiếu bộ tải khởi động. Do đó chúng ta cần cài đặt lại GRUB(2) sử dụng phương pháp trực tiếp như sau:

root@ubuntu:~#  mount /dev/sda1 /mnt
root@ubuntu:~# grub-install --no-floppy --root-directory=/mnt /dev/sda

Nếu phiên bản GRUB trên phương pháp trực tiếp mới hơn phiên bản trên máy chủ của chúng ta (GRUB2 so với GRUB-legacy). Trong trường hợp này, các tệp cấu hình có sẵn không tương thích và chúng cần phải gắn kết tất cả các phân vùng hệ thống và sử dụng môi trường

root@ubuntu:~# testdisk

3:

# grub-install /dev/sda

0

Bây giờ, Boot Loader có thể được cài đặt lại:

# grub-install /dev/sda

1

4. Lời kết

Qua bài trên, giúp cho chúng ta hiểu hơn về cách khôi phục GRUB Boot Loader trên hệ điều hành Linux. Ngoài ra, bài viết trên còn hổ trợ chúng ta trong việc cài đặt lại MBR của ổ đĩa trên hệ điều hành Linux giúp cho chúng ta có thể khắc phục các sự cố liên quan đến MBR cũng như sự cố liên quá đến GRUB trên hệ thống Linux.