LINUX.ORG.RU

Alert! /dev/mapper/mint--vg-root does not exist. Dropping to a shell!

 , ,


0

1

Всем добрый день!

Относительно недавно ставил автообновления для Mint 17.1 x64. После обновления получил следующее сообщение:

"Alert! /dev/mapper/mint--vg-root does not exist. Dropping to a shell!"
Теперь при запуске системы приходиться писать:
lvm vgchange -ay
exit
Пробовал решить эту проблему на Минт форуме, но без результата:

http://forums.linuxmint.com/viewtopic.php?f=46&t=223878

Проблема не нова:

Может кто сталкивался?

Читал то, что вам насоветовали на форуме Mint'а, там какая-то куча команд, и, вроде у вас всё закончилось ошибкой:

mdadm: CREATE group disk not found

Так, или её уже починили?

У вас шифрование используется или нет?

По идее, вам нужно делать ″update-initramfs -u″ из загруженной системы с подмонтированным /boot разделом.

mky ★★★★★ ()
Ответ на: комментарий от mky

mdadm поддержка RAID, поставилась при использовании boot-repair, при выборе «да» на вопрос «Если у Вас RAID?». Был удалён в последствии.

″update-initramfs -u″ не помогает.

Шифрования нет.

Пока продолжаю писать «lvm vgchange -ay»

stslit ()
Ответ на: комментарий от stslit

Наверное, нужно покопать в сторону initramfs-tools. Посмотреть, обновились ли они в ходе последнего обновления. Если обновлялись, скачать предыдущую версию и сравнить содержимое скриптов (/usr/share/initramfs-tools/scripts/).

mky ★★★★★ ()
Ответ на: комментарий от mky

Обновление и переустановка ни к чему не привели, кроме как к невозможности загрузки системы (уже починил, всё на своих местах).

Сейчас установлена 0.103ubuntu4.4
Скачал здесь версию 0.103ubuntu4.3

У меня больше каталогов и есть дополнительные файлы.

Кактлоги:

  • init-bottom
  • init-premount
  • local-bottom
  • local-top

Файлы

  • ConsoleSetup
  • udev
  • plymouth
  • brltty
  • ntfs_3g

Остальные файлы по содержимому совпадают.

stslit ()
Ответ на: комментарий от mky

Спасибо. Да ситуация похожа, но файлов указных в решении не оказалось /lib/udev/rules.d/85-lvm2.rules Скопировал его из сети- не помогло; изменил- тот же результат. /usr/share/initramfs-tools/scripts/local-top/lvm2 Этот файл был, но в другой папке /local-preformance/ указанных в решении строк там не оказалось. полностью перезаписал папку scripts в initramfs-tool версией 4.3 - не помогло.

Ещё идеи?

stslit ()
Ответ на: комментарий от stslit

Попробуйте найти то место в скриптах, которое описывается в решении. То есть grep'нуть по всем скриптам dm-mod и activate_vg:

grep dm-mod -r /usr/share/initramfs-tools/scripts

grep activate_vg -r /usr/share/initramfs-tools/scripts

По идее, вашу строку ″lvm vgchange -ay″ нужно перед вызовом ″activate_vg″.

С другой стороны, здесь вот: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=711147 советуют просто добавить ″sleep 3″ после ″modprobe dm-mod″.

Хотя по правильному нужно распаковывать initramfs-... из /boot-каталога и изучать содержащиеся в нём скрипты. Но, боюсь, что у вас на это не хватит знаний.

mky ★★★★★ ()
Ответ на: комментарий от mky

