Упал винт с ext3 разделами. Произошло это после того как я его разбил cfdisk'ом на 5 разделов:
1) vfat 30G
2) swap 0.5G
3) ext3 30G (но когда примонтровал оказалось только 16G)
4) ext3 30G (это единственный раздел на котом есть ценные данные,
которые надо восстановить)
5) ext3 80G
На последних 3-х разделах создал ФС: mkfs.ext3 и сразу залил на них файлы. Переразбил другой диск и скопировал данные из 3-го и 5-го раздела обратно, а на 4-ом оставил.
После перезагрузки нормально примонтировался только 5-ый раздел.
Пробовал gpart -w /dev/hdb /dev/hdb но не помогло.
knoppix@Knoppix:~$ dmesg |grep hdb
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
hdb: WDC WD1600JB-00GVA0, ATA DISK drive
hdb: max request size: 512KiB
hdb: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63
hdb: cache flushes supported
hdb: hdb1 hdb2 < hdb5 hdb6 > hdb3
VFS: Can't find an ext2 filesystem on dev hdb.
ReiserFS: hdb: warning: sh-2021: reiserfs_fill_super: can not find reiserfs on hdb
VFS: Can't find a valid FAT filesystem on dev hdb.
root@Knoppix:/ramdisk/home/knoppix# gpart /dev/hdb
** Error: invalid extended ptbl found at sector(100068885).
Begin scan...
Possible partition(DOS FAT), size(19077mb), offset(0mb)
Possible extended partition at offset(19077mb)
Possible partition(Linux swap), size(1906mb), offset(19077mb)
Possible partition(Linux ext2), size(16214mb), offset(20983mb)
Possible partition(Linux ext2), size(38146mb), offset(37675mb)
Похоже это --^ как раз искомый 4-ый раздел.
Possible partition(Linux ext2), size(76802mb), offset(75822mb)
End scan.
Checking partitions...
Partition(DOS or Windows 95 with 32 bit FAT, LBA): primary
Partition(Linux swap or Solaris/x86): invalid logical
Partition(Linux ext2 filesystem): invalid orphaned logical
Partition(Linux ext2 filesystem): invalid
Partition(Linux ext2 filesystem): primary
Ok.
Guessed primary partition table:
Primary partition(1)
type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
size: 19077mb #s(39070017) s(63-39070079)
chs: (0/1/1)-(1023/254/63)d (0/1/1)-(2431/254/63)r
Primary partition(2)
type: 015(0x0F)(Extended DOS, LBA)
size: 38625mb #s(79104060) s(39070080-118174139)
chs: (1023/254/63)-(1023/254/63)d (2432/0/1)-(7355/254/63)r
И это --^ тот же 4-ый раздел (судя по размеру), но здесь тип
уже почему-то Extended DOS.
Primary partition(3)
type: 131(0x83)(Linux ext2 filesystem)
size: 76802mb #s(157292352) s(155284353-312576704)
chs: (1023/254/63)-(1023/254/63)d (9666/1/1)-(19456/254/63)r
Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
Подскажите как можно восстановить данные.
Лишь зело суровые причины могут сподвигнуть джедая на то, чтобы 4-ю партишну пихать вперёд 3-ей. Ну, понятное дело, начинать стоит с man dd, man growisofs 3 раза, а потом из за-dd-ханного образа винта целиком начинать вынимать данные.
root@Knoppix:/ramdisk/home/knoppix# fdisk -l /dev/hdb
Warning: ignoring extra data in partition table 7
Warning: ignoring extra data in partition table 7
Warning: ignoring extra data in partition table 7
Warning: invalid flag 0xffff9e7c of partition table 7 will be corrected by w(rite)
Disk /dev/hdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 2432 19535008+ c W95 FAT32 (LBA)
/dev/hdb2 2433 7356 39552030 f W95 Ext'd (LBA)
/dev/hdb3 9667 19457 78646176 83 Linux
/dev/hdb5 2433 2494 497983+ 82 Linux swap / Solaris
/dev/hdb6 2495 6229 30001356 83 Linux
/dev/hdb7 ? 21696 65569 352407157 ca Unknown
>2. Как именно залил?
Просто скопировал через mc.
ls /dev/hdb*
/dev/hdb /dev/hdb1 /dev/hdb2 /dev/hdb3 /dev/hdb5 /dev/hdb6
hdb7 - вообще нет
/dev/hdb3 - нормально монтируется, как 74G ext3
/dev/hdb1 - как 20G vfat
а остальные не монтируются и я не могу определить их размер
(df работает только с примонтированными разделами) и следовательно
не знаю даже какой из них надо восстанавливать
монтрование в debugfs дает нулевые разделы:
root@Knoppix:/ramdisk/home/knoppix# mount -t debugfs /dev/hdb5 /mnt/hdb5
root@Knoppix:/ramdisk/home/knoppix# df -h /dev/hdb5
Filesystem Size Used Avail Use% Mounted on
/dev/hdb5 0 0 0 - /media/hdb5
также и для hdb6