Предсказуемое имя раздела для раздела squashfs в initramfs

Вы не упомянули, какой дистрибутив(ы) вы используете, но в centOS или Fedora вы можете сделать следующее:

rpm --query --all --last,

а в Debian или Ubuntu вы не получите такого "чистого" ответа.

Один из подходов заключается в просмотре файлов dpkg.log, например, для текущего журнала:

grep " install " /var/log/dpkg.log,

и вот так для предыдущего журнала:

grep " install " /var/log/dpkg.log.1

и архивные журналы с этим:

zgrep " install " /var/log/dpkg.log.2.gz и так далее для каждого архивного файла журнала.

2
24.07.2016, 22:10
2 ответа

Для этого не нужно было полагаться на какие-либо специальные инструменты.

Зная, что раздел squashfs всегда является вторым в схеме разделов, достаточно: просто установите UUID первого раздела флеш-накопителя, используйте $ (findfs UUID = first-pendrive-partition) и выполните sed s / 1/2 / о результате.

Теперь система всегда определяет правильный раздел.

1
27.01.2020, 22:10

LVM является кандидатом в этом случае, но вместо этого добавляет сложности в загрузчик/initramfs.

Можете ли вы убедиться, что в качестве блочных устройств присутствует только одна файловая система squashfs? Если да, то вы можете использовать findfs TYPE=squashfs, чтобы найти правильную корневую файловую систему.

Однако вы заметили, что ваш USB-носитель почти идентичен, поэтому также содержит squashfs файловую систему. Поэтому вам нужно начать искать альтернативные места для размещения трассировочной информации. Ваш том /boot выглядит хорошим кандидатом; на USB-носителе он может иметь что-то, что отмечает его как съемное устройство; на жестком диске он может иметь что-то, что отмечает его как настоящую установку.

1
27.01.2020, 22:10

Теги

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