Error symbol grub disk get size not found

This document (000020692) is provided subject to the disclaimer at the end of this document.

This document (000020692) is provided subject to the disclaimer at the end of this document.

SUSE Linux Enterprise Server 15SP4
SUSE Linux Enterprise Server 15SP3
SUSE Linux Enterprise Server 15SP2

A SUSE Linux Enterprise Server, POWER architecture is being installed, updated or migrated to the next Service Pack.
Kernel update or even installation fails with an error.
In the yast2 logs one can find e.g.

2022-06-28 11:09:46 <3> update-bootloader-9653 run_command.294: '/usr/lib/bootloader/grub2/install' failed with exit code 1, output:
<<<<<<<<<<<<<<<<
target = powerpc-ieee1275
+ /usr/sbin/grub2-install --suse-inhibit-signed --target=powerpc-ieee1275 --force --skip-fs-probe /dev/disk/by-id/<sanitized>
Installing for powerpc-ieee1275 platform.
nvram: ERROR: cannot open "/dev/nvram": No such device
nvram: ERROR: cannot open "/dev/misc/nvram": No such file or directory
/usr/sbin/grub2-install: error: `nvsetenv' failed. 
You will have to set `boot-device' variable manually.  At the IEEE1275 prompt, type:
  setenv boot-device /vdevice/vfc-client@30000015/disk@<serial-id>

Note the «nvram: ERROR: cannot open «/dev/nvram»: No such device» which points to the problem

Make sure the «nvram» kernel module is loaded before attempting to install or update a kernel.

# modprobe nvram 

Since kernel 5.1 nvram is not a builtin, but a kernel module (CONFIG_NVRAM=m) on the POWER architecture.
Under rare circumstances the nvram module is not loaded and a grub2 check fails during installing the bootloader.
If the old kernel is removed, booting will fail and the system stops in

# grub_rescue:> 

 

Issue is reported to SUSE engineering already.

In case the system is not booting anymore already, use the following fix:

Boot a rescue system from a SLES15 SP2/3/4 installation iso.
1 —  On the menu, select “Rescue system” or “more” and “Rescue system”.

2 — By default, the rescue system will activate the LVM volume group right away, which is not optimal when rescuing a system with multipath configured.

In order to deactivate the volume group, use the following command :

# vgchange -an 

Now,  start the multipath service with :

# modprobe dm_multipath
# systemctl restart multipathd  

Confirm that the paths are visible with the command :

# multipath -ll 

 3 – Make sure that the filter in /etc/lvm/lvm.conf is set to accept only multipath devices by changing the «filter =» line as described below :

filter = [ "a|/dev/disk/by-id/dm-uuid-.*mpath.*|", "r/.*/" ] 

Starting 15SP3, we don’t use lvmetad anymore, so just check with

# pvscan ; vgscan 

If set correctly, the “pvscan” command shouldn’t output «Found duplicate PV» messages.
If it does, or if no devices at all are shown, the filter is wrong. Check for typos.

4 – Mount the root LV using  /dev/mapper and bind

/proc, /dev, /sys and /run to it:

# vgchange -ay
# mount /dev/mapper/system-root /mnt
# mount /dev/mapper/system-usr /mnt/usr  <---Necessary only if /usr is a separate partition!
# for i in /dev /proc /sys /run ; do mount -o bind /$i /mnt/$i ; done
 

  5 — Now the nvram kernel module must be loaded!

# modprobe nvram

6 — Make sure the LVM filter in the installed system is set similar to the above.

7 —  Next change  root to

/mnt

# chroot /mnt
# mount -a

 

and check if all local volumes are mounted correctly

8 — First, determine the PReP partition. It is mandatory to boot the system and should be the first partition on the disk, size typically between 4 and 12MB, so, pretty small.

# fdisk -l  | less 

Then proceed with reinstalling grub2 into the PReP partition found above:

# grub2-install /dev/mapper/360000000000000000000000000000000-part1   # EXAMPLE!

Then exit chroot and reboot.

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented «AS IS» WITHOUT WARRANTY OF ANY KIND.

You will need to be sure that disk is properly connected in first place. Then you will see that drive on Computer setup (AKA BIOS setup).

Most the times when removing/connecting drives you only need to get into Computer setup and check settings are as they were before (SATA mode, boot mode [UEFI/BIOS/Both], Secure boot[disabled] if UEFI mode, boot order, fast/quick boot[disable],..and boot menu key is [anabled[ if any).

If any change was needed, after saving changes and exit, get into computer setup again and go on checking setting (some functions are not shown depending on other settings, i.e. you wont see Hard drive BBS priority or UEFI boot options if booting on BIOS legacy,…)

Also you will need to restart computer (Alt+Ctrl+Del) a couple of times to see external devices connected on computer setup or boot menu.

Depending on computer brand and model you don’t mention, you can use a boot menu key and see options there.

If Mint 20.3 on SAMSUNG is installed on UEFI mode (you didn’t say) you will see an Ubuntu option on that menu. If it was installed on BIOS mode you only will see drives options there.

You will see both option (UEFI and drives) if Compatibility mode, CSM or Legacy support depending on firmware, is enabled on Computer setup.

As it is already said, maybe after plug-in external device (USB), you need to restart computer(Alt+Ctrl+Del) a couple of times if EFI/USB drive option is not show on menu first time. or change setting on computer setup as mentioned.

Also you can try to boot from that grub rescue> shell (see here). At least, in order to change settings accordingly on computer setup, you will be sure

Disk/s (hdx) is/are detected with ls,

Mint is installed on UEFI if you will get gpt partitions on drives (it is rare, not imposible booting on UEFI mode from MBR/msdos disk) when running ls and/or one of them, the EFI one, with ubuntu directory as per ls (hdx,gpty)/EFI/ or ls (hdx,msdosy)/EFI/ ,

Boot directory on Mint’s root partition can be accessed to find all you need to boot (ls (hdx,gptz)/boot/grub or ls (hdx,msdosz)/boot/grub if BIOS legacy),

Arrieritos semos y en el camino nos encontraremos.

  1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, — этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление

  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:

    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU

    Скрыть объявление

  1. pct


    pct

    Регистрация:
    25 окт 2009
    Сообщения:
    3.324

    Имею Хромбук Thinkpad 11e, на который в приступе красноглазия несколько лет назад установил Gallium OS. Всё прекрасно работало, обновлялось. Сегодня решил почистить и убрать хбук в сумку, а он не грузится.
    error: symbol `grub_disk_get_size` not found
    Entering rescue mode…
    grub rescue
    И командная строка. Подобное пару лет назад было, но с сокращением красноглазия скилл быстро теряется. Что делать — не помню. Алкоголизм и кессонка всё же действуют.
    С USB Uefi образы грузятся. Из бут менеджера EMMC память видит. grubx64.efi лежит на месте.
    Прошу помощи.

  2. pct


    pct

    Регистрация:
    25 окт 2009
    Сообщения:
    3.324

    Короче SOLVED. Зашёл в свою папку с образами всякого, вижу лежит boot-repair-disk-64bit (1).iso
    Это специальный загрузочный диск для камасутры с загрузкой Ubuntu. Записал на флешь руфусом, грузанулся, включил интернет, обновился, перезагрузился уже нормально.
    Кому надо boot-repair-disk — Browse Files at SourceForge.net


Форум Old-Games.RU. Всё о старых играх

  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.

    Скрыть объявление

Нередко возникает необходимость в установке двух принципиально разных операционных систем на один компьютер: Windows и Linux. Разумеется, подобное «соседство» будет связано с некоторыми неудобствами. Для установки, как правило, используют специальную программу GRUB. Но к сожалению, при её использовании можно столкнуться с рядом ошибок. В этой статье разберёмся с тем, как исправить ошибки загрузчика GRUB. Давайте же начнём. Поехали!

Исправление ошибок GRUB

Для начала давайте определимся с тем, что из себя представляет эта программа. GRUB — представляет собой системный загрузчик, устанавливающийся непосредственно с Линукса и записывающий все данные на первый раздел диска (MBR).

Сам rescue mode является отличительной чертой GRUB 2 от его предыдущей версии. Этот режим запускается, если программе-загрузчику не удалось найти файл «grub.cfg» либо не удалось передать управление в kernel (ядро). В итоге не удаётся найти загрузочные файлы и запустить операционную систему. Именно тогда и возникает ошибка.

Ошибка: Unknown Filesystem

Следуйте инструкциям ниже, чтобы узнать, как решить проблему с GRUB

Способ 1

Что делать в случае ошибки unknown filesystem grub-rescue? Перед вами окно, в котором можно использовать только 4 команды, их вполне достаточно, чтобы исправить все проблемы и успешно загрузиться:

  • ls — позволяет вывести всё содержимое;
  • set — применяется для установки переменных;
  • unset — очищает переменную;
  • insmod — необходима для загрузки модулей.

Также можно сделать доступным ряд других команд. Сделать их доступными можно, загрузив модуль «normal». Для этого пропишите:

insmod normal

После этого станут доступны:

  • dump — для очистки памяти;
  • exit — команда выхода из загрузчика;
  • chainloader — необходима, чтобы указать последующей команде boot передать управление цепочечному загрузчику;
  • kfreebsd — несколько команд, позволяющих загрузить ядро FreeBSD, его модули;
  • rmmod — позволяет выгрузить указанный модуль ядра;
  • multiboot.

Первым делом нужно отыскать модули, чтобы загрузить их. Для этого введите:

ls

Результатом выполнения команды будет следующее:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

Из этого можно сделать вывод, что загрузчик не может определить файловые системы дисков, поэтому определяет их как msdos. Теперь необходимо угадать видимые диски. В конкретном примере перед вами два диска: hd0 (с тремя разделами) и hd1 (с двумя разделами). Допустим, вы знаете, что Linux инсталлирован на диск, который имеет три раздела. В таком случае вам нужен диск с индексом «0».

GRUB даёт названия разделам в обратном порядке. В связи с этим, неясно как трактовать запись: «(hd0,msdos3)». Ведь можно посчитать это как первым разделом, так и третьим. К счастью, из этой ситуации можно выйти при помощи такого синтаксиса команды: «(hd0,1)». Обратите внимание, что в программе-загрузчике GRUB отсчёт дисков идёт с 0, а разделов с 1.

Допустим, что Линукс хранится в первом разделе, тогда он будет обозначаться (hd0,1). В этом случае команда, которую необходимо прописать, будет иметь вид:

set prefix=(hd0,1)/boot/grub
set root=(hd0,1)

Теперь модули могут быть загружены. Использовать их можно только после загрузки.

После того как вы выбрали нужный диск, проверьте содержится ли там то, что нужно. Для этого пропишите:

ls /boot/grub

В результате выполнения на экране появится список md файлов.

Далее, пропишите:

insmod ext2
insmod normal
normal

После этого загрузчик будет переведён в режим полной функциональности. Затем автоматически будут найдены разделы с операционной системой, и откроется меню программы.

Теперь остаётся загрузить Linux. Делается это при помощи команды:

grub-install /dev/sda

Ноутбук с ОС Linux

Способ 2

Всё сильно упрощается, если использовать Live CD – загрузочный диск с системой Linux. Он может быть записан на флешке, на внешнем винчестере или на обычном диске – это неважно, главное, чтобы с него можно было загрузить компьютер.

После загрузки Linux стандартным способом устанавливается бесплатная утилита Boot Repair. Она предназначена именно для устранения ошибок загрузки с помощью загрузчика Grub и очень проста в использовании – достаточно кликнуть по кнопке.

Заметим, что иметь Live CD для линуксоида всегда полезно и даже необходимо. Это зачастую избавляет от множества проблем, так как позволяет загрузить полноценную систему с внешнего носителя и использовать весь её инструментарий. Скачать такой диск с любой версией Linux не представляет сложностей, в комплекте обычно идёт инструкция по записи его на флешку.

После выполнения всех этих действий ошибка будет устранена. Пишите в комментариях была ли полезна для вас эта статья и задавайте любые интересующие вопросы по рассмотренной теме.

Понравилась статья? Поделить с друзьями:
  • Error symbol grub calloc not found entering rescue mode grub rescue
  • Error symbol grub calloc not found astra linux как восстановить
  • Error sxs assembly not found
  • Error switch quantity not an integer
  • Error switch jumps into scope of identifier with variably modified type