Компьютерный форум NoWa.cc
Правила Форума
редакция от 29.01.2013
Портал .::2Baksa.Net::. Трекер BRODIM.COM Фильмы HD Онлайн
Вернуться   Компьютерный форум NoWa.cc > Операционные системы > UNIX, Linux, MacOs для PC и другие ОС

Уважаемые пользователи nowa.cc и 2baksa.net. У нас сложилось тяжелое финансовое положение. Мы работаем для вас вот уже более 12 лет
и теперь вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney Z826074280762 Webmoney R087294265364 Webmoney U051530505194 Webmoney E804621616710
PayPal E-mail для связи / to Contact E-mail для связи по вопросу помощи / to Contact : E-mail для связи / to Contact
Кошелек для вашей помощи Yandex 410013204813773
Yandex Спасибо за поддержку!

Российский интернет-шлюз: контроль трафика, DLP, антивирус, fail2ban, прокси-сервер, шифрование данных, https-фильтрация. Сертификат ФСТЭК

загрузка...
Ответ
 
Опции темы Language
Старый 28.10.2008, 14:44   #1
Неактивный пользователь
 
Регистрация: 13.08.2008
Сообщений: 6
Репутация: 0
По умолчанию Помогите плиз восстановить большой раздел

Hello,

Расскажу я грустную, но поучительную историю. Есть в наличии сервер с рейдконтроллером и двумя массивами на нем и установленной Fedora 8 x86_64, ядро 2.6.24.3-12. Про первый массив вдаваться в подробности не буду, с ним все ok. Второй массив имеет объем 6 террабайт (точнее, чуть меньше, 5 с копейками). Я его разбил parted-ом на три раздела по 1.9 террабайта и взгромоздил xfs. Все три раздела успешно жили и не тужили. В прошлую субботу мне пришлось перегрузить сервер (абсолютно корректно reboot). После загрузки mount отказался монтировать третий раздел sdb3. После обследования получил следующую информацию. Судя по всему, третий раздел в таблице разделов сейчас прописан с совершенно неверными цифрами. А именно:

fdisk -l
Диск /dev/sdb: 5999.9 ГБ, 5999909928960 байт
255 heads, 63 sectors/track, 729447 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00094bb7

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 1 243032 1952148437+ 83 Linux
/dev/sdb2 243032 486063 1952148437+ 83 Linux
/dev/sdb3 218714 461988 1954101562+ 83 Linux
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00094bb7

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 1 243032 1952148437+ 83 Linux
/dev/sdb2 243032 486063 1952148437+ 83 Linux
/dev/sdb3 218714 461988 1954101562+ 83 Linux

То есть sdb3 как бы наложен на sdb1 и sdb2. sdb1 и sdb2 сейчас чувствуют себя нормально, монтируются и работают. То есть, насколько я понимаю, надо прописать в таблицу разделов правильные стартовый и финальный сектора для sdb3. Только как это сделать ? Пробовал использовать sfdisk, но он меня мягко говоря, послал. Сначала я снял дамп с sdb и получил файл следующего содержания:

# таблица разделов /dev/sdb
unit: sectors

/dev/sdb1 : start= 1, size=3904296875, Id=83
/dev/sdb2 : start=3904296876, size=3904296875, Id=83
/dev/sdb3 : start=3513626455, size=3908203125, Id=83
/dev/sdb4 : start= 0, size= 0, Id= 0

/dev/sdb1 : start= 1, size=3904296875, Id=83
/dev/sdb2 : start=3904296876, size=3904296875, Id=83
/dev/sdb3 : start=3513626455, size=3908203125, Id=83
/dev/sdb4 : start= 0, size= 0, Id= 0

С помощью калькулятора и общего количества секторов вычислил стартовый сектор и размер третьего раздела (он чуть-чуть отличался от первых двух), прописал эти цифры в файле

cat mysdb_sfdisk_new_1
# таблица разделов /dev/sdb
unit: sectors

/dev/sdb1 : start= 1, size=3904296875, Id=83
/dev/sdb2 : start=3904296876, size=3904296875, Id=83
/dev/sdb3 : start=7808593751, size=3909972304, Id=83
/dev/sdb4 : start= 0, size= 0, Id= 0

и скормил его sfdisk-у на запись. Он меня с этим файлом послал следующими ругательствами:
sfdisk -n /dev/sdb < mysdb_sfdisk

Диск /dev/sdb: 729447 цилиндров, 255 головок, 63 секторов/дорожку
Старая ситуация:
Единицы = цилиндры по 8225280 байт, блоки по 1024 байт, начиная с 0

Устр-во Загр Нач Конец #цил #блоки Id Система
/dev/sdb1 0+ 243031- 243032- 1952148437+ 83 Linux
/dev/sdb2 243031+ 486062- 243032- 1952148437+ 83 Linux
/dev/sdb3 218713+ 461987- 243275- 1954101562+ 83 Linux
/dev/sdb4 0 - 0 0 0 Пустой

Новая ситуация:
Единицы = секторы по 512 байт, начиная с 0

Устр-во Загр Начало Конец #секторы Id Система
/dev/sdb1 1 3904296875 3904296875 83 Linux
/dev/sdb2 3904296876 7808593750 3904296875 83 Linux
/dev/sdb3 7808593751 11718566054 3909972304 83 Linux
/dev/sdb4 0 - 0 0 Пустой

Предупреждение: раздел 1 не заканчивается на границе цилиндра
/dev/sdb3 7808593751 11718566054 3909972304 83 Linux
/dev/sdb4 0 - 0 0 Пустой

