В вашей процедуре есть несколько ошибок:
Вам не нужно пересоздавать какие-либо папки
/mnt/os
с помощью mkdir. После подключения диска к папке все содержимое исходной папки временно скрывается и заменяется содержимым подключенного диска. Ваш/dev/sda8
скорее всего, уже содержит эти папки - и если нет, то они не будут созданы таким образом.То же относится и к Mount-Bind. Вы не можете редактировать конфигурацию PAM на вашем
/dev/sda
диске, потому что вы заменяете/etc
папку с вашего диска на папку в live cd, прежде чем вызывать chroot.Futhermore вам не нужно связывать ничего, кроме того
/dev
,/proc
и/sys
в среду корневой. Эти папки содержат абстрактные файлы, которые представляют устройства и части операционной системы. Они генерируются вашим ядром при загрузке или во время выполнения и должны быть доступны в среде chroot, в противном случае некоторые программы могут не работать. Если вы не смонтируете эти папки, они будут отображаться пустыми/dev/sda8
при просмотре с live cd. Вы можете найти краткий обзор того, что каждая папка в файловой системе Unix должна содержать в википедии .Единственная причина, по которой вам нужно было бы связать
/bin
или/lib
было бы, если бы архитектура или ядро системы на live cd были несовместимы с файловой системой на вашем жестком диске. Но в этом случае было бы не очень хорошей идеей использовать такие возможности - это не приносит никакой пользы.
Наконец, если вы редактируете только файлы конфигурации, вам не нужно загружаться в ваш диск. Вы можете просто смонтировать корневой раздел и напрямую отредактировать файл из live cd system с помощью предустановленного редактора, например nano
:
mount /dev/sda8 /mnt nano /mnt/etc/pam.d/common-auth