Не может найти корень LVM роняемым к initramfs

Когда я загружаюсь, я получаю экранное высказывание:

Gave up waiting for root device

Затем это перечисляет типичные проблемы:

ALERT! /dev/mapper/ubuntu--vg-root does npt exist. Dropping to a shell!

Затем я получаю подсказку initramfs.

Действительно ли это является закрепляемым без резервного копирования?

Я не могу помнить точно, что я сделал, чтобы заставить это прекратить работать...

(Мой жесткий диск НЕ шифруется.)

5
задан 2 October 2016 в 03:30

5 ответов

Автоматическое обнаружение LVM Ubuntu не работало вообще для меня также. Для фиксации его я сделал сценарий в

/etc/initramfs-tools/scripts/local-top/forcelvm

со следующим содержанием:

#!/bin/sh
PREREQ=""
prereqs()
{
   echo "$PREREQ"
}
case $1 in
prereqs)
   prereqs
   exit 0
   ;;
esac
. /scripts/functions
# Begin real processing below this line

# This was necessary because ubuntu's LVM autodetect is completely broken. This
# is the only line they needed in their script. It makes no sense.
# How was this so hard for you to do, Ubuntu?!?!?
lvm vgchange -ay

Затем сделал

# chmod +x `/etc/initramfs-tools/scripts/local-top/forcelvm`

в придачу и

# update-initramfs -u -k all

, Который зафиксировал все при сохранении после системного обновления.

9
ответ дан 23 November 2019 в 08:45
  1. Резервное копирование

    /usr/share/initramfs-tools/scripts/local-top/lvm2
    
  2. Редактирование

    /usr/share/initramfs-tools/scripts/local-top/lvm2
    
  3. Между modprobe -q dm-mod и activate_vg "$ROOT" добавляют эту строку для инициализации lvm:

    lvm vgchange -ayactivate_vg "$ROOT"
    
  4. Восстанавливают Ваш initramfs:

    sudo update-initramfs -u
    
  5. Восстанавливают Вашу личинку cfg:

     sudo update-grub
    

Обладают! :-)

0
ответ дан 23 November 2019 в 08:45

Для некоторых из Вас это могла бы быть проблема в Вашем grub.cfg:

Споткнулся о той же проблеме (корень, не найденный, поскольку lvm группы объема не были активированы initrd), сегодня на 18,04. Я выяснил, что группы объема автоматически активируются, если Вы указываете свое корневое устройство в "grub.cfg" через имя устройства

linux   /vmlinuz root=/dev/mapper/vg-root

, где, поскольку они автоматически не активируются при определении его на UUID

linux   /vmlinuz root=UUID=abcd-[...]

Таким образом, должен был быть некоторый сценарий в initrd, который содержит эту логику.

1
ответ дан 23 November 2019 в 08:45

Попробуйте временное обходное решение

В initramfs запрашивают тип:

vgchange -ay

Демонстрационный вывод:

логический том (тома) в группе "vg1000" объема, теперь активной

Сопровождаемый:

exit

Если у Вас есть снимок LVM корневого раздела, это - ошибка № 360237. Я решаю эту проблему, удаляющую/удаляющую тот снимок.

Если не Ваш случай, попытка фиксирует выполнение этого.

Другой связал ошибки: № 1396213, № 29858, № 1163406

2
ответ дан 23 November 2019 в 08:45

1

В initramfs введите:

     #/sbin/lvm vgchange -a y
     #vgchange -a y
     #exit

Если Вы не можете решить проблему, введите это:

ls/dev/mapper Теперь, необходимо было найти корень (как/dev/vgname/lvname).

перезагрузка И затем выбирает ядро на экране и выбирает e, чтобы отредактировать и вставить корневое значение (как/dev/vgname/lvname) в:

/boot/vmlinuxxxxx root=uuid/dev/xxx. Затем наконец, нажмите Ctrl+X для начальной загрузки.

Если проблема повторяется когда перезагрузка сервер

перейдите в

#/boot/grub/grub.cfg в/vm/vmlinuz root=write Ваш весь путь lv

если проблема не зафиксированная попытка фиксирует initramfs как ниже

1. Перейдите к терминалу сервера

  # sudo rmmod floppy

   #echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklis-floppy.conf

Initramfs-инструменты #dpkg-reconfigure #update-initramfs-u #update-grub #reboot Выполняют это

#/etc/initramfs-tools/scripts/local-top/forcelvm со следующим содержанием:

#!/bin/sh PREREQ = "" prereqs () {отзываются эхом, "$PREREQ"} случай 1$ в prereqs) prereqs выходят 0;; esac./scripts/functions lvm vgchange - да Затем делают

   # chmod +x `/etc/initramfs-tools/scripts/local-top/forcelvm`
   # update-initramfs -u -k all

возьмите резервное копирование lvm2

    #apt-get install lvm2
    #cp /usr/share/initramfs-tools/scripts/local-top/lvm2  /tmp

Редактирование lvm2

      #vi /usr/share/initramfs-tools/scripts/local-top/lvm2

запишите Между modprobe-q dm-модификацию, и activate_vg "$ROOT" добавляют эту строку для инициализации lvm:

lvm vgchange-ayactivate_vg "$ROOT", если Вы не находите эту строку

запишите ниже двух строк в конце файла выше, выходят 0

       #lvm vgchange -ayactivate_vg "$ROOT"
       #activate_vg="$ROOT"

сохраните файл затем

        #update-initramfs -u
        #update-grub
        #reboot
1
ответ дан 23 November 2019 в 08:45

Другие вопросы по тегам:

Похожие вопросы: