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

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

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

Непрочитанное сообщение de-signer » 2014-03-27 9:50:02

Привет всем.

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

Пролог.
На харде была установлена винда. Пришёл момент, когда она напрочь отказалась грузиться. Причины не нашёл, работа стоит, время - деньги. Решил вопрос кардинально - переустановка.
Чтобы не страдать геморроем в будущем решил сделать бэкап системного раздела. Мысль возникла следующая: ставлю фряху с минимальной конфигурацией на другой хард (благо оказался под рукой), гружусь и тупо 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Гб разметить в четвёртой записи основной таблицы разделов.

Рад любой помощи и тыканьем в маны тоже.
Последний раз редактировалось f_andrey 2014-03-27 11:49:32, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

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

Непрочитанное сообщение de-signer » 2014-04-01 9:41:11

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

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

A disk read error occured.
Press Ctrl+Alt+Del to restart
Блииин... Ещё и bootsector дизассемблить? Ну чего ему не нравится???
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

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

Непрочитанное сообщение de-signer » 2014-04-01 11:30:16

Пофиксил скрытые сектора в загрузочном сервере.

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

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

de-signer
сержант
Сообщения: 220
Зарегистрирован: 2007-05-11 14:39:01
Откуда: Отсюда :)

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

Непрочитанное сообщение de-signer » 2014-04-01 12:05:56

Всё. Запустил. Моя ошибка была. Когда патчил основную таблицу разделов, забыл поменять ТИП раздела с 0xf (Extended DOS)на 0x7 (NTFS).
Всем спасибо за советы.

P.S.: если такой вопрос переносится к новичкам, то мне страшно представить что у вас творят профессионалы =)
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов

snorlov
подполковник
Сообщения: 3924
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

Непрочитанное сообщение snorlov » 2014-04-02 0:33:09

Дык сначала думать надо и лишь потом жамкать по клавишам...