вторник, 25 января 2011 г.

Запарол fstab – исправь сам без LiveCD

Лечение ЖЖ-зависимостиСлучилось мне ставить новый жесткий диск на backup-сервер, так как места на старом не хватало. Машина старая, пришлось изыскивать IDE-винт и ставить его primary-slave. Разбиение, создание фс и тестовое монтирование из шелла прошло успешно. Стал я править /etc/fstab с целью прописать автомонтирование раздела на новом винте. В системе девайс шел под именем /dev/hdb Но так как давно уже руки и глаза привыкли к SATA-девайсам, при правке я сделал опечатку и написал /dev/sdb.

Разумеется, CentOS при первой же загрузке сказал мне, что я дурак, что нет у меня девайса /dev/sdb или его файловая система настолько повреждена, что в автоматическом режиме ее исправить невозможно. Кстати, ругался Центос на якобы ext2-раздел, хотя по факту там ext3, но не в том суть. Из вариантов система предложила мне Ctrl+D "для продолжения загрузки" или ввести пароль рута для работы в шелле в режиме восстановления. Ctrl+D тупо перезагружал машину, так что я вошел как root и разумеется полез в /etc/fstab, чтоб исправить злополучную опечатку, но не тут-то было. Корневой раздел был примонтирован в режиме "только чтение", ибо я как бы не в рабочей системе, а в шелле восстановления.

Выход #1 – грузиться с LiveCD любого линукса, имеющегося в наличии, примонтировать корень в режиме rw и изменить fstab. Но свободного CD/DVD-привода под рукой нет, да и неохота опять разбирать корпус.

Выход #2 - перемонтировать корень "на лету", чего я раньше не делал – просто не нужно было. Итак, все просто:

mount -o remount,rw /

И можно спокойно изменять файлы в корневом разделе, в том числе, и /etc/fstab

Больше не ошибайтесь! :)

Читать далее и комментировать.