Всем привет. После обновления с Freebsd 8 на 9, диски оприделяются как устройства ada. В dmesg пишется:
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <WDC WD1002FAEX-00Z3A0 05.01D05> ATA-8 SATA 3.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
ada1 at ahcich2 bus 0 scbus2 target 0 lun 0
ada1: <WDC WD1002FAEX-00Z3A0 05.01D05> ATA-8 SATA 3.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada1: Previously was known as ad8
ada2 at ahcich3 bus 0 scbus3 target 0 lun 0
ada2: <WDC WD20EURS-63S48Y0 51.0AB51> ATA-8 SATA 2.x device
ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
ada2: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
ada2: Previously was known as ad10
ada3 at ata1 bus 0 scbus5 target 0 lun 0
ada3: <WDC WD3200AAKS-00UU3A0 01.03B01> ATA-8 SATA 2.x device
ada3: 150.000MB/s transfers (SATA, UDMA6, PIO 8192bytes)
ada3: 305245MB (625142448 512 byte sectors: 16H 63S/T 16383C)
ada3: Previously was known as ad2Проблема с диском ada0, у которого не оприделяется файловая система. В `gpart show` ada0 отсутсвует # gpart show
=> 63 1953525105 ada1 MBR (931G)
63 1953525105 1 freebsd [active] (931G)=> 0 3907029168 ada2 BSD (1.8T)
0 16 - free - (8.0k)
16 3907029152 5 !0 (1.8T)=> 63 625142385 ada3 MBR (298G)
63 625142385 1 freebsd [active] (298G)=> 0 1953525105 ada1s1 BSD (931G)
0 16 - free - (8.0k)
16 1953525089 4 !0 (931G)=> 0 625142385 ada3s1 BSD (298G)
0 20971520 1 freebsd-ufs (10G)
20971520 7259904 2 freebsd-swap (3.5G)
28231424 31457280 4 freebsd-ufs (15G)
59688704 20971520 5 freebsd-ufs (10G)
80660224 544482161 6 freebsd-ufs (259G)Вывод# fdisk ada0
******* Working on device /dev/ada0 *******
parameters extracted from in-core disklabel are:
cylinders=1938021 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=1938021 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 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 1953525105 (953869 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 1023/ head 15/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>Вот ls /dev/ad*
/dev/ad10 /dev/ad2s1a /dev/ad2s1f /dev/ad8s1d /dev/ada1s1d /dev/ada3s1 /dev/ada3s1e
/dev/ad10e /dev/ad2s1b /dev/ad4 /dev/ada0 /dev/ada2 /dev/ada3s1a /dev/ada3s1f
/dev/ad2 /dev/ad2s1d /dev/ad8 /dev/ada1 /dev/ada2e /dev/ada3s1b
/dev/ad2s1 /dev/ad2s1e /dev/ad8s1 /dev/ada1s1 /dev/ada3 /dev/ada3s1dи # ls /dev/ada*
/dev/ada0 /dev/ada1s1 /dev/ada2 /dev/ada3 /dev/ada3s1a /dev/ada3s1d /dev/ada3s1f
/dev/ada1 /dev/ada1s1d /dev/ada2e /dev/ada3s1 /dev/ada3s1b /dev/ada3s1eПодскажите как восстановить утерянный раздел с данными. Спасибо.
> Всем привет. После обновления с Freebsd 8 на 9, диски оприделяются как
> устройства ada. В dmesg пишется:
> ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> ada0: <WDC WD1002FAEX-00Z3A0 05.01D05> ATA-8 SATA 3.x device
> ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
> ada0: Command Queueing enabled
> ada0: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
> ada0: Previously was known as ad4^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- ранее был ad4
>[оверквотинг удален]
> ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
> ada2: Command Queueing enabled
> ada2: 1907729MB (3907029168 512 byte sectors: 16H 63S/T 16383C)
> ada2: Previously was known as ad10
> ada3 at ata1 bus 0 scbus5 target 0 lun 0
> ada3: <WDC WD3200AAKS-00UU3A0 01.03B01> ATA-8 SATA 2.x device
> ada3: 150.000MB/s transfers (SATA, UDMA6, PIO 8192bytes)
> ada3: 305245MB (625142448 512 byte sectors: 16H 63S/T 16383C)
> ada3: Previously was known as ad2
> Проблема с диском ada0, у которого не оприделяется файловая система. В `gpartс чего Вы взяли что не определяется файловая система?
>[оверквотинг удален]
> <UNUSED>
> Вот ls /dev/ad*
> /dev/ad10 /dev/ad2s1a /dev/ad2s1f /dev/ad8s1d /dev/ada1s1d /dev/ada3s1
> /dev/ada3s1e
> /dev/ad10e /dev/ad2s1b /dev/ad4 /dev/ada0
> /dev/ada2 /dev/ada3s1a /dev/ada3s1f
> /dev/ad2 /dev/ad2s1d /dev/ad8
> /dev/ada1 /dev/ada2e /dev/ada3s1b
> /dev/ad2s1 /dev/ad2s1e /dev/ad8s1 /dev/ada1s1 /dev/ada3
> /dev/ada3s1dвыше видим что есть только /dev/ad4 и более ничего
> и # ls /dev/ada*
> /dev/ada0 /dev/ada1s1 /dev/ada2 /dev/ada3
> /dev/ada3s1a /dev/ada3s1d /dev/ada3s1f
> /dev/ada1 /dev/ada1s1d /dev/ada2e /dev/ada3s1 /dev/ada3s1b /dev/ada3s1eаналогично для ada0 (он же ad4)
> Подскажите как восстановить утерянный раздел с данными. Спасибо.
он не утерян, ибо fdisk показывает:
> sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
> start 63, size 1953525105 (953869 Meg), flag 80
> (active)gpart у вас интересные вещи показывает: ada1,ada3 - MBR и на каждом active...
Вы чем диски размечали?С чего у Вас идет загрузка?
в fstab'е что?# fdisk -s adX (или adaX) можете показать
и
# bsdlabel adXsY (или adaXsY)ps. если Вы после апгрейда оставили adX в /etc/fstab - все должно работать как и ранее.
pps. ядро в 9.x пересобирали, если - да, брали его из 8'ки?
> он не утерян, ибо fdisk показывает:
>> sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
>> start 63, size 1953525105 (953869 Meg), flag 80
>> (active)
> # fdisk -s adX (или adaX) можете показать
> и
> # bsdlabel adXsY (или adaXsY)# fdisk -s ad4
/dev/ad4: 1938021 cyl 16 hd 63 sec
Part Start Size Type Flags
1: 63 1953525105 0xa5 0x80
jim# fdisk -s ada0
/dev/ada0: 1938021 cyl 16 hd 63 sec
Part Start Size Type Flags
1: 63 1953525105 0xa5 0x80> ps. если Вы после апгрейда оставили adX в /etc/fstab - все должно
> работать как и ранее.Система не видит раздел на ad4, устройства соответсвующего нет и монтировать нечего. Ранее был в fstab [ /dev/ad4s1d /data ufs rw,sync,acls 2 2]
> pps. ядро в 9.x пересобирали, если - да, брали его из 8'ки?Если это существенно, то upgrade через freebsd-update c 8.1 на 9.1 (кажется так было).
Мне важно понять не почему так произошло, а что сделать для восстановления данных к жизни.
Еще деталь, testdisk находит раздел BSD, но при записи MBR выдает ошибку.
>[оверквотинг удален]
> 63 1953525105 0xa5 0x80
>> ps. если Вы после апгрейда оставили adX в /etc/fstab - все должно
>> работать как и ранее.
> Система не видит раздел на ad4, устройства соответсвующего нет и монтировать нечего.
> Ранее был в fstab [ /dev/ad4s1d /data ufs rw,sync,acls 2 2]
>> pps. ядро в 9.x пересобирали, если - да, брали его из 8'ки?
> Если это существенно, то upgrade через freebsd-update c 8.1 на 9.1 (кажется
> так было).
> Мне важно понять не почему так произошло, а что сделать для восстановления
> данных к жизни.для того чтобы исправить, зачастую нужно понять ЧТО и КАК было сделано,
особенно касательно слайсов MBR и партиций BSD и несколько active говорят
о том что у Вас использовался bootmanager (какой???)> Еще деталь, testdisk находит раздел BSD, но при записи MBR выдает ошибку.
в смысле? как запускаете testdisk - из вашей рабочей системы или с LiveCD/DVD/USB ?
правильно было бы сделать так:
- сделать через dd образ с ada0[ad4]
- затем восстанавливать BSD partition, лучше на образеу Вас ad4s1d партиция занимала весь слайс ad4s1 - слайс в наличии, но либо был
криво создан, либо еще что-то...варианты восстановления (вероятно лучше на отдельном десктопе):
1) testdisk на образ или на сам диск
2) если ad4(ada0) был размечен: ad4s1 - слайс на весь диск, затем партиция
"d" на весь слайс - то можно просто заново пересоздать слайс на весь диск
и партицию на весь диск - данные останутся на месте, затем
нужно будет запустить fsck:# fsck_ffs -fy /dev/ad4s1d
возможно появиться ошибка что не найден суперблок, тогда запустить:
# fsck_ffs -fy -b 160 /dev/ad4s1d
опять же важно, если Вы или кто-то создавал слайсы и партиции, а затем FS стандартно
- тогда все получится, и альтернативные суперблоки можно получить: newfs -N /dev/ad4s1dприм: буква под которой будет создана партиция (за исключением "a", "b" и "c") - не
имеет значения.Важно: если не понимаете что написано в 2) - лучше используйте вариант 1)
если не имеете опыта с gpart - используйте LiveCD/DVD/USB с 8.x (8.2 или 8.3)
или установите систему на USB и туда же testdisk и можете использовать
вместо gpart - fdisk и bsdlabel