Как запустить ноутбук с корневым разделом на тонком пуле lvm2

Мой ноутбук настроен как система с двойной загрузкой с Ubuntu 14.04 (и windows 8.1). В последнее время я заменил выделенный корневой раздел и раздел подкачки разделом lvm2 (VG (Volume Group) LinuxBereich), содержащим LV (логический том) LinuxSwap, LinuxRoot и LinuxHome. Существуют копии root и home в тонких пулах LV RootArea, а HomeArea с именами Linux_Root и Linux_Boot.

  • 3.13.0-62-generic запускается или возобновляется корректно из ЛВ без пула.
  • 3.13.0-63-generic не находит корневой раздел и сбрасывается в оболочку busybox. После активации LVS LinuxSwap, LinuxRoot и LinuxHome с помощью lvm, запуск продолжается без дальнейших проблем.
  • Ни одна из версий (62/63) не начинается с LV в тонком пуле. Попытка:
    lvm lvchange -ay LinuxBereich / Linux_Root
    (или Linux_Home, RootArea, HomeArea)
    из оболочки busybox приводит к:
    / Ошибка sbin / modprobe: 1
    Не удается прочитать целевую версию для тонкого пула.
    Не можете обработать LV Linux_Root: поддержка ядра тонкого пула отсутствует в ядре?

Было бы хорошо, если бы LV активировались автоматически в 3.13.0-63-generic.
Было бы еще лучше, если бы система запускалась из тонкого пула.
Любые идеи приветствуются. Может быть, мне нужно больше терпения.
Ваш
Вольфганг

Решения:

  • 3.13.0-63-generic (и 3.13.0-65-generic) начинается с LV теперь без проблем.
    Причиной был отсутствующий файл в /boot/initrd.img-3.13.0-63-generic, который присутствует в /boot/initrd.img-3.13.0-63-generic:
    -rw-r- -r-- 1 root root 272 4 мая 2012 г. lib / udev / rules.d / 85-lvm2.rules
    Проверка на наличие такого файла дала:

ls -l /lib/udev/rules.d/85-lvm*
-rw-r - r-- 1 корневой корень 272 4 мая 2012 г. /lib/udev/rules.d/85-lvm2. rules.drblsave

, поэтому файл присутствовал, но был переименован.

cp -p /lib/udev/rules.d/85-lvm2.rules.drblsave /lib/udev/rules.d/85-lvm2.rules

и

update-initramfs -u

сделали свое дело.

Для получения отсортированной таблицы содержимого файла initrd.img:

для n в 62 63 65; выполните zcat /boot/initrd.img-3.13.0-$n-generic | cpio -itv | sort -k9> $ n.lst; выполнено

Без времени модификации и версии ядра

для n в 62 63 65; do sed 's / 3.13.0-6./3.13.0-6?/g '$ n.lst | cut -c 1-42,56 -> $ n.lsu; сделано

  • Нет запуска с тонкого пула LV из-за отсутствия поддержки ядра. Это странно, потому что работающая система способна обрабатывать тонкие тома.

    lsmod |grep -ie dm_thin_pool -e dm_persistent_data -e dm_bio_prison -e dm_bufio -e libcrc32c
    dm_thin_pool           46897  7 
    dm_persistent_data     61675  1 dm_thin_pool
    dm_bufio               27539  1 dm_persistent_data
    dm_bio_prison          15501  1 dm_thin_pool
    libcrc32c              12644  1 dm_persistent_data
    
    for n in  dm_thin_pool dm_persistent_data dm_bio_prison dm_bufio libcrc32c;do modinfo $n;done|grep filename:|sort -u
    filename:       /lib/modules/3.13.0-65-generic/kernel/drivers/md/dm-bio-prison.ko
    filename:       /lib/modules/3.13.0-65-generic/kernel/drivers/md/dm-bufio.ko
    filename:       /lib/modules/3.13.0-65-generic/kernel/drivers/md/dm-thin-pool.ko
    filename:       /lib/modules/3.13.0-65-generic/kernel/drivers/md/persistent-data/dm-persistent-data.ko
    filename:       /lib/modules/3.13.0-65-generic/kernel/lib/libcrc32c.ko
    

Итак, был создан файл / etc / initramfs-tools / hooks / lvm2thin:

    #!/bin/sh
    PREREQ=""
    prereqs()
    {
         echo "$PREREQ"
    }

    case $1 in
    prereqs)
         prereqs
         exit 0
         ;;
    esac

    . /usr/share/initramfs-tools/hook-functions
    # Begin real processing below this line
    copy_exec /lib/modules/${version}/kernel/drivers/md/dm-thin-pool.ko
    copy_exec /lib/modules/${version}/kernel/drivers/md/dm-bio-prison.ko
    copy_exec /lib/modules/${version}/kernel/drivers/md/dm-bufio.ko
    copy_exec /lib/modules/${version}/kernel/drivers/md/persistent-data/dm-persistent-data.ko

Установите правильные разрешения.

    chmod 755 /etc/initramfs-tools/hooks/lvm2thin 
    ls -l /etc/initramfs-tools/hooks/lvm2thin 
    -rwxr-xr-x 1 root root 583 Okt  8 18:16 /etc/initramfs-tools/hooks/lvm2thin

и снова

update-initramfs -u

готово.

4
задан 8 October 2015 в 23:25

0 ответов

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

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