Có thể xác minh cài đặt grub mà không cần khởi động lại?


24

Tôi đã bị cắn bởi điều này rất nhiều lần và hôm nay sau khi các opensslbản cập nhật trong máy chủ của tôi phàn nàn rằng tôi nên cài đặt lại vì "đĩa cứng mà nó đã được cài đặt trước đó không tồn tại".

Tôi có cài đặt đột kích 1 với cài đặt sau (theo bootinfoscript):

> ============================= Boot Info Summary: ===============================
> 
>  => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at
> sector 1 of the same hard drive for core.img. core.img is at this location and looks
>     for (mduuid/d2a04f98760e2b3cc23ba87845667605)/grub on this drive.  
>
> => Grub2 (v1.99) is installed in the MBR of /dev/sdb and looks at sector 1 of
>     the same hard drive for core.img. core.img is at this location and looks
>     for (mduuid/d2a04f98760e2b3cc23ba87845667605)/grub on this drive.

My mount points are:

> /dev/md2 on / type ext4 (rw) 

> /dev/md1 on /boot type ext3 (rw)

And mduuid seems to match the ones bootinfoscript mentions:

> ls -l /dev/disk/by-id/md-uuid-*
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-38048286:e3004e47:510ca3e1:2bae3f2e -> ../../md2 
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-d2a04f98:760e2b3c:c23ba878:45667605 -> ../../md1 
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-e099b695:0143bb58:e4ef7645:0f22ce0b -> ../../md0

Chạy grub-install hoạt động, nhưng tôi muốn chắc chắn rằng sau khi khởi động lại grub sẽ thực sự khởi động chính xác các phân vùng của tôi.

Làm thế nào tôi có thể xác minh nó?


1
Tôi không sử dụng cũng không thực sự biết RAID, nhưng bạn cài đặt grub vào thư mục gốc của RAID chứ không phải MBR của ổ đĩa. Nếu bạn chạy Boot-Repair thì bạn có thể nhận được một thông báo như thế này. Không có bộ tải khởi động nào được cài đặt trong MBR của / dev / mapper / isw_cdjacjeebj_VOLUME_0. Trong đó trình ánh xạ là khối lượng RAID của bạn.
oldfred

Câu trả lời:


19

Tôi không nghĩ rằng bạn chỉ có thể kiểm tra xem điều này có hoạt động hay không trước khi thử thực hiện nó, nhưng thay vào đó bạn có thể xem trước GRUB của mình ngay lập tức để bạn có thể chắc chắn rằng cấu hình mới của bạn được tải chính xác trong GRUB.

Điều này có thể đạt được bằng cách sử dụng một công cụ được gọi là grub-emu.

man grub-emu

NAME
       grub-emu - GRUB emulator

SYNOPSIS
       grub-emu [OPTION]...

DESCRIPTION
       GRUB emulator.

       -r, --root-device=DEV
              use DEV as the root device [default=guessed]

       -m, --device-map=FILE
              use FILE as the device map [default=/boot/grub/device.map]

       -d, --directory=DIR
              use GRUB files in the directory DIR [default=/boot/grub]

       -v, --verbose
              print verbose messages

Dễ dàng cài đặt grub-emubằng dòng lệnh:

sudo apt-get install grub-emu

Để chạy nó, chỉ cần sử dụng terminal để chạy lệnh này:

grub-emu

1
Đây có phải là một thử nghiệm đáng tin cậy cho cài đặt grub2? Ngoài ra, đầu vào bàn phím dường như không hoạt động cho menu xuất hiện; Có một mẹo để kích hoạt nó?
Michael Scheper

Tôi không thể đóng grub-emu, cách duy nhất để dừng nó là pkill -SIGKILL -fe grub-emu, đầu vào bàn phím cũng không hoạt động
Aquarius Power

1
@MichaelScheper sửa này interactiveness serverfault.com/a/847429/163750 :). Về cơ bản, xterm -e grub-emuvà giữ sự tập trung vào xterm chứ không phải cửa sổ grub-emu!
Sức mạnh Bảo Bình

4

Câu trả lời này sử dụng file -s /dev/sdađể xem GRUB MBR đã được cài đặt thành công chưa. Trước đó, bạn chắc chắn có thể kiểm tra kỹ các giá trị /boot/grub/grub.cfgđể đảm bảo các UUID khớp với các giá trị trong /dev/disk/by-uuidvà đảm bảo rằng mọi thứ đều đúng /boot/grub/device.map. Nếu tệp đó sai, bạn sẽ gặp rắc rối với thông số kỹ thuật (hdX) trong grub.cfg.

Việc quản lý các tệp này theo cách thủ công là không cần thiết mặc dù nếu bạn đang sử dụng update-grubsau khi cài đặt grub trên các ổ đĩa thay thế. Các vấn đề lớn nhất theo kinh nghiệm của tôi là không cập nhật cấu hình GRUB, không cài đặt GRUB trên tất cả các ổ đĩa hoặc phân vùng không chính xác khiến bạn không thể cài đặt GRUB mà không sử dụng - Force.


2
Câu trả lời đó chỉ sử dụng file -scho grub1, cho grub 2 có câu trả lời thứ hai gợi ýdd bs=512 count=1 if=/dev/sda 2>/dev/null | strings|grep GRUB
rubo77

không có "/boot/grub/device.map", nhưng thx cho liên kết đó!
Sức mạnh Bảo Bình
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.