Доступ к нижнему монтированию оверлейного корня fs

Я использую линукс overlay fs как корневая файловая система, чтобы сохранить реальный корневой раздел только для чтения и записывать изменения в другой fs (например, tmpfs или другой раздел).

Тем не менее, когда корневая файловая система, наконец, на месте (после 'pivot root'), оригинальные монтируются (скажем, в /dev/sda в /mnt/root-write-protected) скрыт в исходном корне (например, init ramdisk), но все еще активно подключен. Тем не менее, он больше не виден внутри корневой файловой системы, и исходное устройство не может быть снова смонтировано в режиме записи, так как mount говорит:

mount: /dev/sda is already mounted

несмотря на отсутствие записи в списке mount или же cat /etc/mtab,

Как я могу получить доступ (например, чтение из, перемонтировать) к этому скрытому монтированию?

2 ответа

До того, как произойдет корень, mount --bind файловая система в место, куда вы сможете добраться.

Например:

  1. гора sda2 на /mnt/root-write-protected,
  2. Смонтировать накладки на /mnt/new-root,
  3. Добавленный шаг: Bind /mnt/root-write-protected на /mnt/new-root/raw-disk,
  4. Поворот в /mnt/new-root,
  5. Теперь у вас есть sda2 доступны на /raw-disk,

Поскольку оригинальное крепление «похоронено»pivot_rootилиchange_root, его нельзя перемонтировать как записываемое устройство. Однако этот том можно использовать в качестве исходного файла для шлейфового устройства. Его можно смонтировать как обычно и использовать для доступа на запись. После внесения изменений в это устройство систему следует перезагрузить, так как оверлей не соответствует реальным данным на диске.

Нравиться:

      sudo mkdir /mnt/hidden_root
sudo losetup -f /dev/sda2 # change to your overlayed root volume 
sudo mount /dev/loop0 /mnt/hidden_root  # change loop0 if already used before
# ...  do changes to /mnt/hidden_root here ...
sudo reboot 

После перезагрузки изменения применяются к живому root.

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