Страница 1 из 1

Помогите разобраться с таблицами разделов.

Добавлено: 2014-03-27 9:50:02
de-signer
Привет всем.

Коротко: Необходимо внести изменения в таблицу разделов рабочего жёсткого диска без потери информации на нём.

Пролог.
На харде была установлена винда. Пришёл момент, когда она напрочь отказалась грузиться. Причины не нашёл, работа стоит, время - деньги. Решил вопрос кардинально - переустановка.
Чтобы не страдать геморроем в будущем решил сделать бэкап системного раздела. Мысль возникла следующая: ставлю фряху с минимальной конфигурацией на другой хард (благо оказался под рукой), гружусь и тупо dd if=финдовый раздел of=/usr/win_backup bs=1M. В случае очередного _внезапного_ краха винды совершаю обратное действие и, вуаля, можно работать дальше (вся инфа по работе лежит на другом разделе и такое восстановление её не затронет).
Сказано, сделано.

Действие.
Есть хард 500Гб с упавшей системой (таблица разделов):
100Гб - система
2Гб - своп (раздел для виндового pagefile.sys)
398Гб - данные

Мысль: "100Гб для винды - это я погорячился. 50Гб ей выше крыши дя и дамп весит меньше и накатывать быстрее".
Загружаюсь в виндовый установщик. Грохаю 100Гб раздел. Создаю 50Гб и вперёд на установку.
После установки всего необходимого случайно обращаю внимание, что системным стал второй (своп) раздел. Как так? Открываю менеджер дисков и офигеваю. Виндовый установщик на месте 100Гб раздела сделал раздел Extended DOS и в нём логический 50Гб с операционкой и, дабы не путать BIOS, загрузочным пометил своп-раздел и записал туда файлы, необходимые для загрузки.
Всё бы ничего, но фряха видит именно этот 100Гб раздел из которого мне нужна ровно половина, а остальное просто неразмеченый мусор.
Пока раздел дампился курил маны по geom, fdisk, gpart - они все видят только этот первый раздел на 100Гб в основной таблице разделов.
По старой DOS памяти помню, что в начале логического раздела лежит ещё одна таблица разделов. Как до неё добраться средствами FreeBSD?

Цель: Добраться до таблицы логических разделов. Вытянуть информацию о размещении раздела. Перезаписать первую запись основной таблицы разделов полученной информацией. Оставшиеся неразмеченные 50Гб разметить в четвёртой записи основной таблицы разделов.

Рад любой помощи и тыканьем в маны тоже.

Re: Помогите разобраться с таблицами разделов.

Добавлено: 2014-04-01 9:41:11
de-signer
Инфу о размещении логического раздела выцепил. Раз на двадцатый верно пропатчил основную таблицу разделов (пришлось дизассемблировать MBR). Проверил, что грузится именно ТОТ bootsector. Записал на этот раздел виндовые ntdetect.com, ntldr и прочие. Пропатчил boot.ini. Последнее:

Код: Выделить всё

A disk read error occured.
Press Ctrl+Alt+Del to restart
Блииин... Ещё и bootsector дизассемблить? Ну чего ему не нравится???

Re: Помогите разобраться с таблицами разделов.

Добавлено: 2014-04-01 11:30:16
de-signer
Пофиксил скрытые сектора в загрузочном сервере.

Код: Выделить всё

Не удаётся запустить Windows из-за испорченного или
отсутствующего файла:
<Windows root>\system32\hal.dll
Установите заново копию указанного выше файла
Что за бред?
Запускаю ручную консоль восстановления с установочного диска. На диске С есть только то, что я туда записал. Нет ни папки Windows, ни папки Program files, ни Documents and settings. И вообще этот 50Гб раздел всего лишь 2Гб. Я скоро башку об стену разобью. Пошёл курить параметры диска в бут секторе.

Re: Помогите разобраться с таблицами разделов.

Добавлено: 2014-04-01 12:05:56
de-signer
Всё. Запустил. Моя ошибка была. Когда патчил основную таблицу разделов, забыл поменять ТИП раздела с 0xf (Extended DOS)на 0x7 (NTFS).
Всем спасибо за советы.

P.S.: если такой вопрос переносится к новичкам, то мне страшно представить что у вас творят профессионалы =)

Re: Помогите разобраться с таблицами разделов.

Добавлено: 2014-04-02 0:33:09
snorlov
Дык сначала думать надо и лишь потом жамкать по клавишам...