Находил похожие решения, но строк «dm-mod» и «activate_vg» в скриптах нет. Установка папки scripts от версии 4.3 не дала результата (см. выше (в т.ч. побайтовое/посимвольное сравнение файлов).

Возможно моё решение может показаться не филигранным, но ручное удаление папки initramfs-tool и установка 4.3 не дало результата.

Может быть проблема в чем то другом? К примеру, родной cinnamon «умер» после установки какой программы (по-моему VirtualBox). Его так и не удалось «привести в чувства» (сейчас с радостью используюсь xfce). Возможно что поставился какой то пакет, который и вносит эти проблемы?

Кстати, программа boot-repair так же не может справиться.

По поводу знаний, как ни странно, мне очень нравиться учиться! Можно по подробнее о /boot. Так понимаю, что там можно ручками поправить скрипты? Правда информации в сети слишком много. Буду признателен за проверенный и внятный источник информации.

stslit ()
Ответ на: комментарий от stslit

В /boot лежит ядро (vmlinuz), куски ядра для других программ ( System.map, config, symvers) и initramfs. initramfs это образ файловой системы на которой лежат скрипты, выполняющиеся до монтирования основной корневой ФС. В некоторых дистрибутивах initramfs нет, там ядро сразу монтирует конревую ФС и ведёт загрузку с неё.

Отличие initramfs от корневой системы в том, что её считывает с диска и загружает в ОЗУ загрузчик (grub), а не ядро. Поэтому в ядре можно сделать поддержку всего модулями, в том числе и корневой ФС, а нужные модули перенести на initramfs. Для каждого ядра свои модули, поэтому свой initramfs, поэтому в имени файла присутсвует версия ядра.

Распаковывается она просто:

mkdir /tmp/tt
cd /tmp/tt
gzip -cd /boot/initramfs.example | cpio -i
Может быть, вместо gzip какой другой паковщик (bzip2, xz), это можно узнать командой ″file /boot/initramfs.example″

Запаковывается она просто:

cd /tmp/tt
find . | cpio --dereference -o -H newc | gzip > /boot/initramfs.example
Но, править скрипты непосредственно в initramfs и запаковывать его вручную это неправильный вариант, так как при обновлении ядра или даже при установке некоторых пакетов (допустим mdadm) initramfs создаётся заново. Нужно править те скрипты, которые используются при генерации initramfs и блокировать автоматическое обновление initramfs-tools.

То, что нет строк «dm-mod» и «activate_vg» это странно. Возможно, что в /usr/share/initramfs-tools/scripts часть скриптов пренадележит другим пакетам и этих пакетов нет и нет скриптов.

Но, модуль ″dm-mod″ должен быть, без него lvm не взлетит. Либо в Минте его вкомпилировали в ядро, либо он попадает в initramfs ещё откуда-то. Если в выводе ″lsmod″ есть ″dm-mod″, значит нужно распаковывать initramfs, смотреть, ести ли он там, и, если есть, понимать, как он туда попадает и как загружается (каким скриптом).

mky ★★★★★ ()
Ответ на: комментарий от mky

Спасибо за ценную информацию!

Ясно, что от типа ntldr, boot.ini, ntdetect.com и ntoskrnl.exe

В папке /boot нет ни symvers, ни initramfs. Скажу больше initramfs есть только в папках share, var, etc. Причем в архивов нет.

Похоже Mint'овцы так и сделали скомпелировав его в ядро, ибо lsmod


Module                  Size  Used by
pci_stub               12622  1 
vboxpci                23194  0 
vboxnetadp             25670  0 
vboxnetflt             27613  0 
vboxdrv               409815  3 vboxnetadp,vboxnetflt,vboxpci
rfcomm                 69160  0 
bnep                   19624  2 
bluetooth             391136  10 bnep,rfcomm
binfmt_misc            17468  1 
parport_pc             32701  0 
ppdev                  17671  0 
lp                     17759  0 
parport                42348  3 lp,ppdev,parport_pc
snd_hda_codec_realtek    65580  1 
snd_hda_intel          56451  4 
snd_hda_codec         192906  2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
snd_pcm               102099  2 snd_hda_codec,snd_hda_intel
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0 
snd_seq_midi_event     14899  1 snd_seq_midi
snd_rawmidi            30144  1 snd_seq_midi
snd_seq                61560  2 snd_seq_midi_event,snd_seq_midi
intel_rapl             18773  0 
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              29482  2 snd_pcm,snd_seq
x86_pkg_temp_thermal    14205  0 
intel_powerclamp       14705  0 
coretemp               13435  0 
dm_multipath           22873  0 
kvm_intel             143109  0 
snd                    69322  18 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
scsi_dh                14882  1 dm_multipath
soundcore              12680  1 snd
drm                   303102  0 
kvm                   451552  1 kvm_intel
crct10dif_pclmul       14289  0 
crc32_pclmul           13113  0 
mei_me                 18627  0 
ghash_clmulni_intel    13216  0 
shpchp                 37032  0 
intel_smartconnect     12619  0 
cryptd                 20359  1 ghash_clmulni_intel
lpc_ich                21080  0 
mei                    82276  1 mei_me
mac_hid                13205  0 
serio_raw              13462  0 
usbhid                 52659  0 
hid                   106148  1 usbhid
dm_mirror              22135  0 
dm_region_hash         20862  1 dm_mirror
dm_log                 18411  2 dm_region_hash,dm_mirror
psmouse               106678  0 
ahci                   25819  2 
r8169                  67581  0 
libahci                32716  1 ahci
mii                    13934  1 r8169
video                  19476  0 
mouse               106678  0 
ahci                   25819  2 
r8169                  67581  0 
libahci                32716  1 ahci
mii                    13934  1 r8169
video                  19476  0 

dm-mod отуствует

Ещё странна вещь произошла. Теперь командой lvm могу пользоваться при выборе безопасной загрузки. При выборе обычного режима, пишет can't access /bin/sh

Ещё скрин при запуске

P.S. Странно, почему то тег CUT не работает.

stslit ()
Ответ на: комментарий от stslit

Тег cut работает только в новостях.

Что нужно увидеть на этом скрине при запуске?

При выборе обычного режима, пишет can't access /bin/sh

Возможно, что это из-за того, то вы меняли скрипты, составляющие initramfs.

dm-mod отуствует

Вижу. И ″dm_mod″ тоже нет. Можно было бы посмотреть конфиг ядра, если нет /boot/config-ВЕРСИЯ_ЯДРА, может есть /proc/config.gz. Нужно смотеть на параметр ″CONFIG_BLK_DEV_DM″. Хотя, вроде, в дебианах действительно вкомпилируют в ядро dm_mod.

А /boot-разделы вы монтировали, прежде чем изучать его содержимое?

mky ★★★★★ ()
Ответ на: комментарий от mky

Прошу простить, что так медленно отвечаю- экзамены на носу.

Признаюсь, туповат. Выкурил пол интернета не нашел подходящей информации по поводу монтирования /boot раздела в моём случае. И уже тем более по моей проблеме.

В /boot есть config-3.13.0-37-generic но параметра «CONFIG_BLK_DEV_DM» в нём нет. Пробовал искать по всему диску файлы содержащие данный текст не нашел.

P.S. Ясно. Нужно переходить на что то по стабильнее. Но прежде, хотелось бы разобраться с этим вопросом.

stslit ()
Ответ на: комментарий от stslit

У вас в ″cat /proc/mounts″ есть строка ″/boot″? В системах с LVM обычно ядро и initramfs лежат на отдельной файловой системе на отдельном разделе диска без LVM. И она (эта файловая система) должна быть смонтирована в /boot, прежде чем смотреть что там есть. В одних дистрибутивах /boot монтируется по умолчанию, в других нужно давать команду ″mount /boot″.

CONFIG_BLK_DEV_DM в нём нет

Вобще нет? Это совсем странно. Этот параметр должен быть, в этом файле перечисляюся все параметры ядра, которые отключены при компиции присутствуют в закоменнтированном виде.

по стабильнее.

Стабильность и линукс несовместимые понятия, для стабильности нужно либо не обновлять систему, либо сваливать в какую-нибудь другую ОС.

mky ★★★★★ ()
Ответ на: комментарий от mky

в ″cat /proc/mounts″ есть «/dev/sda1 /boot ext2 rw,relatime 0 0»

по «mount /boot» - «согласно mtab: dev/sda1 уже примонтирован на /boot»

Так что /boot уже примонтирован.

P.S. На мой взгляд, стабильность понятие относительное, например в организации или школе где нет особых требований в ПО, проще поставить линукс, с отдельным разделом для учётных записей. Что б не бегать из-за банеров, чужих флешек, левого фотошопа и т.д. Другое дело, что обновлений ставить нельзя, это для меня уже очевидно, т.к. эта же проблема появилась второй раз после очередного обновления (в прошлый раз была убунта). Не лечил, всё снёс.

P.P.S Есть пара хороши примеров с убунтой и сьюзи. Уже около 5 лет пользуются и радуются. Скайп, майл ру, фотографии, фильмы, одноклассники. И как работа комп шустро так и работает.

stslit ()
3 октября 2016 г.
Ответ на: комментарий от stslit

Хочу продолжить тему, т.к. прошли изменения.

Всё умерло окончательно. На буржуйских форумах молчат. На команду «lvm vgchange -ay» пишет «lvm volume not found»

Пробовал с лайва Дебиан использовать Boot-repair, не помогло. Результат: http://paste2.org/jVmYGy4t Хотя, при установке «LVM2» том можно примонтировать и получить доступ к данным.

Сейчас, сижу под Дебиан лайв.

stslit ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.