Чи можна перевірити встановлення grub без перезавантаження?


24

Мене це покусало стільки разів, і сьогодні після opensslоновлень на моєму серверному грубі поскаржився, що мені слід його встановити ще раз, оскільки "жорстких дисків, які раніше встановлені, не існує".

У мене встановлено рейд 1 із наступним налаштуванням (відповідно до 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

Запуск grub-install працює, але я хочу переконатися, що після перезавантаження grub насправді правильно завантажить мої розділи.

Як я можу це перевірити?


1
Я не використовую і не знаю RAID, але ви встановлюєте grub до кореня RAID, а не до MBR накопичувача. Якщо ви запустили Boot-Repair, то ви можете отримати таке повідомлення. Жоден завантажувач не встановлений у MBR / dev / mapper / isw_cdjacjeebj_VOLUME_0. Де в картографі є ваш об'єм RAID.
oldfred

Відповіді:


19

Я не думаю, що ви можете просто перевірити, спрацює це чи ні, перш ніж намагатися це зробити, але замість цього ви можете отримати попередній перегляд GRUB миттєво, щоб ви могли бути впевнені, що ваша нова конфігурація завантажена правильно в GRUB.

Цього можна досягти за допомогою інструменту під назвою 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

Легко встановити grub-emuза допомогою командного рядка:

sudo apt-get install grub-emu

Для його запуску просто використовуйте термінал для запуску цієї команди:

grub-emu

1
Це надійний тест для установок grub2? Крім того, введення на клавіатурі, здається, не працює для меню, яке з'явиться; чи є фокус для його включення?
Майкл Шепер

Я не можу закрити grub-emu, єдиний спосіб зупинити це - також pkill -SIGKILL -fe grub-emuне працює вкладка клавіатури
Водолій Power

1
@MichaelScheper це виправляє сервер інтерактивності default.com/a/847429/163750 :). В основному, xterm -e grub-emuі тримайте фокус на xterm не на вікні grub-emu!
Сила Водолія

4

Ця відповідь використовує file -s /dev/sdaдля того, щоб перевірити, чи успішно встановлено GRUB MBR. Минулого цього ви можете напевно перевірити значення, /boot/grub/grub.cfgщоб переконатися, що UUID збігаються зі значеннями /dev/disk/by-uuid, а також переконатися, що все виглядає правильно /boot/grub/device.map. Якщо цей файл невірний, у вас виникнуть проблеми зі специфікаціями (hdX) у grub.cfg.

Керувати цими файлами вручну не потрібно, хоча ви використовуєте update-grubпісля встановлення grub на дисках заміни. Найбільший досвід у моєму досвіді - це не оновлення конфігурації GRUB, не встановлення GRUB на всіх дисках, або неправильне розділення, завдяки чому ви не можете встановити GRUB без використання --force.


2
Ця відповідь використовується лише file -sдля grub1, для grub 2 є друга відповідь, яка говоритьdd bs=512 count=1 if=/dev/sda 2>/dev/null | strings|grep GRUB
rubo77

немає "/boot/grub/device.map", але thx для цього посилання!
Сила Водолія
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.