kernel panic not syncing vfs unable mount root unknown-block

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
yoricI
Сообщения: 2834
ОС: gentoo fluxbox

kernel panic not syncing vfs unable mount root unknown-block

Сообщение yoricI »

Здравия!
После перетряски компьютера (переконфигурация БИОС, отключение ненужных дисков) получаю такое сообщение:
Kernel panic: not syncing: VFS: unable to mount root fs: unknown-block (9,2)
Понятно, что старые диски получают другие номера. А как определить, какие? Попробовал наобум добавлять в строку загрузки "'root=802" и т.п - не могу угадать))
Два SATA диска (раньше были как sda sdb) с одинаковой разметкой, на каждом два раздела, первые - своп в RAID0 (зеркало), остальное - корень в том же RAID. БИОС старый, не UEFI.
Насколько мне помнится в конфиге lilo"

Код: Выделить всё

boot=/dev/md1
root=/dev/md1
Если загрузиться с флешки, то тоже ведь нумерация съедет? В общем, есть способ определить диски, как они будут видны системе?
Спасибо сказали:
Аватара пользователя
Zer0
Сообщения: 479
ОС: Void, Slackware

Re: kernel panic not syncing vfs unable mount root unknown-block

Сообщение Zer0 »

Для начала, рекомендую попытаться вспомнить, в какие SATA порты был подключен каждый из дисков, в том числе DVD-привод(если есть).
Соответствие записать.
Если на материнке, к примеру 6 портов, и использовались порты 3-й для 1-го диска и 6-й для 2-го, а остальные были свободны, то при переключении диска 1 в порт 1, а диска 2 в порт 2 или больше - имена блочных устройств останутся те же. Но если 2-й диск вставить в порт номером меньше 1-го имена блочных устройств изменятся. То же произойдёт, если в примере указанном выше добавить 3-й диск.

У вас в /etc/fstab, кстати UUID прописаны, или имена блочных устройств?

P. S. Приведённая выше ситуация была замечена и проверялась на Slackware. Допускаю, что в других дистрибутивах, не использующих systemd - то же самое.
Последний раз редактировалось Zer0 20.12.2021 14:40, всего редактировалось 1 раз.
Memento mori ... сделай бэкап.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21295
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: kernel panic not syncing vfs unable mount root unknown-block

Сообщение Bizdelnick »

yoricI писал:
20.12.2021 12:32
RAID0 (зеркало)
RAID0 — это stripe, зеркало — RAID1.
yoricI писал:
20.12.2021 12:32
Если загрузиться с флешки, то тоже ведь нумерация съедет?
Нумерация md-устройств не съедет. И сборка массивов не должна зависеть от нумерации, по идее.

Показывайте конфиг загрузчика, без этого ничего не понять.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2834
ОС: gentoo fluxbox

Re: kernel panic not syncing vfs unable mount root unknown-block

Сообщение yoricI »

На матери 4 порта SATA2-[1-4] свободных, диски включены в 2 порта SATA3-[1-2] (onboard Marvell controller)
Zer0 писал:
20.12.2021 12:47
Memento mori ... сделай бэкап.
Как видите, не всегда помогает))
Zer0 писал:
20.12.2021 12:47
имена блочных устройств изменятся
Изменятся на что? А то можно и поперебирать, если не сильно много. Вот md2 имеет номер 902, к примеру.
Zer0 писал:
20.12.2021 12:47
в /etc/fstab, кстати UUID прописаны, или имена блочных устройств?
fstab:

Код: Выделить всё

/dev/md2 / xfs etc
/dev/md1 none swap sw etc
Bizdelnick писал:
20.12.2021 12:58
RAID0 — это stripe, зеркало — RAID1
Я их путаю)) У меня именно зеркало, RAID1
Bizdelnick писал:
20.12.2021 12:58
Нумерация md-устройств не съедет.
У меня был md2, а при загрузке с live-devuan md127
Bizdelnick писал:
20.12.2021 12:58
Показывайте конфиг загрузчика
lilo.conf:

Код: Выделить всё

large-memory
lba32
boot=/dev/md2
root=/dev/md2
raid-extra-boot=mbr-only
default=linux
image=/boot/vmlinuz-5.10-etc
label=linux
read-only
restricted
initrd нету
Спасибо сказали:
Аватара пользователя
Zer0
Сообщения: 479
ОС: Void, Slackware

Re: kernel panic not syncing vfs unable mount root unknown-block

Сообщение Zer0 »

yoricI писал:
20.12.2021 15:32
Изменятся на что?
/dev/sda на /dev/sdc, например. Допустим создаём массив командой:

Код: Выделить всё

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
Затем "перетыкаем" диски в другие SATA порты, и система видит теперь /dev/sda1 и /dev/sdb1, как на это отреагирует драйвер md? Особенно учитывая, что раздел на RAID является загрузочным?
Memento mori ... сделай бэкап.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2834
ОС: gentoo fluxbox

Re: kernel panic not syncing vfs unable mount root unknown-block

Сообщение yoricI »

Zer0 писал:
20.12.2021 16:14
как на это отреагирует драйвер md? Особенно учитывая, что раздел на RAID является загрузочным?
Тут, думаю, хорошо, учитывая, что /etc/mdadm.conf:

Код: Выделить всё

ARRAY /dev/md1 metadata=0.9 UUID=many-symbols
ARRAY /dev/md2 metadata=0.9 UUID=many-symbols
Добавлено (17:18):
А на самом деле нехорошо, массивы определяются как md126-127 под live.
Смонтировал бывший /, в /live-mnt
Смонтировал live-[dev,proc,sys,run] через -o bind в live-mnt, бывший /
chroot /live-mnt
Запускаю lilo - естественно, Fatal: raid setup: stat(/dev/md2)
Если я пропишу в chroot-e в lilo.conf mdadm.conf fstab массивы как md127, прокатит?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21295
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: kernel panic not syncing vfs unable mount root unknown-block

Сообщение Bizdelnick »

yoricI писал:
20.12.2021 15:32
lilo.conf
Мнэээ… А где тут командная строка ядра? Он её сам, что ли, формирует?
yoricI писал:
20.12.2021 15:32
initrd нету
И оно так раньше работало? Драйверы md в ядро вкомпилены, не модулями?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2834
ОС: gentoo fluxbox

Re: kernel panic not syncing vfs unable mount root unknown-block

Сообщение yoricI »

Bizdelnick писал:
20.12.2021 18:38
А где тут командная строка ядра? Он её сам, что ли, формирует?
Не знаю, что её формирует, а что, кстати? Там было root=902, сейчас, после успешного решения, стало root=97f
Bizdelnick писал:
20.12.2021 18:38
И оно так раньше работало?
Работало, конечно.
yoricI писал:
20.12.2021 16:40
Смонтировал бывший /, в /live-mnt
Смонтировал live-[dev,proc,sys,run] через -o bind в live-mnt, бывший /
chroot /live-mnt
Запускаю lilo - естественно, Fatal: raid setup: stat(/dev/md2)
Если я пропишу в chroot-e в lilo.conf mdadm.conf fstab массивы как md127, прокатит?
Так и сделал, прокатило, загрузился. Я так делал и раньше, забыл, когда это было. И действий больше, проще было бы подсунуть ядру правильный root, но кто ж его знает, какой он, вот в этом случае изменился с 902 на 97f, этак замучаешься брутфорсить. Что же формирует этот root, похоже, что lilo?
Спасибо сказали: