Я не знаю никакого способа получить доступ к корневой файловой системе initramfs после того, как настоящая корневая файловая система была смонтирована. В initramfs создаются определенные файлы, к которым вы пытаетесь получить доступ? Поскольку вы упомянули Каспер Я предполагаю, что вы загружаете образ live-cd.
Если у вас есть доступ к консоли, вы можете приостановить процесс загрузки до того, как будет смонтирована реальная корневая файловая система. Например, добавление аргумента ядра перерыв = дно
приостановит процесс загрузки до того, как будет смонтирована реальная корневая файловая система, и откроет аварийную оболочку в среде initramfs.
Если вас интересуют определенные файлы, (по умолчанию) содержимое /запустить/инитрамфс
будет сохраняться между средой initramfs и загружаемой средой. Туда записываются определенные лог-файлы. Возможно, вы сможете добавить крючок для копирования файлов туда. (редактировать я думаю весь /бег
файловая система сохраняется)
редактировать - Я нашел пару статей Роба Лэндли, которые добавляют красок процессу. Все они предполагают, что содержимое корня initramfs действительно уничтожается/удаляется.
Что делает switch_root, так это удаляет все файлы из rootfs (чтобы освободить память), а затем выполняет chroot в новую файловую систему и выполняет новый процесс инициализации из новой файловой системы.
initramfs — это rootfs: вы не можете использовать pivot_root
rootfs, ни размонтировать его. Вместо этого удалите все из rootfs в
освободить место (найти -xdev / -exec rm '{}' ';'), перемонтировать rootfs
с новым корнем (cd /newmount; mount --move ./; chroot .), прикрепите
stdin/stdout/stderr в новый /dev/console и выполнить новый init
Поскольку initramfs является
ramfs, удаление его содержимого освобождает используемую им память.
Ссылки