Сегодня ночью свет выключили, машина с FreeBSD 4.11-STABLE поработав на UPS вырубилась.
Первый раз за 2,5 года загрузиться не захотела нормально, при автоматической проверке файловой системы останавливаемся и просит помощи выкидывая в /bin/sh:.
Также видим на экране строки вида Ad0s1g, ad0s1f с hard error reading fsbn и дальше числа указывающие на нечитаемые кластеры и т.д.Прогнал диск Victoria 3.51, действительно в средине диска нашлось двадцать ошибок, понимаю, что диск нужно менять в любом случае, уже сегодня купил новый такой же. Проблема еще в том, что нет бэкапов /etc и прочих нужных системных директорий с параметрами, тут же еще и почтовый сервер крутился, биллинг.
Доступ из этого состояния (/bin/sh:) к /etc есть, там все на месте, может можно как-то перетащить оттуда настройки, на дискету или еще как? Если получится временно загрузиться обычным образом, вообще бы песня была, кое-какие базы оттуда забрал бы еще.
Чем можно помочь ситуации в данном случае?
А что тебе мешает вставить новый винт и установить на него систему, затем подмонтировать старый и перебросить все что можно на новый винт!
>А что тебе мешает вставить новый винт и установить на него систему,
>затем подмонтировать старый и перебросить все что можно на новый винт!
>А вот та начальная ошибка при загрузке, спечатываю с консоли:
...
/dev/ad0s1g: CANNOT READ: BLK 11665504
/dev/ad0s1g: UNEXPECTED SOFT UPDATE INCONSISTENCY: RUN fsck MANUALLY./dev/ad0s1f: CANNOT READ: BLK 30621792
/dev/ad0s1f: UNEXPECTED SOFT UPDATE INCONSISTENCY: RUN fsck MANUALLY.THE FOLLOWING FILE SYSTEMS HAD AN UNEXPECTED INCONSISTENCY:
/dev/ad0s1g (/usr), /dev/ad0s1f (/var)
Automatic file system ckeck failed . . . help!
Enter full pathname of shell or RETURN for /bin/sh: _Пробовал запускать fsck -y, очень много позиций с аd0s1g\ad0s1f hard error reading fsbn ... идет, в конце те же вилы:
ad0: READ command timeout tag=0 srv=0 - resetting
ata0: resetting devices .. doneТак и поступил, только подмонтировать испорченные разделы (/var и /usr) пока не удалось
mount -t ufs /dev/ad2s1g /mnt
WARNING: R/W mount of /usr denied. Filesystem is not clean - run fsck
mount: /dev/ad2s1g: Operation mot permittedсейчас идет проверка fsck одного из них.
>mount -t ufs /dev/ad2s1g /mnt
>WARNING: R/W mount of /usr denied. Filesystem is not clean - run
>fsck
>mount: /dev/ad2s1g: Operation mot permitted
>
>сейчас идет проверка fsck одного из них.монтируй в режиме только чтение, и до снятия данных fsck делать не советовал бы
>>mount -t ufs /dev/ad2s1g /mnt
>>WARNING: R/W mount of /usr denied. Filesystem is not clean - run
>>fsck
>>mount: /dev/ad2s1g: Operation mot permitted
>>
>>сейчас идет проверка fsck одного из них.Есть неплохой шанс пролечить диск mhdd - он сможет ремиррорить нечитаемые блоки. После этого fsck пролечит диск.
1. Вынуть диск из машины и не держать его включённым, иначе можно потерять диск совсем.
2. Установить ОС на новый диск.
3. Подключить старый диск и снять образ при помощи ddrescue http://www.gnu.org/software/ddrescue/ddrescue.html (да, именно от GNU, потому что есть ещё одна программа с таким же именем)
3. Старый диск отключить
4. Попробовать смонтировать образ в режиме readonly. Если не монтируется или нужные файлы не читаются -- прогнать fsck. Только fsck я бы делал на копии образа, потому что это может повредить файловую систему, если разрушения диска были большими.Чего делать нельзя:
-- держать диск включённым когда с ним не работаете
-- монтировать в режиме read/write или прогонять fsck
Если диски одинакового размера, то сделать так: подключить второй диск (например ad2)
Выполнить низкоуровневое копирование
dd if=/dev/ad0 of=/dev/ad2 bs=10M
Поменять диски местами и загрузится с нового диска