3

Мой корневой раздел отформатирован как ext3, и я хотел бы выполнить проверку на наличие поврежденных блоков. Обычно это делает e2fsck -c -c , но вы не можете запустить его на смонтированном разделе. Я знаю, что можно заставить fsck запускаться при загрузке, создав файл /forcefsck, но можно ли указать, что он также должен проверять наличие плохих блоков? Если нет, каков рекомендуемый способ проверки наличия плохих блоков в корневом разделе? Я хотел бы избежать создания аварийного диска и загрузки с него.

5 ответов5

4

Если ваши сценарии инициализации поддерживают это (Fedora IIRC), вы можете добавить -c -c в /fsckoptions (затем создать /forcefsck и перезагрузиться). К сожалению, эта функция доступна не везде. Вы, вероятно, должны перезагрузить LiveCD/LiveUSB вместо этого.

3

См. Могу ли я запустить fsck или e2fsck, когда смонтирована файловая система Linux?, который отмечает, что запуск любого fsck в смонтированной файловой системе может привести к повреждению диска или данных.

Предлагает следующие решения:

A. Переведите систему в однопользовательский режим, размонтируйте систему, затем запустите e2fsck

init 1
umount /dev/sda
e2fsck -y /dev/sda3

Б. Загрузитесь с установочного компакт-диска в режим восстановления.

boot: linux rescue nomount<br/>
mknod /dev/sda
mknod /dev/sda3
fsck /dev/sda3

Другим решением было бы использовать fsck для проверки всего диска (кроме swap) во время загрузки как root:

shutdown -Fr now

где -F обозначает принудительную проверку fsck и -r для перезагрузки.

2

Для размонтированной файловой системы я также использую:

dd if=/dev/diskdevice of=/dev/null

Для проверки есть любая ошибка при чтении.

2

Вы можете загрузить систему и указать init=/bin/bash качестве параметра загрузки. Это будет запускать bash при загрузке, а не обычные сценарии запуска. В результате файловые системы не обрабатываются, и вы получаете доступ только для чтения.

Теперь у вас есть доступный только для чтения рут, и вы можете fsck.

0

я использую

cat /dev /diskdevice> /dev /null

а затем проверьте, что находится в dmesg. Если будет плохой блок, он скажет. Ремонт это еще одна длинная история.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .