Перейти к содержимому

Фото
- - - - -

Ошибка с логическими разделами


  • Вы не можете создать новую тему
  • Please log in to reply
47 ответов в этой теме

#31 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 25 сентября 2004 - 21:10

А в чем проблема? cfdisk не дает навести курсор на эти разделы? Или нет опции "delete" для них?

можно только создать новые разделы в пустом месте ;)
  • 0

#32 DEREWO

DEREWO
  • Постоялец
  • 1 954 сообщений

Отправлено 26 сентября 2004 - 15:30

Sergio, OS mo#et gruzitsja tol'ko s aktivnogo razdela, a aktivnqm mo#et bqt' tolko primary
  • 0

The only thing you can't predict with any accuracy is people's capacity for stupidity.


#33 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 26 сентября 2004 - 20:22

Sergio, OS mo#et gruzitsja tol'ko s aktivnogo razdela, a aktivnqm mo#et bqt' tolko primary

Просмотреть сообщение

DEREWO, я уважаю твои познания в виндовсе, но поверь, линукс от него довольно сильно отличается. Вышесказанное верно только для виндовса.
Например, мой диск
  Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         523     4200966    b  W95 FAT32
/dev/hda2             524        4865    34877115    5  Extended
/dev/hda5             524         559      289138+  82  Linux swap
/dev/hda6             560        1179     4980118+  83  Linux
/dev/hda7            1180        4865    29607763+  83  Linux
Заметь, активный раздел виндовый (кстати, виндовса сейчас нету), обозначен звездой, но линукса это ничуть не смущает. Как не смущает и то, что оба его раздела находятся в extended. Не так давно было ограничение, линь мог грузиться с цилиндров, не далее 2048 (могу ошибаться с цифрой, может быть 1024), но сейчас, насколько я знаю, это паралельно.

Но это так, лирическое отступление.
  • 0

#34 DEREWO

DEREWO
  • Постоялец
  • 1 954 сообщений

Отправлено 27 сентября 2004 - 09:32

Sergio, spasibo, v linuxe ja ne razbiralsja - nebqlo povoda. Budut s pingvinami problemq - objazatelno obrashus'.
  • 0

The only thing you can't predict with any accuracy is people's capacity for stupidity.


#35 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 27 сентября 2004 - 18:13

Sergio, spasibo, v linuxe ja ne razbiralsja - nebqlo povoda. Budut s pingvinami problemq - objazatelno obrashus'.

Просмотреть сообщение

Обращайся. Всегда рад помочь:)
  • 0

#36 DEREWO

DEREWO
  • Постоялец
  • 1 954 сообщений

Отправлено 27 сентября 2004 - 20:00

Setor, a mo#et zashlesh sjuda to, 4to u tebja v pervom sektore HDD zapisano?
  • 0

The only thing you can't predict with any accuracy is people's capacity for stupidity.


#37 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 27 сентября 2004 - 20:09

Я бы залил, если бы знал чем скопировать этот сектор :)
  • 0

#38 geek

geek

    кулхацкер млин :)

  • Пользователь
  • 153 сообщений
  • Откуда:Мустамяэ

Отправлено 27 сентября 2004 - 20:12

dd if=/dev/hda of=~/mbr bs=512 count=1
  • 0

#39 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 03 ноября 2004 - 12:02

Где бы найти инфо, что где и как записывается в MBR. Надо вручную удалить эти 2 пустых раздела и не париться.

То, что я сейчас вижу в WinHex (а я толком ничего не вижу, кроме 16-ричных кодов)...

Итак, занялся я редактированием. Пока что нифига не ясно, но интересно, как в случае неудачи вернуть старую mbr?

Сообщение изменено: Setor (03 ноября 2004 - 15:57 )

  • 0

#40 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 03 ноября 2004 - 16:29

Где бы найти инфо, что где и как записывается в MBR. Надо вручную удалить эти 2 пустых раздела и не париться.

То, что я сейчас вижу в WinHex (а я толком ничего не вижу, кроме 16-ричных кодов)...

Когда-то читал книжки по этому поводу. Сейчас уже даже названий не помню. Так что гугл, только гугл.

Итак, занялся я редактированием. Пока что нифига не ясно, но интересно, как в случае неудачи вернуть старую mbr?

Да так же, по идее, как и скопировал. С помощь dd.
  • 0

#41 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 03 ноября 2004 - 16:34

http://akina.hop.ru/mbr.php3 пока что единственное что-то стоящее...

я тут с калькулятором сижу, считаю...
  • 0

#42 ХардКрафт

ХардКрафт

    White boy :)

  • Постоялец
  • 1 359 сообщений

Отправлено 03 ноября 2004 - 22:20

слухай а у тебя ваще комп исправно с этой ошибкой работает ?
  • 0
Learn from the mistakes of others. You can’t live long enough to make them all yourself.

#43 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 03 ноября 2004 - 22:58

Да
  • 0

#44 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 04 ноября 2004 - 11:04

Интересно, неужели вся таблица хранится в первых 512 байтах (точнее в 4х16)? Что-то мне кажется, что она туда не уместится. Или В ней хранятся записи только об Главном и Extended разделах, а содержимое Extended раздела находится уже на его "территории"? Ведь, главных (в т.ч. дополнительных) разделов может быть максимум 4. Логически исходя из доступного места под их описание и если мне память не изменяет, так оно и есть.

Я бы вручную переписал таблицу. Вчера целый день провозился, так ничего и не сделал.

Norton Disk Edit c 2002х утилит вообще глючный, зараза.

Вот скриншоты с моего диска:
Прикрепленный файл  1.png   3,49К   49 Количество загрузок
После того, как я "вошёл" в EXTENDED раздел
Прикрепленный файл  2.png   2,37К   30 Количество загрузок

В принципе, ситуацию я себе представляю. С виду, всё не так сложно. Я вижу свои партиции (размеры побайтно), но пока что меня интересует вопрос об моём extended разделе. Как перенести записи в extended раздел.

А вот и подтверждение моих догадок:

  Расширенный раздел сильно отличается от всех остальных типов разделов. Во-первых, он описывает не раздел, а область пространства накопителя, в которой расположены другие разделы. При этом количество находящихся в нём разделов теоретически не ограничено. Правда, те разделы, которые расположены в этой области, несколько "ограничены в правах", самым существенным ограничением является то, что они не могут быть активными (вернее, можно сделать так, что из такого раздела ОС будет загружена, но штатные средства большинства существующих ОС этого не позволяют, придётся использовать специальные средства). Во-вторых, в MBR должна присутствовать только одна запись о расширенном разделе. Вернее, их можно сделать и больше (хоть все четыре), но как поведёт себя ОС, встретив такое, предсказать трудно. Например MS-DOS 6.20 просто игнорирует все расширенные разделы, кроме первого в списке, как будто их вообще нет. В третьих, в отличие от остальных типов разделов в том секторе, который прописан в структуре как сектор начала раздела, содержится отнюдь не BR. Там находится фактически еще один MBR, который имеет сигнатуру и таблицу разделов, но обычно не содержит программного кода (обычно сектор, содержащий таблицу разделов, но не содержащий кода начальной загрузки, называют Abstract MBR). Впрочем, поскольку там нет активных разделов, то и код ни к чему. В таблице разделов такого сектора имеется обычно одна или две записи. Первая описывает обычный раздел (Partition), причём этот раздел должен полностью находиться внутри пространства Extended Partition. Если обычный раздел занимает не всё пространство, в таблице разделов появляется второй элемент, который описывает оставшееся пространство как Extended Partition. В следующем секторе точно также описывается один раздел и, если место осталось, еще запись об Extended Partition. И так продолжается до тех пор, пока пространство не закончится. Фактически все записи о расширенных разделах представляют собой связанную цепь (Extended Partition Chain), в которой от дискового пространства отщипываются кусочки на обычные разделы, пока место не кончится. Ошибка в любом элементе этой цепи приведёт к её рассыпанию, в результате все записи после разрыва не будут найдены ОС, а занимаемое ими пространство ОС будет считать незанятым.

Эх, почему всё так сложно :unsure:

Сообщение изменено: Setor (04 ноября 2004 - 11:22 )

  • 0

#45 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 04 ноября 2004 - 12:54

Хотя, теперь я вроде проник во все тонкости и думаю, теперь Diskedit перестал быть для меня глючным (под глюком я подразумевал скачёк в сектор с данными).

Теперь я окончательно понял что случилось. Итак, в главной MBR находится ненужная запись об главном разделе - диске D. Его нужно поместить в Extended раздел, в начале которого в свою очередь находится запись об разделе диска E. Её надо заменить записью об диске D, и создать новую запись об диске E. Вот как всё просто. Размеры разделов не посмтрадали, я всё пересчитал, всё сходится.

Только Windows мне мозги морочит - не знаю почему, но кол-во мною посчитанных байт диска С и подсчинанных Windows'ом байт различается:
6818 692608 - моё число (взято из данных из MBR)
6818 721792 - windows

линуксовые же тулзы и diskedit со мной солидарны :)

Сообщение изменено: Setor (04 ноября 2004 - 14:55 )

  • 0

#46 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 04 ноября 2004 - 16:51

ООООееее! Я его сделал!

Всё было очень просто. Проще не бывает. Заменил пару записей, одну добавил. Вуаля :)
  • 0

#47 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 04 ноября 2004 - 17:18

ООООееее! Я его сделал!

Всё было очень просто. Проще не бывает. Заменил пару записей, одну добавил. Вуаля :)

Просмотреть сообщение

Поздравляю. Судя по всему, оно того стоило:)
  • 0

#48 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 04 ноября 2004 - 17:57

Sergio, я теперь сижу и чешу репу. У меня же посредине осталось пустое место! На него в mbr/br нет ссылки.

Структура записей такова, что:
главный MBR:
root раздел
extended

по ссылке на extended:
1 логический диск
extended

по ссылке на extended:
2 логический диск
extended

и т.д.

Если посреди раздела осталась неразмеченная область, то в ней можно создать новый раздел, тогда придётся переписать всю цепочку mbr'ов логических дисков!? Если я правильно понимаю.

Запускаю Partition Magic, он находит 2 ошибки, предлагает исправить. Я соглашаюсь, он мне портит напрочь всю таблицу. Иду в DOS, снова меняю на свой вариант.

Сейчас мне интересно, что такое EPBR? Судя по всему, это пустое место.

Диск D говорит (в PQInfo)
Error #114: Logical starting at 20482938 is not one head away from EPBR.

Судя по всему, как-то нужно создать ссылку на это пустое место, а из него создать ссылку на следующий раздел.

Но я немножко не понимаю, как я создам ссылку на пустое место, если нужно ещё описать раздел, которого там нет!

И вообще, что такое EPBR? Гугль молчит =(

Добавлено в [mergetime]1099583823[/mergetime]
Создал там пустой раздел штатными средствами и проблема исчезла. Спасибо за внимание. Надеюсь, проблем больше не возникнит. Кстати, теперь я намного лучше стал понимать (даже не знаю как это назвать) структуру разделов, чтоль... Как на диске хранится информация.

И всё же EPBR - это пустое место между br и началом данных (партишена) судя по моим зарисовкам. Был бы сканер, выложил бы... где-то 5 листов ушло на всякие попутные записи :)

Прикрепленные файлы

  • Прикрепленный файл  last.png   15,16К   21 Количество загрузок

Сообщение изменено: Setor (04 ноября 2004 - 21:49 )

  • 0