По сути, моей проблемой был /boot (/dev /sda1), который был очень маленьким разделом (88 Mo).

Имея доступную VolumeGroup на этой машине, я отформатировал новый том LVM (600 Мо).

Затем я скопировал содержимое /boot / в новый раздел LVM (с помощью cpio).

Я сделал umount /boot и некоторые изменения в Fstab, чтобы заменить старый раздел /boot.

Наконец, я сделал update-grub чтобы правильно сгенерировать новый grub.cfg . Я перезагрузился, и это уже работало. Я думал, что мой новый раздел LVM был правильным, поэтому с помощью fdisk /dev/sda я удаляю /dev/sda1 .

И теперь у меня есть Grub Rescue при загрузке ..

Даже с Ubuntu livecd:

grub-install --modules='lvm' /dev/rootvg/bootlv

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.


grub-install --modules='lvm' /dev/sda5

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.

Та же ошибка ...

Есть ли решение установить загрузчик Grub на существующее устройство LVM?

1 ответ1

-1

Может быть (я новичок в lvm и grub) вам нужно установить grub следующим образом:

grub-install --modules = 'lvm' --boot-directory =/dev/rootvg/bootlv dev/sda

Чтобы установить grub на MBR и использовать /dev /rootvg /bootlv в качестве раздела /boot, где находятся файлы grub.

Но если диск GPT и вы загружаетесь с BIOS, вам понадобится специальный раздел от 1MB до 8MiB типа BIOS_grub (без какого-либо формата, это необработанный раздел для stage2 grub).

У меня много проблем с загрузкой Grub2 из [U] EFI с разделом EFI и LVM, с разделом /boot внутри 3-полосного Raid0 LVM, но я могу загрузить его нормально, если режим загрузки BIOS.

Разделы, которые у меня есть на каждом из трех жестких дисков (все одинакового размера, положения и т.д.) В стиле GPT: GPT1: LVM (большой, оставшееся место на жестком диске) GPT2: EFI (512MiB, FAT32) GPT3: bios_grub (8MiB, без формата - RAW)

Я создаю vg на всех /dev /sd [ac] 1 и внутри LVM один раздел для /boot

Я монтирую / загружаю с помощью: mount / dev / mapper / bla_bla_bla / boot

Я создаю точку монтирования EFI на нем (не очень нужно, но помогает набирать меньше букв в grub2-install)

Я монтирую /dev /sda2 в /boot /efi

Затем я добавляю lvm в необходимые модули командой:

echo GRUB_PRELOAD_MODULES =\"lvm\" >> /dev /default /grub

Затем я устанавливаю Grub2 с помощью этой команды:

grub-install --target = i386-pc /dev /sda

И вуаля, размонтируйся и перезагрузись в режиме BIOS и он загрузит Grub2.

Важно, перед размонтированием /boot отредактируйте /boot/grub/grub.cfg, чтобы он соответствовал вашим требованиям.

И, пожалуйста, помните, что я не загружаю ОС, я только устанавливаю Grub2 внутри LVM-раздела и могу загружаться.

Примечание. Если я устанавливаю с целевым x86_64-efi, он показывает два сообщения, и после того, как он не загружается в режиме [U] EFI правильно, LVM не доступен.

П.Д .: Я достиг уровня известного обязательства по созданию двух разных USB-флешек, которые могут загружаться в режиме [U] EFI и в режиме BIOS в цикле SystemRescueCD.iso, но когда я пытаюсь загрузить Grub2, находящийся в LVM, у меня возникают проблемы, если в [U] Режим EFI ... я не эксперт ... я работаю над Grub2 и LVM, LUKS и т.д. ... я собираюсь создать очень сложную загрузку ... три флешки в Raid0 LVM без /boot вне LVM и может загружаться только на компьютерах [U] EFI и на старых компьютерах с BIOS только на смешанных компьютерах и т. д. Я нахожусь в точке, где я могу загружаться как на [U] FI, так и на BIOS, если /boot находится вне LVM и в режиме BIOS, также с /boot внутри LVM, но не в [U] EFI с /boot внутри LVM.

PPD: я боюсь, что это ошибка в grub2 * .efi, которая не монтирует LVM, поэтому я рекомендую вам загружаться в режиме BIOS ... среди этого я читал некоторые статьи ArchLinux о том, что он может быть установлен на LVM без /boot раздел и имеющий / внутри LVM, но не получил пошагово, и я не могу воспроизвести это; и это не моя настоящая цель, так как я не хочу, чтобы Linux был установлен, только Grub2 ... последняя реальная цель - иметь Linux внутри большого файла, который находится внутри раздела LVM, который находится внутри раздела LUKS, который находится на Раздел LVM, который использует три физических жестких диска с идентификатором режима raid0 (3 полосы) и загружается с USB, имеющего режимы загрузки [U] EFI & Bios с Grub2, которые загружаются в Grub2, который находится внутри такого большого файла, и этот Grub2 будет загружать ядро, initram и т. д. внутри такого большого файла ... и т. д .; правдоподобно отрицать, что у вас такой Linux ... если при загрузке с жесткого диска будет показан зашифрованный Linux, где на его rootfs находится большой файл, о котором я упоминаю, но если я загружаюсь с внешнего USB-накопителя, если вы знаете, как загрузить Linux внутри этого файла ... параноидальный режим: команды для создания такой цепочки будут в моей памяти, а не на USB-накопителе, на USB-накопителе будет только циклическая загрузка SystemRescueCD.iso, но вместо выбора для загрузки введите c для перехода grub console и введите эти команды для цепной загрузки в Linux внутри большого файла, о котором я упоминаю ... я знаю, что это слишком, слишком сложно ... но без трюка с TrueCrypt / VeraCrypt, который в зависимости от ключевой фразы монтирует фиктивную ОС или скрытая ОС, у меня нет другого выбора, поэтому я начал несколько месяцев назад с первых шагов ... есть USB, который загружается на [U] EFI и только на компьютерах с BIOS (готово), с Grub2 внутри LVM (сделано для Режим BIOS, ошибка в режиме [U] EFI), так много шагов, чтобы пройти влево.

Я надеюсь, что моя схема и команды могут помочь вам узнать, как загрузить вашу систему, или, по крайней мере, дать вам возможность искать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .