кто сталкивался с такой проблемой , поделитесь опытом.
Хотел востоновит жёсткий диск. Подцепил hdd к системе. Он у меня видится всистеме freebsd 5.4 как ad2 и разделы как ad2a и ad2c
fsck_ufs /dev/ad2a /mnt
В ответ пишет:
Cannot find file system superblock
ioctl (GCINFO):Inappropriate ioctl for device
fsck_ufs: dev/ad2 can't read dick label
fsck_ufs -b 160 /dev/ad2 /mnt
в ответ:
is not file system superblock
Как решается проблема? Спасибо
>кто сталкивался с такой проблемой , поделитесь опытом.
>Хотел востоновит жёсткий диск. Подцепил hdd к системе. Он у меня видится
>всистеме freebsd 5.4 как ad2 и разделы как ad2a и ad2c"востоновит" тижЯло, бо неясно какая UFS на ем :(
>fsck_ufs /dev/ad2a /mnt
>В ответ пишет:
>Cannot find file system superblock
>ioctl (GCINFO):Inappropriate ioctl for device
>fsck_ufs: dev/ad2 can't read dick label
>
>fsck_ufs -b 160 /dev/ad2 /mnt
>в ответ:
>is not file system superblock
>Как решается проблема? Спасибоfsck_ffs аднака
а adXa,c и тд и тп для dangerous-dedicated, для совместимости с другими OS:
adXs1Y
>
>fsck_ffs аднака
>
>а adXa,c и тд и тп для dangerous-dedicated, для совместимости с другими
>OS:
>adXs1Y
Там тоже freebsd стоит файловой системой ufs.
а вот почему разделы диска показывает без указания слайсов не знаю.На ОС freebsd5.4 каторой мантирую диск ad2 есть утилита devfs и вроде как должно всё автоматом прихватится. У меня разделы ad2 видны как ad2a ad2c. disklabel разрушит содиржимое диска если исправить на adXs1Y . Дайте пожалуйста совет.
>>
>>fsck_ffs аднака
>>
>>а adXa,c и тд и тп для dangerous-dedicated, для совместимости с другими
>>OS:
>>adXs1Y
>Там тоже freebsd стоит файловой системой ufs.
>а вот почему разделы диска показывает без указания слайсов не знаю.На ОС
>freebsd5.4 каторой мантирую диск ad2 есть утилита devfs и вроде как
>должно всё автоматом прихватится. У меня разделы ad2 видны как ad2a
>ad2c. disklabel разрушит содиржимое диска если исправить на adXs1Y . Дайте
>пожалуйста совет.дык я все объяснил:
1. Про adXa,c,...,h - dangerous dedicated (если не понятно -> handbook)
2. Чтобы ЧТО-ТО делать с дисками, нужно- обдумать КАК не НАЛОМАТЬ ДРОВ (вероятно сделать КОПИЮ диска dd образ:
# dd if=диск of=[другой диск или образ на другой диск] conv=noerror,sync
(conv=noerror,sync - использовать если на диске есть плохие блоки)- четко определить с КАКОЙ UFS мы имеем дело: UFS1 или UFS2
- теперь можно приступать к "аварийным" работам
ps. так как верхнее мне неизвестно, то и совет не могу дать, для UFS1 он один, для
UFS2 другой (для UFS2 я собственно расписал подход)
>дык я все объяснил:
>
>1. Про adXa,c,...,h - dangerous dedicated (если не понятно -> handbook)
>2. Чтобы ЧТО-ТО делать с дисками, нужно
>
>- обдумать КАК не НАЛОМАТЬ ДРОВ (вероятно сделать КОПИЮ диска dd образ:
>
>
># dd if=диск of=[другой диск или образ на другой диск] conv=noerror,sync
>(conv=noerror,sync - использовать если на диске есть плохие блоки)
>
>- четко определить с КАКОЙ UFS мы имеем дело: UFS1 или UFS2
>
>
>- теперь можно приступать к "аварийным" работам
>
>ps. так как верхнее мне неизвестно, то и совет не могу дать,
>для UFS1 он один, для
>UFS2 другой (для UFS2 я собственно расписал подход)
1. У меня стоит freebsd5.4 c ufs2(ставилось по умолчанию) Востонавливаю диск Freebsd3.2 c ufs1 (1999 до 2003 был ufs2 небыло)
2. dd if=диск of= сделал
3. Вот что я нашёл по dangerous dedicated (http://www.ru.freebsd.org/doc/ru_RU.KOI8-R/books/faq/disks.html)Саветуешь заново разбить диск?
Если не трудно поделись опытом (теперь можно приступать к "аварийным" работам ).
>
>>дык я все объяснил:
>>
>>1. Про adXa,c,...,h - dangerous dedicated (если не понятно -> handbook)
>>2. Чтобы ЧТО-ТО делать с дисками, нужно
>>
>>- обдумать КАК не НАЛОМАТЬ ДРОВ (вероятно сделать КОПИЮ диска dd образ:
>>
>>
>># dd if=диск of=[другой диск или образ на другой диск] conv=noerror,sync
>>(conv=noerror,sync - использовать если на диске есть плохие блоки)
>>
>>- четко определить с КАКОЙ UFS мы имеем дело: UFS1 или UFS2
>>
>>
>>- теперь можно приступать к "аварийным" работам
>>
>>ps. так как верхнее мне неизвестно, то и совет не могу дать,
>>для UFS1 он один, для
>>UFS2 другой (для UFS2 я собственно расписал подход)
>1. У меня стоит freebsd5.4 c ufs2(ставилось по умолчанию) Востонавливаю диск Freebsd3.2
>c ufs1 (1999 до 2003 был ufs2 небыло)
>2. dd if=диск of= сделал
>3. Вот что я нашёл по dangerous dedicated (http://www.ru.freebsd.org/doc/ru_RU.KOI8-R/books/faq/disks.html)Саветуешь заново разбить диск?
>нет, не советую, зачем? Первое правило опытного системщика - "работет? работает. ну тады
не трожь!">Если не трудно поделись опытом (теперь можно приступать к "аварийным" работам ).
>не трудно, можно найти поиском по форуму здесь и http://forum.sysadmins.ru/ (там два
форума по unix)диск с системой 3.2-release - вот это уже информация.
Допустим копия диска сделана, по идее дальше лучше работать с копией и использовать
testdisk из портов.Что я бы сделал, на той машине где freebsd3.2 - попробовал бы загрузиться в
single-user mode (boot -s) и попробовал бы там посмотреть /etc/fstab - это если
удалось загрузиться.Если удалось загрузиться и посмотреть fstab - записать его.
Опять же если удалось загрузиться в single, то прям там попробовать fsck -y на устройства
из /etc/fstab. Если все OK, FS - прочистились, если нет и ругается на Суперблок -
дело плохо. Но в принципе поправимо при условии что ПЕРВЫЙ альтернативный суперблок
ЦЕЛ (не убит и не потерян)Суть в том что fsck с опцией -b в releases 2.x/3.x/4.x - берет информацию из указанного
альтернативного суперблока и чекает FS и приводит ее в порядок, НО НЕ восстанавливает
ОСНОВНОЙ суперблок как в 5.3/4 и в 6.0!!!
Соответственно скопировать альтернативный суперблок на место ОСНОВНОГО можно либо:1. прямым копированием dd
2. либо использовать fsck от 6.x (вот это я как-то не пробовал)1. прямое копирование ПЕРВОГО альтернативного суперблока UFS1 (-b 32) dd:
# dd if=/dev/adXsYc skip=32 of=/dev/adXsYc seek=16 bs=512 count=16где X=номер диска, Y=номер слайса, в случае dangerous-dedicate - слайсов понятное
дело не будет, пример:
# dd if=/dev/ad2s1c skip=32 of=/dev/ad2s1c seek=16 bs=512 count=16комментарий, adXs1c - "с" партиция описывает ВЕСЬ диск (это когда в single-user mode
не удалось загрузиться), для dang-ded:# dd if=/dev/ad0c skip=32 of=/dev/ad0c seek=16 bs=512 count=16
первый пример, ad2s1c - диск ad2, ad2s1 - первый слайс, ad2s1c - партиция "c", которая
не используется системой, но как описывалось выше, если в singe-user mode ничего сделать
нельзя, то можно воспользоваться этой партицией.Но если в single-user mode удалось загрузиться, и удалось смонтировать adXsYa или
adXa и прочитать fstab то для каждой FS в dd лучше использовать устройство(партицию)
из fstab.2. Подключаем диск к 6.0 например и сперва пробуем fdsik'ом посмотреть ПРОБЛЕМНЫЙ диск,
если на нем есть слайс/ы freebsd - очень хорошо, если нет - поможет testdisk, хотя как
я уже говорил, лучше testdisk прогонять на созданном образе и после того как
с его помощью восстановили ТАБЛИЦУ ПАРТИЦИЙ (про это я не писал выше, подразумевал
что она ЖИВА), после чего можно посмотреть снова fdisk и убедиться что таблица
восстановлена и есть слайс/ы freebsd.
Если с fdisk'ом разобрались, дальше смотреть disklabel и убедиться что ПАРТИЦИИ
freebsd живы, после чего можно воспользоваться fsck от 6.x с опцией -b
Для UFS1 это будет:# fsck -b 32 /dev/лала
Вот таким макаром, изложено сразу в вариациях-комбинациях и подход, реально это
НЕ ЕСТЬ ЖЕСТКИЙ АЛГОРИТМ, только подход и в какой последовательности действоватьЧтобы никто не путался: ВЕРХНЕЕ ОТНОСИТСЯ СТРОГО к UFS1 и ни в коем случае НЕПРИЕМЛЕМО
для UFS2, в плане расположения ПЕРВОГО альтернативного блока UFS1 - 32.
Для UFS2 он 160.Хуже если первый альтернативный блок тоже битый, нужно искать следующий, в случае если
newfs выполнялась со СТАНДАРТНЫМИ значениями, можно воспользоваться newfs -N чтобы
посмотреть список ВСЕХ альтернативных суперблоков. Если newfs были указаны СВОИ
параметры blocksize, изменен процент резервирования и они забыты - дело дрянь.
>2. Подключаем диск к 6.0 например и сперва пробуем fdsik'ом посмотреть ПРОБЛЕМНЫЙ
>диск,
>если на нем есть слайс/ы freebsd - очень хорошо, если нет -
>поможет testdisk, хотя как
>я уже говорил, лучше testdisk прогонять на созданном образе и после того
>как
>с его помощью восстановили ТАБЛИЦУ ПАРТИЦИЙ (про это я не писал выше,
>подразумевал
>что она ЖИВА), после чего можно посмотреть снова fdisk и убедиться что
>таблица
>восстановлена и есть слайс/ы freebsd.
> Если с fdisk'ом разобрались, дальше смотреть disklabel и убедиться что ПАРТИЦИИ
>
>freebsd живы, после чего можно воспользоваться fsck от 6.x с опцией -b
>
>Для UFS1 это будет:
>
># fsck -b 32 /dev/лала
>
>Вот таким макаром, изложено сразу в вариациях-комбинациях и подход, реально это
>НЕ ЕСТЬ ЖЕСТКИЙ АЛГОРИТМ, только подход и в какой последовательности действовать
>
>Чтобы никто не путался: ВЕРХНЕЕ ОТНОСИТСЯ СТРОГО к UFS1 и ни в
>коем случае НЕПРИЕМЛЕМО
>для UFS2, в плане расположения ПЕРВОГО альтернативного блока UFS1 - 32.
> Для UFS2 он 160.
>
>Хуже если первый альтернативный блок тоже битый, нужно искать следующий, в случае
>если
>newfs выполнялась со СТАНДАРТНЫМИ значениями, можно воспользоваться newfs -N чтобы
>посмотреть список ВСЕХ альтернативных суперблоков. Если newfs были указаны СВОИ
>параметры blocksize, изменен процент резервирования и они забыты - дело дрян
Скачал testdisk собрал на freebsd5.4. Теперь его если натровить сломанный диск? Как не чего не сломаю окончательно? Пыталься с копиее поиграться но не что непоучилось(dd).
А есть какойнибудь мануал по testdisk?
>>2. Подключаем диск к 6.0 например и сперва пробуем fdsik'ом посмотреть ПРОБЛЕМНЫЙ
>>диск,
>>если на нем есть слайс/ы freebsd - очень хорошо, если нет -
>>поможет testdisk, хотя как
>>я уже говорил, лучше testdisk прогонять на созданном образе и после того
>>как
>>с его помощью восстановили ТАБЛИЦУ ПАРТИЦИЙ (про это я не писал выше,
>>подразумевал
>>что она ЖИВА), после чего можно посмотреть снова fdisk и убедиться что
>>таблица
>>восстановлена и есть слайс/ы freebsd.
>> Если с fdisk'ом разобрались, дальше смотреть disklabel и убедиться что ПАРТИЦИИ
>>
>>freebsd живы, после чего можно воспользоваться fsck от 6.x с опцией -b
>>
>>Для UFS1 это будет:
>>
>># fsck -b 32 /dev/лала
>>
>>Вот таким макаром, изложено сразу в вариациях-комбинациях и подход, реально это
>>НЕ ЕСТЬ ЖЕСТКИЙ АЛГОРИТМ, только подход и в какой последовательности действовать
>>
>>Чтобы никто не путался: ВЕРХНЕЕ ОТНОСИТСЯ СТРОГО к UFS1 и ни в
>>коем случае НЕПРИЕМЛЕМО
>>для UFS2, в плане расположения ПЕРВОГО альтернативного блока UFS1 - 32.
>> Для UFS2 он 160.
>>
>>Хуже если первый альтернативный блок тоже битый, нужно искать следующий, в случае
>>если
>>newfs выполнялась со СТАНДАРТНЫМИ значениями, можно воспользоваться newfs -N чтобы
>>посмотреть список ВСЕХ альтернативных суперблоков. Если newfs были указаны СВОИ
>>параметры blocksize, изменен процент резервирования и они забыты - дело дрян
>Скачал testdisk собрал на freebsd5.4. Теперь его если натровить сломанный диск? Как
>не чего не сломаю окончательно? Пыталься с копиее поиграться но не
>что непоучилось(dd).
>А есть какойнибудь мануал по testdisk?
>>А есть какойнибудь мануал по testdisk?
>есть: http://www.cgsecurity.org/wiki/TestDisk
Вроде разлбрался теперь слейсы и партиции видит))
Запустил fsck_ufs -b 32 /dev/ad2s1c
Сработал но пишет не поправил перезапустите fsck/
Тогда загрузился с сломанного диска и о чудо он загрузился в однопользовательском уровне.Видет корневой но есть ещё /usr (не видет) Запустил fsck -b 32 /dev/ad0s1c
Кончается со словами:
file system marked dirty
file system was modyfied
please rerun fsck
А теперь что не так? Спасибо
>
>>>А есть какойнибудь мануал по testdisk?
>>есть: http://www.cgsecurity.org/wiki/TestDisk
>Вроде разлбрался теперь слейсы и партиции видит))
>Запустил fsck_ufs -b 32 /dev/ad2s1c
>Сработал но пишет не поправил перезапустите fsck/
>Тогда загрузился с сломанного диска и о чудо он загрузился в однопользовательском
>уровне.Видет корневой но есть ещё /usr (не видет) Запустил fsck -b
>32 /dev/ad0s1c
>Кончается со словами:
>file system marked dirty
>file system was modyfied
>please rerun fsck
>А теперь что не так? Спасибовообще-то нужно fsck -y -b 32 я же писал "-y" обязательно.
"file system marked dirty" - стоял флаг что FS не была правильно размонтирована.
"file system was modyfied" - какие-то изменения были произведены с FS и это отражено
в спец.битахну и запустите еще раз:
# fsck -y /
# fsck -y /usr или что там у вас идет отдельной FS в fstab
Решилось . откопали где-то образ сломанного диска и поставили на новый диск. А что касается сломанного диска он не подлежит востоновлению. Спасибо lavr за рекомендации.