Главная | Контакты



Главная > Программы

badsect - программа для перемещения bad-блоков в файлы


    Badsect - программа, создаёт файл с дефектным сектором. (вернее сказать, она помещает дефектные секторы в отдельные файлы - каждый в свой.) Нужно это в том случае, если посыпался диск, заменить его прямо сейчас нельзя, а работать надо. Обычная, в общем-то ситуация...
   Итак. У программы всего два параметра - директория, где должны размещаться файлы с бэд-блоками и номер битого сектора.
/usr/home/lissyara/>su
/usr/home/lissyara/>df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a    248M    115M    113M    51%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad0s1e     14G    5.2G    7.3G    42%    /usr
/dev/ad0s1f    3.5G    593M    2.7G    18%    /var
/dev/ad8s1      73G     63G    5.0G    93%    /usr/local/smb
/dev/ad0s1d    989M    1.4M    909M     0%    /tmp
/usr/home/lissyara/>mkdir /tmp/bad-sect
/usr/home/lissyara/>badsect /tmp/bad-sect 104100

Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104101
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104102

Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104103
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104104

Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>badsect /tmp/bad-sect 104105
Don't forget to run ``fsck /dev/ad0s1d''
/usr/home/lissyara/>ls -lah /tmp/bad-sect
ls: 104100: Bad file descriptor

ls: 104101: Bad file descriptor
ls: 104102: Bad file descriptor
ls: 104103: Bad file descriptor

ls: 104104: Bad file descriptor
ls: 104105: Bad file descriptor
ls: 104448: Bad file descriptor

ls: 104449: Bad file descriptor
total 4
drwxr-xr-x   2 root  wheel   512B  1 янв 02:22 .
drwxrwxrwt  12 root  wheel   1,0K  1 янв 01:58 ..
/usr/home/lissyara/>umount -f /tmp
/usr/home/lissyara/>fsck /dev/ad0s1d
** /dev/ad0s1d
** Last Mounted on /tmp
** Phase 1 - Check Blocks and Sizes

HOLD BAD BLOCK? [yn] y

INCORRECT BLOCK COUNT I=8 (0 should be 4)
CORRECT? [yn] y


26112 DUP I=9
UNEXPECTED SOFT UPDATE INCONSISTENCY


HOLD BAD BLOCK? [yn] y

26112 DUP I=16
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=16 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

INCORRECT BLOCK COUNT I=17 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y


26025 DUP I=18
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=18 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

26025 DUP I=19

UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=19 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

26025 DUP I=20
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=20 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y

INCORRECT BLOCK COUNT I=21 (0 should be 4)
CORRECT? [yn] y


HOLD BAD BLOCK? [yn] y


26026 DUP I=22
UNEXPECTED SOFT UPDATE INCONSISTENCY

INCORRECT BLOCK COUNT I=22 (0 should be 4)
CORRECT? [yn] y

INTERNAL ERROR: dups with -p
UNEXPECTED SOFT UPDATE INCONSISTENCY
** Phase 1b - Rescan For More DUPS

26112 DUP I=8
UNEXPECTED SOFT UPDATE INCONSISTENCY

26025 DUP I=17
UNEXPECTED SOFT UPDATE INCONSISTENCY

26026 DUP I=21

UNEXPECTED SOFT UPDATE INCONSISTENCY

** Phase 2 - Check Pathnames
DUP/BAD  I=9  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 01:53 2006

FILE=/lost+found/#000009

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=8  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:21 2006

FILE=/bad-sect/104448

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=16  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:21 2006

FILE=/bad-sect/104449

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=17  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006

FILE=/bad-sect/104100

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=18  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006

FILE=/bad-sect/104101

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=19  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006

FILE=/bad-sect/104102

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=20  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006

FILE=/bad-sect/104103

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=21  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006

FILE=/bad-sect/104104

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

DUP/BAD  I=22  OWNER=root MODE=100600
SIZE=2048 MTIME=Jan  1 02:22 2006

FILE=/bad-sect/104105

UNEXPECTED SOFT UPDATE INCONSISTENCY

REMOVE? [yn] n

** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? [yn] y

SUMMARY INFORMATION BAD
SALVAGE? [yn] y

ALLOCATED FRAGS 26025-26026 MARKED FREE
BLK(S) MISSING IN BIT MAPS
SALVAGE? [yn] y


253 files, 714 used, 505773 free (77 frags, 63212 blocks, 0.0% fragmentation)

***** FILE SYSTEM MARKED DIRTY *****

***** FILE SYSTEM WAS MODIFIED *****

***** PLEASE RERUN FSCK *****
/usr/home/lissyara/>mount /tmp
/usr/home/lissyara/>ls -lah /tmp/bad-sect
total 20

drwxr-xr-x   2 root  wheel   512B  1 янв 02:22 .
drwxrwxrwt  12 root  wheel   1,0K  1 янв 01:58 ..
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104100

-rw-------   1 root  wheel   2,0K  1 янв 02:22 104101
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104102

-rw-------   1 root  wheel   2,0K  1 янв 02:22 104103
-rw-------   1 root  wheel   2,0K  1 янв 02:22 104104

-rw-------   1 root  wheel   2,0K  1 янв 02:22 104105
-rw-------   1 root  wheel   2,0K  1 янв 02:21 104448

-rw-------   1 root  wheel   2,0K  1 янв 02:21 104449
/usr/home/lissyara/>

Вот так.

P.S. Кстати - не советую ставить опыты на рабочей машине, либо очень аккуратно выбирайте номера блоков для опытов - блок 104449, он был в /var - и в нём я увидел кусок одной из моих БД :( Было не очень обидно - я сделал дамп перед экспериментами, но всё же...



Материал взят с сайта: http://www.lissyara.su/articles/freebsd/file_system/badsect/

Главная > Программы