Потерялись разделы и загрузка с диска...
После некоторых манипуляций смог подмонтировать рут папку...т.е. теперь осталось как то восстановить партиции...testdisk че-то находит только помоему не то... пишит типа empety (пусто)
gpart не запускается на 64 битной системеdd делает только 6 гигов из 80 бэкап..
вычитал что информация о разделах храниться где-то в кернеле...щас запустил поиск по диску такой коммандой
hexdump -C /dev/ad10 | grep "64 69 73 6b 3a"
тобишь "disk:" или кусок от disk: ad8s1жду окончания сканирования...
далее вот решил к вам обратитья за помощью..вообще надо выдернуть из var базы из home и usr сайты...вот такая беда... :(
>Потерялись разделы и загрузка с диска...
>После некоторых манипуляций смог подмонтировать рут папку...т.е. теперь осталось как то восстановить
>партиции...
>
>testdisk че-то находит только помоему не то... пишит типа empety (пусто)
>gpart не запускается на 64 битной системе
>
>dd делает только 6 гигов из 80 бэкап..
>
>вычитал что информация о разделах храниться где-то в кернеле...щас запустил поиск по
>диску такой коммандой
>
>hexdump -C /dev/ad10 | grep "64 69 73 6b 3a"
>тобишь "disk:" или кусок от disk: ad8s1
>
>жду окончания сканирования...
>далее вот решил к вам обратитья за помощью..вообще надо выдернуть из var
>базы из home и usr сайты...вот такая беда... :(
если вы еще НЕ ВСЕ запороли - сделайте полный образ диска используя dd
- ПОЛНЫЙ, для этого нужно указывать сырое устройство(полный диск)
dd if=битый_раздел_или_диск of=файл bs=8k или bs=16k conv=noerror,syncнапример диск ad0 - это целый диск, или da0 целый диск
dd if=ad0 of=hdimage bs=8k conv=noerror,sync
после чего НЕ ТРОГАТЬ сам диск и тренироваться на его образе: hdimage
Ищите мои рекомендации в этом форуме (по ключам mhdd32 и superblock
и их вариации: super block (поиск только по форуму)и на http://forum.sysadmins.ru/2/
http://forum.sysadmins.ru/0/83180/?highlight=прим: для 4.x fsck/fsck_ffs с опцией -b - не помогут! только прямое
копирование альтернативного суперблока вместо основного, 5.x и выше
- newfs -N и fsck_ffs -b четко помогаютPS. Все же видимо нужно посидеть и переработать все что накопилось
под нормальное руководство.
>копирование альтернативного суперблока вместо основного, 5.x и выше
>- newfs -N и fsck_ffs -b четко помогают
>
>PS. Все же видимо нужно посидеть и переработать все что накопилось
>под нормальное руководство.
fsck_ffs -b о точно после этого у меня рут папка ставла видна...за то как bb точно делать спасибо уже прошел критические 6 гбайт, интеренсно что hexdump тоже на этом месте ругается...
>
>>копирование альтернативного суперблока вместо основного, 5.x и выше
>>- newfs -N и fsck_ffs -b четко помогают
>>
>>PS. Все же видимо нужно посидеть и переработать все что накопилось
>>под нормальное руководство.
>
>
>fsck_ffs -b о точно после этого у меня рут папка ставла видна...
>если КОРЕНЬ появился и успешно fsck прошел: смотри на нем /etc/fstab
и выписывай все mount-point: слайсы и партиции чтобы с ними
затем разобраться>за то как bb точно делать спасибо уже прошел критические 6 гбайт,
>интеренсно что hexdump тоже на этом месте ругается...
>если КОРЕНЬ появился и успешно fsck прошел: смотри на нем /etc/fstab
>и выписывай все mount-point: слайсы и партиции чтобы с ними
>затем разобраться
а можно тут поподробнее...в fstab только названия разделов..тип и вид доступа...
>>если КОРЕНЬ появился и успешно fsck прошел: смотри на нем /etc/fstab
>>и выписывай все mount-point: слайсы и партиции чтобы с ними
>>затем разобраться
>а можно тут поподробнее...в fstab только названия разделов..тип и вид доступа...а что тут побробного: man fstab
например:
# Device Mountpoint FStype Options Dump Pass#
/dev/ad2s1b none swap sw 0 0
^^^^^^^^^^^-------------^^^^------------^^^^ad2s1b:
ad2 - master диск на первом контроллере, потому как нумерация с 0
ATA(IDE) контроллер: ad0/ad1 - master/slave на НУЛЕВОМ канале,
соответственно ad2/ad3 - master/slave на ПЕРВОМ каналеad2s1 - s1/2/3/4 - слайсы, органицая в FreeBSD такова, что диск
может быт разбит на 4 слайса максимум:
s1 - первый слайс, s2 - второй & etc
каждый слайс в свою очередь может быть разбит на 8 партиций, из которых
три названия зарезервированы и партиции обозначаются буквами от "a" до
"h"a - зарезервировано под root (где располагается загрузчик и ядро)
b - это swap, сырой раздел
c - это описание ВСЕГО диска или слайса
далее с "d" по "h" под что угодно, под любой mount-pointИтого:
adXsY[a-h] - где X - номер диска, Y - номер слайса с 1 по 4, a-h - партиции
adXsY[a-h] - для ATA
daXsY[a-h] - для SCSIоднако диск можно использовать как dangerous-dedicated - только под
FreeBSD, те никаких слайсов:adX[a-h]
/dev/ad2s1a / ufs rw 1 1
----------^- партиция под корень
--------^^- первый слайс
-----^^^- ide диск, master на втором канале/dev/ad2s1d /tmp ufs rw 2 2
------------------------^^^^- точка монтирования/dev/ad2s1e /usr ufs rw 2 2
----------------------------------------^^^- файловая система UFS/dev/ad2s1f /var ufs rw 2 2
----------------------------------------------------------------^^^^^^^^^-
dump - может эта FS использоваться под dump или нет, pass - как будет
выполняться fsck/dev/ad2s1g /home ufs rw 2 2
/dev/ad2s1h /pub ufs rw 2 2--- fdisk --------
[alone]~ > fdisk ad2
******* Working on device /dev/ad2 *******
parameters extracted from in-core disklabel are:
cylinders=238216 heads=16 sectors/track=63 (1008 blks/cyl)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- парметры
взятые с дика, либо с BIOSFigures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=238216 heads=16 sectors/track=63 (1008 blks/cyl)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- предупреждение
о том что Unix не работает с такими параметрами и ниже они будут
пересчитаны, значение sectors/track=63 нормальное, а heads для пересчета
берется 255Media 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)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- id=165 в partitions означает
что это FreeBSDstart 63, size 240107427 (117239 Meg), flag 80 (active)
^^^^^^^^^^^^- начальный сектор, всего расчетных 240107427 секторов
flag=80 - активная, загрузочнаяbeg: cyl 0/ head 1/ sector 1;
end: cyl 1023/ head 254/ sector 63партиции 2,3,4 не задействованы:
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
[alone]~ >другой вывод fdisk:
[alone]~ > fdisk -s ad2
/dev/ad2: 238216 cyl 16 hd 63 sec
Part Start Size Type Flags
1: 63 240107427 0xa5 0x80
[alone]~ >все как и выше но компактно, итого: fdisk adX[daX] показывает
разбивку по слайсампереинициализировать загрузочный код в 0'ом секторе (/boot/mbr):
fdisk -B ad2
Это стандартный загрузчик (standart boot)
В случае с Boot Manager: man boot0cfg
# boot0cfg -v ad2 - посмотреть используется ЛИ bootmanager
например:
[alone]~ > boot0cfg -v ad2
boot0cfg: /dev/ad2: unknown or incompatible boot code
[alone]~ > boot0cfg -v ad1
# flag start chs type end chs offset size
1 0x00 0: 1: 1 0xa5 1023:254:63 63 160071597version=1.0 drive=0x80 mask=0xf ticks=182
options=nopacket,update,nosetdrv
default_selection=F5 (Drive 1)
[alone]~ >из верхнего следует что на диске ad2 нет bootmanager'а, но так как
с него грузится система: ad2s2a - значит используется MBR (стандартный
загрузчик)
в свою очередь на ad1 как мы видим, есть bootmanager - видимо когда-то
на этот диск ставилась система и использовался Boot Manager для
загрузки--- bsdlabel/disklabel ---
показывает разбивку по партициям, соответственно в качестве аргумента
указывается СЛАЙС:[alone]~ > bsdlabel ad2s1
# /dev/ad2s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 614400 0 4.2BSD 2048 16384 38408
b: 1048576 614400 swap
c: 240107427 0 unused 0 0 # "raw" part, don't edit
d: 1048576 1662976 4.2BSD 2048 16384 8
e: 41943040 2711552 4.2BSD 2048 16384 28552
f: 20971520 44654592 4.2BSD 2048 16384 28552
g: 20971520 65626112 4.2BSD 2048 16384 28552
h: 153509795 86597632 4.2BSD 2048 16384 28552
[alone]~ ># size offset fstype [fsize bsize bps/cpg]
a: 614400 0 4.2BSD 2048 16384 38408offset - 0, с нулевого сектора, размер 614400 секторов,
fsize - размер фрагмента, для партиций меньше 1GB fsize=1024
bsize - размер блока, для партиций меньше 1GB bsize=8192
bps/cpg - количество цилиндров в группекак расписывалось ранее, партиция "c" зарезервирована и описывает
весь диск/слайс:c: 240107427 0 unused 0 0 # "raw" part, don't edit
с 0'ого сектора по 240107427
размер сектора 512 байт
записать загрузчик(/boot/boot): bsdlabel -w -B adXsY
man boot
man fdisk
man bsdlabel
man loader
man boot0cfg
man fstab
man fsck
...
>>>если КОРЕНЬ появился и успешно fsck прошел: смотри на нем /etc/fstab
>>>и выписывай все mount-point: слайсы и партиции чтобы с ними
>>>затем разобраться
>>а можно тут поподробнее...в fstab только названия разделов..тип и вид доступа...
>
>а что тут побробного: man fstab
>
>например:
<skip>
>man fstab
>man fsck
>...это я примерно знаю..вот что мне конкретно сделать после dd с имеджем? попробовал gpart и testdisk (на самом диске) они толком ниче не показали...плюс допустим есть у меня фалик fstab что мне дает информация из него для восстановления партиций?
>>>>если КОРЕНЬ появился и успешно fsck прошел: смотри на нем /etc/fstab
>>>>и выписывай все mount-point: слайсы и партиции чтобы с ними
>>>>затем разобраться
>>>а можно тут поподробнее...в fstab только названия разделов..тип и вид доступа...
>>
>>а что тут побробного: man fstab
>>
>>например:
><skip>
>>man fstab
>>man fsck
>>...
>
>это я примерно знаю..вот что мне конкретно сделать после dd с имеджем?
>попробовал gpart и testdisk (на самом диске) они толком ниче не
>показали...плюс допустим есть у меня фалик fstab что мне дает информация
>из него для восстановления партиций?дык я вам все расписал, если вы все это знаете, применить к этому
инструментарий уже не проблема, откуда мне знать сто у вас случилось
и что вы напороли с дисками?testdisk на hdimage все замечательно делает, только надо понимать
что делать. Если у вам удалось поднять корень и есть fstab - какие
проблемы посмотреть fdisk/disklabel/newfs -N чтобы попытаться
восстановить суперблок, ну сперва правда надо таблицу слайсов
и разделов поднять.Есть еще программа поиска суперблока:
# cd /usr/src/tools/tools/find-sb
# make
# после чего обязательно читаем READMEили утилиты gpart scan_ffs и ffsrecov написанная на питоне и поддерживающая UFS2:http://people.FreeBSD.org/~jmg/ffsrecov/
только еще раз: НЕ НАДО напрямую с диском работать, у вас есть
ОБРАЗ, есть fstab и можно сделать образ слайса или партиций,
ну разумеется после восстановления таблицы партиций.
>ОБРАЗ, есть fstab и можно сделать образ слайса или партиций,
>ну разумеется после восстановления таблицы партиций.мм...а тот файл (образ) что лежит можно как-то сдлеать как будто он диск?
>
>>ОБРАЗ, есть fstab и можно сделать образ слайса или партиций,
>>ну разумеется после восстановления таблицы партиций.
>
>мм...а тот файл (образ) что лежит можно как-то сдлеать как будто он
>диск?man mdconfig (vnconfig для 4.x)
Вот что удалось узнать о диске..testdisk (поставил кол-во цилиндров равное кол-ву секторов по 512 б)
===============================
D FreeBSD 63 62 0
D empty 63 524350 524288 [/files/bu]
UFS2, 256 MB
D empty 175 524462 524288 [/files/bu]
UFS2, 256 MB
D empty 4319 4231390 4227072 [libexec]
UFS2, 2064 MB
D empty 4431 4231502 4227072 [libexec]
UFS2, 2064 MB
D empty 2060351 12546110 10485760 [/var]
UFS2, 5120 MB
D empty 2060463 12546222 10485760 [/var]
UFS2, 5120 MB
D empty 2072255 415285950 413213696 [named]
UFS2, 19076132 MB
D empty 2072367 415286062 413213696 [named]
UFS2, 19076132 MB
D empty 2141887 3337627590 3335485704 [named]
UFS2, 3725807 MB
D empty 2141999 3337627702 3335485704 [named]
UFS2, 3725807 MB
D empty 4177983 6225982 2048000 [/tmp]
UFS2, 1000 MB
D empty 4178095 6226094 2048000 [/tmp]
UFS2, 1000 MB
D FAT12 5368400 5389138 20739 [NO NAME]
FAT12, 10 MB
D empty 6225983 90112062 83886080 [/usr]
UFS2, 40960 MB
D empty 6226095 90112174 83886080 [/usr]
UFS2, 40960 MB
D empty 6237887 241118910 234881024 [games]
UFS2, 54640640 MB
D empty 6237999 241119022 234881024 [games]
UFS2, 54640640 MB
D HFS 7546200 1085493657 1077947458 [`@]
HFS, 67635205 MB
D FAT12 8461472 8482210 20739 [NO NAME]D empty 90112063 156296382 66184320 [/home]
UFS2, 32316 MB
D empty 90112175 156296494 66184320 [/home]
UFS2, 32316 MB
D HFS 91890883 91891655 773 [D]
HFS, 0 MB
D empty 97456191 156296382 58840192 [/home]
UFS2, 28730 MB
D empty 97456303 156296494 58840192 [/home]
UFS2, 28730 MB
D empty 97468511 156308702 58840192 [/home]
UFS2, 28730 MB
D empty 97468623 156308814 58840192 [/home]
UFS2, 28730 MB
D empty 97533759 156373950 58840192 [/home]
UFS2, 28730 MB
D empty 97533871 156374062 58840192 [/home]
UFS2, 28730 MB
D empty 97637215 163821534 66184320
UFS2, 32316 MB
D FAT32 LBA 143347995 153597464 10249470 [SYS]
FAT32, 5004 MB
D HFS 154282981 1706847718 1552564738 [abel.o]
HFS, 758088 MB
D empty 154326290 2461717777 2307391488 [Ev]
UFS1, 1664168192 MB
===================================scan_ffs
====================================ufs2 at 63 size 131072 mount /files/bu time Sun Aug 28 23:13:49 2005
ufs2 at 2060351 size 2621440 mount /var time Sun Aug 28 23:13:52 2005
ufs2 at 4177983 size 512000 mount /tmp time Sun Aug 28 22:00:09 2005
ufs2 at 6225983 size 20971520 mount /usr time Sun Aug 28 22:00:09 2005
ufs2 at 90112000 size 16546080 mount /home time Sun Aug 28 22:00:08 2005
ufs2 at 97456128 size 14710048 mount /home time Sun Aug 28 23:13:49 2005
======================================================
NEWFS -N выбает кучу адресов на целу страницу (иль даже больше)
что я щас могу еще сделать?
зы: походу в тестдиск че то не правильно с ufs2 пашет всегда epmty ( правда скорее всег о я не правильно делаю что-то
>Вот что удалось узнать о диске..
>
>testdisk (поставил кол-во цилиндров равное кол-ву секторов по 512 б)
>===============================
> D FreeBSD
>
> 63
> 62
> 0
> D empty
>
> 63
>524350 524288 [/files/bu]
> UFS2, 256 MB
> D empty
>
> 175 524462
> 524288 [/files/bu]
> UFS2, 256 MB
> D empty
>
> 4319 4231390
> 4227072 [libexec]
> UFS2, 2064 MB
> D empty
>
> 4431 4231502
> 4227072 [libexec]
> UFS2, 2064 MB
> D empty
>
> 2060351 12546110 10485760 [/var]
> UFS2, 5120 MB
> D empty
>
> 2060463 12546222 10485760 [/var]
> UFS2, 5120 MB
> D empty
>
> 2072255 415285950 413213696 [named]
> UFS2, 19076132 MB
> D empty
>
> 2072367 415286062 413213696 [named]
> UFS2, 19076132 MB
> D empty
>
> 2141887 3337627590 3335485704 [named]
> UFS2, 3725807 MB
> D empty
>
> 2141999 3337627702 3335485704 [named]
> UFS2, 3725807 MB
> D empty
>
> 4177983 6225982 2048000 [/tmp]
>
> UFS2, 1000 MB
> D empty
>
> 4178095 6226094 2048000 [/tmp]
>
> UFS2, 1000 MB
> D FAT12
>
> 5368400 5389138
>20739 [NO NAME]
> FAT12, 10 MB
> D empty
>
> 6225983 90112062 83886080 [/usr]
> UFS2, 40960 MB
> D empty
>
> 6226095 90112174 83886080 [/usr]
> UFS2, 40960 MB
> D empty
>
> 6237887 241118910 234881024 [games]
> UFS2, 54640640 MB
> D empty
>
> 6237999 241119022 234881024 [games]
> UFS2, 54640640 MB
> D HFS
>
> 7546200 1085493657 1077947458 [`@]
> HFS, 67635205 MB
> D FAT12
>
> 8461472 8482210
>20739 [NO NAME]
>
> D empty
>
>90112063 156296382 66184320 [/home]
> UFS2, 32316 MB
> D empty
>
>90112175 156296494 66184320 [/home]
> UFS2, 32316 MB
> D HFS
>
> 91890883 91891655
> 773 [D]
> HFS, 0 MB
> D empty
>
>97456191 156296382 58840192 [/home]
> UFS2, 28730 MB
> D empty
>
>97456303 156296494 58840192 [/home]
> UFS2, 28730 MB
> D empty
>
>97468511 156308702 58840192 [/home]
> UFS2, 28730 MB
> D empty
>
>97468623 156308814 58840192 [/home]
> UFS2, 28730 MB
> D empty
>
>97533759 156373950 58840192 [/home]
> UFS2, 28730 MB
> D empty
>
>97533871 156374062 58840192 [/home]
> UFS2, 28730 MB
> D empty
>
>97637215 163821534 66184320
> UFS2, 32316 MB
> D FAT32 LBA
> 143347995 153597464
> 10249470 [SYS]
> FAT32, 5004 MB
> D HFS
>
> 154282981 1706847718 1552564738 [abel.o]
> HFS, 758088 MB
> D empty
> 154326290
>2461717777 2307391488 [Ev]
> UFS1, 1664168192 MB
>===================================
>
>scan_ffs
>====================================
>
>ufs2 at 63 size 131072 mount /files/bu time Sun Aug 28 23:13:49
>2005
>
>ufs2 at 2060351 size 2621440 mount /var time Sun Aug 28 23:13:52
>2005
>
>ufs2 at 4177983 size 512000 mount /tmp time Sun Aug 28 22:00:09
>2005
>
>ufs2 at 6225983 size 20971520 mount /usr time Sun Aug 28 22:00:09
>2005
>
>ufs2 at 90112000 size 16546080 mount /home time Sun Aug 28 22:00:08
>2005
>
>ufs2 at 97456128 size 14710048 mount /home time Sun Aug 28 23:13:49
>2005выше полная картина для bsdlabel
>======================================================
>
>NEWFS -N выбает кучу адресов на целу страницу (иль даже больше)
>
>что я щас могу еще сделать?я вам расписал теорию - вы сказали что ВСЕ ЭТО ЗНАЕТЕ, в чем
я теперь сильно сомневаюсь, после данного постинга.
Раз вы все знаете и мало того, уже получили ПОЛНУЮ и НЕОБХОДИМУЮ
картину ТОГО ЧТО НУЖНО,см.выше результат scan_ffs.
Что вам еще нужно? У ВАС ВСЕ ЕСТЬ!>зы: походу в тестдиск че то не правильно с ufs2 пашет всегда
>epmty ( правда скорее всег о я не правильно делаю что-то
>изучайте матчасть.
testdisk - для восстановления partition table
scan_ffs/gpart - тоже самоекогда fdisk adX покажет информацию в нормальном виде
и bsdlabel(disklabel), после этого:fsck -y /dev/adXsY[a,d-h] - если будет ругаться на суперблок, то
newfs -N /dev/adXsY[...] - покажет кучу альтернативных суперблоков,
которые можно использовать в случае если ГЛАВНЫЙ умер, после чего
fsck_ffs -b АДРЕС_АЛЬТЕРНАТИВНОГО /dev/adXsY[...]Все.
2lavr: Да, очень бы хотелось руководство.
Если у вас получилось снять образ, то используя данное руководство его можно смонтировать http://www.freebsd.org/old/doc/ru/books/handbook/disks-virtu...MyHomePage - http://surgutnet.ru