Linux - статьи
Начну именно с той утилиты, которая мне помогла и вообще понравилась. Найдена она была . Я взял файл для Линукс - gpart.linux. Переименовал в gpart и записал на дискету (размер файла - 265364 байт). После чего загрузился с ASP Linux CD-ROM в режиме консоли восстановления. Выполнил dmesg, чтобы еще раз убедиться, что винчестер у меня это устройство hdb: hdb: MAXTOR 6L040J2, ATA DISK drive hdb: 66055248 sectors (33820 MB) w/1819KiB Cache,
CHS=65531/16/63, UDMA (100)
Теперь нужно смонтировать дискету и запустить утилиту: /mnt/floppy/gpart /dev/hdb
После краткого "раздумья" на экран буде выведена информация о возможном размещении стертых разделов. Вот в таком виде: Primary partition (1) type: 131(0x83)(Linux ext2 filesystem) size: 5004mb #s (10249400) s (63-10249462) chs: (0/1/1)-(1023/15/63) d (0/1/1)-(10168/1/56) r …… Primary partition (4) type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX) size: 16731mb #s (34266640) s (31760505-66027144) chs: (1023/15/63)-(1023/15/63) d (31508/7/1)-(65503/1/58) r
Несколько слов о полученной информации. В строку, помеченной type, указан тип файловой системы, в коде и символическом представлении. Вообще, эта утилита "понимает" следующие системы:
- DOS/Windows FAT (FAT 12/16/32) Linux ext2;
- Linux swap, версии 0 and 1 (Linux >= v2.2.X);
- OS/2 HPFS;
- Windows NT/2000 FS;
- BSD метки дисков;
- Solaris/x86 метки дисков;
- Minix FS;
- Reiser FS;
- Linux LVM дисковый массив;
- SGI XFS on Linux;
- BeOS filesystem;
- QNX 4.x filesystem.
В строке size находится информация, касающаяся "секторной приписки" раздела и количества секторов, занимаемых им. То есть строка: size: 16731mb #s (34266640) s (31760505-66027144)
означает, что размер диска - 16731 Мб, занимает он 34 266 640 секторов, с 31 760 505 по 66 027 144.
Последняя строка - chs - предоставляет нам данные о топологическом размещении разделов, в координатах "цилиндр/головка/сектор" (в нашем случае это не так важно).
И что теперь? Теперь мы можем просто восстановить таблицу размещения разделов при помощи команды: gpart -W /dev/hdb /dev/hdb
Такой синтаксис предписывает утилите "вычислить" таблицу разделов на устройстве hdb и вписать его туда же (то есть восстановить). Но, в принципе, нам предоставляются и другие возможности: сохранить эти данные про запас (gpart -W /dev/fd0 /dev/hdb, на дискету. На тот случай если придется ее восстанавливать) или разбить другой диск по образу и подобию текущего (gpart -W /dev/hda /dev/hdb). Если вы любите делать все своими руками - из осторожности, например (все-таки восстанавливать партиции - дело не тривиальное) - можно воспользоваться традиционным fdisk. Не забудьте только добавить ключ -u - тогда при построении таблицы разделов можно оперировать номерами секторов.