День добрый,
Соответственно ситуация:Вырубили свет, отключился UPS и прочие прелести, как итог FreeBSD 4.7
лежит.
Поднимаю, в single-mode, fsck -y /dev/ad0s1.. поочереди весь fstab,
а вот хитрый девайс "/ad0s1g" типа "/usr" при проходе "Check PartNames",
начинает мне выдавать "UNEXPECTED SOFT UPDATE INCONSISTENCY"
MISSING '.'.....
CANNOT FIX ... и т.д. (много, много раз)
и в итоге отваливается со словами:
fsck: inoinfo: inumber 1668511349 out of range
соответственно раздел не маунтится.Пожалуйста, объясните на пальцах чего такого сделать чтоб он отэфэсчекился и заработал???? можно ткнуть в мануал (даже в не русский).
и небольшое дополнение, резервных копий у меня конечно нет.
>День добрый,
>Соответственно ситуация:
>
>Вырубили свет, отключился UPS и прочие прелести, как итог FreeBSD 4.7
>лежит.
>Поднимаю, в single-mode, fsck -y /dev/ad0s1.. поочереди весь fstab,
>а вот хитрый девайс "/ad0s1g" типа "/usr" при проходе "Check PartNames",
>начинает мне выдавать "UNEXPECTED SOFT UPDATE INCONSISTENCY"
>
> MISSING
>'.'.....
>
> CANNOT
>FIX ... и т.д. (много, много раз)
>и в итоге отваливается со словами:
>fsck: inoinfo: inumber 1668511349 out of range
>соответственно раздел не маунтится.
>
>Пожалуйста, объясните на пальцах чего такого сделать чтоб он отэфэсчекился и заработал????
>можно ткнуть в мануал (даже в не русский).
>
>и небольшое дополнение, резервных копий у меня конечно нет.
посмотреть или вспомнить как был создан /usr - обычный UFS или с softupdate - tunefs. Затем: newfs -N /dev/ad0s1g - посмотреть
как была бы реально создана /usr - там все можно почерпнуть, в том числе
и inode, кол-во.
Как вариант можно заменить суперблок из альтернативного.
>посмотреть или вспомнить как был создан /usr - обычный UFS или с
>softupdate - tunefs. Затем: newfs -N /dev/ad0s1g - посмотреть
>как была бы реально создана /usr - там все можно почерпнуть, в
>том числе
>и inode, кол-во.
> Как вариант можно заменить суперблок из альтернативного.Что то прямо как по книжке для чайников у меня получается,
Free поднимал не я " :-) " поэтому так сразу и не скажу tunefs там или нет.#newfs -N /dev/ad3s1g
Warning: Block size and bytes per inode restrict cylinders per group to 90.
Warning: 240 sector(s) in last cylinder unallocated
/dev/ad3s1g: 1859344 sectors in 454 cylinders of 1 tracks, 4096 sectors
907.9MB in 6 cyl groups (90 c/g, 180.00MB/g, 19200 i/g)
super-block backups (for fsck -b #) at:
32, 368672, 737312, 1105952, 1474592, 1843232я пробовал #fsck -b 368672# /dev/ad3s1g
соответственно ничего не получилось.
так же делал dd в фаил с conv=noerror,sync (на другой диск)
а потом ещё и ghost'ом сделал disk to disk ошибки те же, получается это логический уровень, а как его исправлять я не нашёл.
поставил так же testdisk последний но он мне сказал что всё замечательно, только вот ошибки есть и из-за этого я остановлюсь....
>>посмотреть или вспомнить как был создан /usr - обычный UFS или с
>>softupdate - tunefs. Затем: newfs -N /dev/ad0s1g - посмотреть
>>как была бы реально создана /usr - там все можно почерпнуть, в
>>том числе
>>и inode, кол-во.
>> Как вариант можно заменить суперблок из альтернативного.
>
>Что то прямо как по книжке для чайников у меня получается,
>Free поднимал не я " :-) " поэтому так сразу и не
>скажу tunefs там или нет.
>
>#newfs -N /dev/ad3s1g
>Warning: Block size and bytes per inode restrict cylinders per group to
>90.
>Warning: 240 sector(s) in last cylinder unallocated
>/dev/ad3s1g: 1859344 sectors in 454 cylinders of 1 tracks,
>4096 sectors
> 907.9MB in 6 cyl
>groups (90 c/g, 180.00MB/g, 19200 i/g)
>super-block backups (for fsck -b #) at:
> 32, 368672, 737312, 1105952, 1474592, 1843232
>
>я пробовал #fsck -b 368672# /dev/ad3s1gв 4.x - fsck -b ничего не даст, в 4'ке только прямое копирование
суперблока из альтернативного:- копируем на всякий пожарный основной в /tmp/save.ufs1
(в качестве примера ad0s1c - описание всего диска)#dd if=/dev/ad0s1c skip=16 of=/tmp/save.ufs1 bs=512 count=16
теперь пропускаем 32 блока и копируем напрямую альтернативный суперблок
на место основного.#dd if=/dev/ad0s1c skip=32 of=/dev/ad0s1c seek=16 bs=512 count=16
>соответственно ничего не получилось.
>так же делал dd в фаил с conv=noerror,sync (на другой диск)
>а потом ещё и ghost'ом сделал disk to disk ошибки те же,
>получается это логический уровень, а как его исправлять я не нашёл.какой такой ghost?
>поставил так же testdisk последний но он мне сказал что всё замечательно,
>только вот ошибки есть и из-за этого я остановлюсь....ps. где-то на форуме portal.sysadmins.ru я такое расписывал довольно
подробно, вот руководство никак не сделаю :(
>в 4.x - fsck -b ничего не даст, в 4'ке только прямое
>копирование
>суперблока из альтернативного:
>
>- копируем на всякий пожарный основной в /tmp/save.ufs1
>(в качестве примера ad0s1c - описание всего диска)
>
>#dd if=/dev/ad0s1c skip=16 of=/tmp/save.ufs1 bs=512 count=16
>
>теперь пропускаем 32 блока и копируем напрямую альтернативный суперблок
>на место основного.
>
>#dd if=/dev/ad0s1c skip=32 of=/dev/ad0s1c seek=16 bs=512 count=16
>
просто замечательно!!!
Огромное спасибо!
Показались нужные данные.
Урок тоже очень хороший.>какой такой ghost?
norton который под dos, от бэдов иногда спасал.>
>ps. где-то на форуме portal.sysadmins.ru я такое расписывал довольно
>подробно, вот руководство никак не сделаю :(я по тому мануалу и делал, только видать невнимательно, потому как штуку про 4-ку не заметил.
Ещё раз спасибо большое!
>>в 4.x - fsck -b ничего не даст, в 4'ке только прямое
>>копирование
>>суперблока из альтернативного:
>>
>>- копируем на всякий пожарный основной в /tmp/save.ufs1
>>(в качестве примера ad0s1c - описание всего диска)
>>
>>#dd if=/dev/ad0s1c skip=16 of=/tmp/save.ufs1 bs=512 count=16
>>
>>теперь пропускаем 32 блока и копируем напрямую альтернативный суперблок
>>на место основного.
>>
>>#dd if=/dev/ad0s1c skip=32 of=/dev/ad0s1c seek=16 bs=512 count=16
>>
>просто замечательно!!!
>Огромное спасибо!
>Показались нужные данные.
>Урок тоже очень хороший.ну так получилось?
>>какой такой ghost?
>norton который под dos, от бэдов иногда спасал.да глупость это, не спасает он ни от каких бедов :)
>>
>>ps. где-то на форуме portal.sysadmins.ru я такое расписывал довольно
>>подробно, вот руководство никак не сделаю :(
>
>я по тому мануалу и делал, только видать невнимательно, потому как штуку
>про 4-ку не заметил.вроде я там четко описал что в 5'ке как раз работает с -b, а в 4'ке
нет, точнее возьмет конечно альтернативный суперблок, но только
для проверки и уж никак не запишет на диск - только в памяти ядра :(((
Вот почему в 4'ке только прямым копированием из любого альтернативного.С такими вещами нужно очень внимательно!
>Ещё раз спасибо большое!
Да не на чем, лишь бы был successful
>>в 4.x - fsck -b ничего не даст, в 4'ке только прямое
>>копирование
>>суперблока из альтернативного:
>>
>>- копируем на всякий пожарный основной в /tmp/save.ufs1
>>(в качестве примера ad0s1c - описание всего диска)
>>
>>#dd if=/dev/ad0s1c skip=16 of=/tmp/save.ufs1 bs=512 count=16
>>
>>теперь пропускаем 32 блока и копируем напрямую альтернативный суперблок
>>на место основного.
>>
>>#dd if=/dev/ad0s1c skip=32 of=/dev/ad0s1c seek=16 bs=512 count=16да, вместо skip=32 можно выбирать другие альтернативные superblocks -
их много и располагаются они на границе группировки цилиндров, что можно
посмотреть воспользовавшись newfs -N
Сегодня было то же самое. При вырубании света не вытянули УПСЫ положенного времени.
Самсунг ушел в такое состояние. Т.е. при чтении с него отключилось электричество. Он запомнил какой сектор не удалось прочесть и отметил его нечитаемым.
Помогло - прогон теста поверхности mhdd 4.6 со стиранием метки. Потом fsck и все заработало. Потерялся один файл.