partation table が壊れたときの対処2006年08月03日 13時07分02秒

parition が壊れたらしい。

# fdisk /dev/ad5
******* Working on device /dev/ad5 *******
parameters extracted from in-core disklabel are:
cylinders=395136 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=395136 heads=16 sectors/track=63 (1008 blks/cyl)

fdisk: invalid fdisk partition table found
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 398297025 (194480 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 895/ head 15/ sector 63
The data for partition 2 is:

The data for partition 3 is:

The data for partition 4 is:


それに対するコメントがこちら。
Well, there you go: that's why there is no ad5s1, and thus ad5s1c.

Maybe you got lucky, and only the first sector of the disk got lost in that crash. If you know how you had partitioned that disk *exactly*, or you have another disk of the same size that is partitioned *exactly* the same, you might try to re-create the slices usign fdisk, or copying over the first sector with dd. Otherwise, you need to restore from backup.

「運が良ければ、第一セクタのみが壊れているのかもしれ無い。そうだとすれば、元と完全に同じ fdisk の情報を書き込んでやれば修復できるかも知れない。」とのこと。

正常な partation はこのように見える。


# fdisk -t /dev/ad0
******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders=116280 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=116280 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders=116280 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=116280 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 7 (0x07),(OS/2 HPFS, NTFS, QNX-2 (16 bit) or Advanced UNIX)
    start 63, size 41929587 (20473 Meg), flag 0
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 41929650, size 16771860 (8189 Meg), flag 80 (active)
        beg: cyl 1023/ head 255/ sector 63;
        end: cyl 1023/ head 254/ sector 63

なお、ports には gpart と言う壊れた partiation table を予想するソフトがあると紹介されていた。

実際に試したわけでは無いが、障害対策にメモ。