Проблемы с (локальным) монтированием при загрузке (sysvinit)

433
chrisb2244

Во время загрузки некоторые / многие точки монтирования /etc/fstabне монтируются. /etc/mtabФайл содержит эти точки монтирования - я понимаю, что система считает, что файловые системы уже установлены.

Модификация моего /etc/rc.d/init.d/mountfsскрипта (взятого из LFS) со строкой

grep -v root /proc/mounts > /etc/mtab 

перед вызовом (я добавил vи, #чтобы получить вывод - система утверждает, что уже смонтирована)

mount -av -O no_netdev # > /dev/null 

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

Однако в этом случае файловые системы неправильно отключаются при завершении работы (тем же сценарием, принимающим stopаргумент). Ошибка при завершении работы связана с корневой файловой системой.

dfвозвращает вывод, который показывает состояние моих файловых систем, так что это легко проверить. mountвыводит все ожидаемые точки монтирования, даже если они не смонтированы (т.е. без изменения в /etc/rc.d/init.d/mountfs)

Выполнение таких команд, как mount /mountpoint/in/fstabуспешное монтирование точки, даже если она уже /etc/mtabвключена (предположительно, это потому, что mount -aпроверяет mtab, а mount <specific point>не выполняет?)

Что не так?

Мой /etc/fstab:

# device mount-point fs-type options dump fsck-order  # Core mount points proc /proc proc nosuid,noexec,nodev 0 0 sysfs /sys sysfs nosuid,noexec,nodev 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /run tmpfs defaults 0 0 devtmpfs /dev devtmpfs mode=0755,nosuid 0 0  /dev/sda8 swap swap pri=1 0 0 /dev/sda9 / ext4 defaults 1 1 /dev/sda10 /home ext4 defaults 0 2   # Additional mount points /dev/sda6 /mnt/Ubuntu ext4 defaults 0 0 /dev/sda11 /sources ext4 defaults 0 0  # Network mounts //software.blah.blah/path /mnt/Licensed cifs credentials=/home/<user>/.smbpasswd,ro,_netdev 0 0 
2
Это древний linux: большинство из этих VFS (sysfs, devpts, devtmpfs) устарели. Есть ли шанс, что вы сможете перейти на что-то более новое? MariusMatutiae 8 лет назад 0
Хм, я этого не знал. Тем не менее, это, конечно, не древний Linux. Ядро версии 3.19.0, настольные библиотеки и приложения (например, Qt, KDE, GTK) взяты из git, а большинство других системных библиотек - самые последние (или одни из самых последних, если очень часто выпускаемых) выпусков. У меня установлен eudev - возможно, мне стоит удалить эти VFS? На этот раз при загрузке все, кроме / dev / pts, смонтировано правильно. Переключение на текстовую консоль (Ctl-Alt-F1) и запуск `sudo mount / dev / pts` исправили это. chrisb2244 8 лет назад 0
Учитывая, что, возможно, причиной этой проблемы было монтирование `/ dev / pts` ранее в fstab, чем` / dev`, так как это было бы не очень полезно, но `/ dev` является одним из четырех явных монтирований в` / etc / rc.d / mountvirtfs` и `/ dev / pts` предположительно оставляются для монтирования с помощью вызова` mount -a` в `/ etc / rc.d / mountfs` (который вызывается впоследствии). В любом случае, порядок переключения не имел значения (что меня не удивило после более тщательной проверки, описанной выше) chrisb2244 8 лет назад 0

1 ответ на вопрос

0
chrisb2244

Эмиссия grep -v root /proc/mounts > /etc/mtab; echo "/dev/sda9 / ext4 defaults 1 1" >> /etc/mtabисправила эту проблему.

Проблема запуска была связана с тем, что в файле mtab записи не были удалены должным образом во время завершения работы. Как только корневая файловая система была добавлена ​​в файл mtab (после загрузки), завершение работы прошло правильно, а затем запуск также работает нормально.

Добавленная строка mountfsне нужна после правильной установки файла mtab.

Если компьютер теряет питание / принудительно выключается, однажды он снова выходит из строя. Тогда шаги, описанные выше, решают проблему.

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