Предупреждение: раздел 1 не заканчивается на границе цилиндра

sfdisk: Не нравятся мне эти разделы - ничего не изменено.
(Если вы действительно хотите этого, используйте опцию --force.)

Попробовал я его запустить с командой --force (предварительно, на всякий случай, сделав dd if=/dev/sdb of=sdb_part bs=512 count=1). Он это дело проглотил, сказал "записываю .. перечитываю таблицу .. не забудьте подправить fstab .." После этого я предложил ему рассказать про обновленную таблицу разделов и просто офигел, когда увидел в дампе те же самые цифры, что и в самом начале. То есть sdb3 начинался с того же 3513626455 сектора. Вот, собственно, и сказочке конец. Теперь обращаюсь к многоуважаемой общественности. Подскажите пожалуйста почему так неуважительно ведет себя sfdisk и можно ли как-то попытаться прописать правильные цифры для sdb3, дабы попытаться вытянуть этот раздел без переразбиения ?
esculapchik вне форума
 
Ответить с цитированием Вверх


Реклама: 1102M73RU0поселки по новой риге у водыдетская кровать 80на 160 с ящикомручки dnd martinellihttp://taxiru.ru/magnitnyie-nakladki/magnitnaja_nakladka/


Старый 26.11.2008, 03:14   #2
x2es
Неактивный пользователь
 
Регистрация: 25.11.2008
Сообщений: 2
Репутация: 0
По умолчанию Re: Помогите плиз восстановить большой раздел

У меня была однажды ситуация, когда сломалась таблица разделов - одна софтина вместо имеющийся таблицы записала таблицу с подключенного USB HDD. Дело было под виндой, но когда речь идет о таблице разделов особой разницы быть не должно. Вдохновленный идеей восстановления базы 1С начал искать решение.
Работал старым нортоновским diskeditor'ом и подручными средствами в виде Partition magic 8 (*).
Оказалось, что Partition Magic 8 может исправлять неправильно указанный размер раздела, в случае если в таблице разделов раздел указан большим чем он есть (или меньше - уже точно не помню).
Итоговый вариант восстановления выглядил следующем образом:
1. diskeditor'ом указывалось корректное начало раздела (начиная с первого раздела, где это достоверно известно), конец раздела указывался заведомо большим чем он есть на самом деле - можно под весь диск.
2. Перезагружался с CD с Partition Magic'ом 8 - при загрузке Partition Magic выдавал сообщение о том что раздел имеет не корректный размер и предлагал пофиксить это дело (или просто уведомлял о совершенном фиксе)
Дальше опять к пункту 1 - проставлять начало следующего раздела, опираясь на конец предыдущего, который пофиксил PM. Так же указывается его размер заведомо больше чем он есть и снова к пункту 2 и т.д.

Перед тем как это все было успешно проделано все это неделю гонялось на vmware!
С большими разделами PM 8 скорее всего не справится, хотя все может быть. Линуксовых альтернатив diskeditor'у я думаю предостаточно.

Ну и последний нюанс - если действительно проблема только в съехавшем разделе, то это будет не очень дорого для восстановления у профессионалов. Конечно, могут загибать цену за Mb восстановленной информации, но правка разделов по Mb'там тарифицироваться не может и соответственно стоимость от размера разделов слабо зависит у добросовестных специалистов.
_________________________
(*) дело было в 2005-м году, поэтому некоторые вещи я уже могу путать:
То что я приписываю Partition Magic'у (угадывание размера раздела) возможно было заслугой ndd (norton disk doctor)
x2es вне форума
 
Ответить с цитированием Вверх
Старый 26.11.2008, 09:53   #3
esculapchik
Неактивный пользователь
 
Регистрация: 13.08.2008
Сообщений: 6
Репутация: 0
По умолчанию Re: Помогите плиз восстановить большой раздел

Спасибо за сообщение. Проблему я уже решил по совету одного умного человека на другом форуме. Суть решения заключается в следующем. Есть в линуксе стандартная утилита - dd. Она тупо копирует одно содержимое в другое. В качестве содержимого могут выступать разделы, полностью диск, файл и т.д. И, как уже наверное догадался, это стандартный инструмент для снятия имиджа с компактов, разделов. Так вот человек мне посоветовал снять "съехавший раздел" в файл и открыть (смонтировать) файл потом как раздел. А утилита эта достаточно гибкая и не зацикленная на правилах :-). В том смысле, что можно ей в качестве исходного указать просто раздел. А можно указать полностью диск, но при этом уточнить с какого сектора начинать вычитку и каким заканчивать. А так как первые 2 раздела остались корректными, вычислить первый сектор третьего раздела не составило труда.
esculapchik вне форума
 
Ответить с цитированием Вверх
Ответ
 Уважаемые пользователи портала 2BakSa.NeT и форума NoWa.cc !

  Рады Вам сообщить, что у нас открылся Torrent трекер >> BRODIM.COM

  Приглашаем вас принять участие в обмене полезной информацией,

  и ждем от вас поддержки в создании новых раздач.

Опции темы

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ СОЗДАТЬ РАЗДЕЛ NAleksei Mac Os X 4 22.09.2009 22:27
помогите плиз gnom2006 Архив 4 18.11.2007 15:53
Нужно восстановить логический раздел диска User 2007 Windows XP 14 21.05.2007 19:39
Помогите плиз!!! longnet Microsoft Windows 6 15.02.2007 11:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 12:31. Часовой пояс GMT +3.


Rambler's Top100
Copyright ©2004 - 2018 2Baksa.Net

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.12935 секунды с 10 запросами