Форум » Общие вопросы по SyMon » SYMON не видит весь диск » Ответить

SYMON не видит весь диск

shan: Много лет пользуюсь SYMON .Линуксы, Windows-ы, САТА-2, несколько HDD, плагины- всё использовал. Всё работало. Но при последнем апгрейте матери натолкнулся на ПРОБЛЕММУ. Похоже в SYMON БИОС передаёт не пересчитанные количества дорожек, секторов, а реальные. Похоже СИМОН видит что на моём диске 3головы, 3 сектора и очень много цилиндров. В редакторе разделов в результате выден не весь диск. Симон ставил на уже установленную WinXP она работала нормально. ЛБА адреса и длины разделов видны правильно. После установки СИМОНА загрузка работает но не могу редактором увидеть и редактировать далее чем четверть диска. Если вручную прописать ЛБА адрес и длину раздела в таблице разделов СИМОНа -думаю работать будет. Но так можно ошибиться- на карте разделов нагляднее. Мать ASUS P5B-VM SE на I965G , винт Seagate 160G SATA-II. Если это глюк матери, то как тогда работает ВИНДа?

Ответов - 22

Vladimir Dashevsky: А какой объем диска? Недавно вот наткнулись на проблему, что более 65536 цилиндров редактор разделов не дает использовать. Я проблему эту поправил, но остается еще какое-то место непонятное, о котором мне сообщил один из пользователей, я пока не смог повторить это поведение. Версию с поддержкой 32-разрядного количества цилиндров могу прислать на тестирование. А вообще странно, 3 головы еще может быть, но вот три сектора - это какой-то глюк у BIOS'a :-). А ручками ему вправить в setup'e режим в LBA, а не Normal?

shan: Виноват- 64 головы и 4 сектора. Винт 160Гиг. В БИОСе нет ни NORMAL ни CHS или чего-то подобного. Только LBA EN/DIS Стоит Enable. Привожу строки в редакторе разделов: 0,0,32000 3,63,9855 8192000 61440000 07 0,0,9856 3,63,2175 69632000 81920000 07 0,0,2176 3,63,34495 151552000 92160000 07 0,0,34496 3,63,21887 243712000 47104000 0c В виндовом управлении дисками вижу такое распределение 3,91G пусто (вручную создавал+удалял раздел, чтобы потом поставить СИМОН на 1-ю дорожку +ДОС) 29,3 Гиг 39,06 Гиг 43,95 Гиг 22,46 Гиг 10,38 пусто Видно, что номер цилиндра первого раздела (8192000/64/4=32000) посчитано правильно, а в остальных произошло переполнение целого (проверял- если отбросить старшие биты то получим именно 9856). Long конечно лучше, НО уж очень длинным будет диск на карте, если как и раньше отводить на цилиндр одно знакоместо. Может лучше ввести режим автоматического пересчета СИМОНом LBA в H,S,C считая всегда (как это и было ранее в нормальных БИОСах) Н=256, C=64 не взирая на то, что выдал БИОС. Кому надо, тот этот режим включит. Похоже, что всвязи с прекращением поддержки W98/95/MSDOS необходимость трансляции LBA в виртуальные CHS где C и H максимальны, дабы вместить цилиндр в целое, отпала. Для моей матери драйверов под W98 нет. Поэтому разработчики БИОСА перестали поддерживать этот режим. И мне кажется, что таких матерей будет всё больше. На работе у меня мать на том же чипсете (i965) но не АСУС, а GigaByte. В ней всё нормально. Согласен протестировать новую версию, на той-же матери, но с другим винтом. Здесь даже и 40Г хватит. Можно на почту дома sha собака aha.ru или на работу по адресу в профиле.

Vladimir Dashevsky: Вообще, тут не SyMon надо лечить, а BIOS. int 13h - стандартный интерфейс, вряд ли они убрали поддержку старого кода, который работал с CHS. Без этого куча систем не стартанет. Можно конечно, сделать такой трюк, что научить SyMon принудительно формировать таблицу разделов в MBR, изходя из заданной геометрии. Но это будет только вредить на 99% компьютеров.


shan: Но, насколько я помню, в int 13 цилиндр -целое. Как этим прерыванием тогда пользоваться?. Оно будет работать правильно только вначале диска. Или есть новые расширения INT 13 CHS в которых цилиндр больше 16 бит (сначала было вроде 10бит=1024 цилиндра *256гол*64сект*512байт=8,58 Гб)?. Я помню, что есть аналоги старого INT13, в которых адрес блока задается в LBA-32бита. А как с новой версией с поддержкой 32 битного номера цилиндра? Тестировать не пора?

Vladimir Dashevsky: В стандартном прерывании BIOS int 13h цилиндр представлен 10 битами, сектор - шестью, головка - восьмью. Уродство этой системы нумерации в том, что цилиндр может быть от 0 до 1023, головка - от 0 до 254, а сектор - от 1 до 63. То есть, у каждого параметра своё ограничение на минимальное и максимальное значение, не похожее на остальные. Итоговое покрытие 1024*255*63*512 = 8.4 Гигабайт. Аналогов int 13h - нет, есть int 13h extensions. Это совсем другой интерфейс, который сидит на том же прерывании. Он работает с дисками через LBA, который передается через структуру в памяти, а не через регистры процессора. LBA в структуре имеет 64 разряда. SyMon всегда использует расширенный интерфейс для чтения/записи, если он поддерживается BIOS. Однако, засада еще в том, что традиционно разделы задаются в цилиндрах. И поэтому возникает недоразумение. Версию 3.23 с поддержкой 32-разрядного цилиндра я выслал на домашний адрес.

shan: Однако, засада еще в том, что традиционно разделы задаются в цилиндрах. И поэтому возникает недоразумение Традиционно да. Но ведь коме CHS в таблице разделов есть и LBA начало и длина. И современные системы, я думаю, используют только LBA, хотя и в соответствии со стандартом заполняют и CHS. Ту структуру моих разделов создал WXP (если СИМОН не меняет структуру разделов в MBR при установке). И эта структура имеет неверный номер цилиндра а XP работает, значит и Загрузчики в разделах от WXP и сам WXP работает только c LВА адресами и длиной раздела из MBR. MSDOS конечно не увидит на моей матери более 4*64*1024*512=134 Мб. Но ДОСовая часть от Вин98 скорее всего работает с LBA. Будет время- попробую проверить- что скажет LINUX, PC DOSNorton GHOST, MS DISKEDIT, MHDD ....

Vladimir Dashevsky: Вообще, SyMon уже давно поддерживает специальный флажок тонких настроек, который позволяет запретить проверку количества цилиндров. И как следствие, можно руками нарисовать раздел любого размера.

shan: Протестировал 3.23. При попытке работать с разделами или установить на мой проблемныё винт (4 сектора, 64 головы, 1221022 цилиндра) новый 3.23 СИМОН вылетает в ДОС. С другими винтами (40Гиг и 320Гиг) работает нормально, ну у них количество цилиндров меньше 65535. Более подробно отписал на почту.

AndreyK: Надо проверить новую версию биоса и перепрошиться.

shan: Естественно всё проверил- стоит самая последняя версися БИОС. Глюк не в БИОСе, а в СИМОНе или в нетипичной геометрии диска. СИМОН текущих версий не работает с дисками с количеством цилиндров больше 65535 (16 бит). При количестве виртуальных головок 255 и секторов 63 количество цилиндров обычно меньше 65535. Мне попался диск у которого количество цилиндров равно 1221022 (головок 64, 4 сектора -очень нетипичные параметры). Другой современный софт с этим диском работает нормально. Надежда на версию 3.23- Скорее-бы!!

Николай: Я решил аналогичную проблему следующим образом. У меня ноутбук ASUS F3Sv, диск 200 ГиБ (180 Гб) Геометрия была тоже бредовая, с 4 секторами, и неизвестно сколькими головами. Подробнее свои мытарства с установкой опишу в другой теме, сейчас все работает ИДЕАЛЬНО. Мне помогла утилита zap64. После ее использования геометрия диска стала нормальной. НО! всю информацию с диска я потерял,так как нигде не зафиксировал количество головок. Всем программам для восстановления нужна информация о правильной геометрии. Поэтому алгоритм действий следующий: сохраняем свою информацию на другом диске. применяем zap64 устанавливаем symon - геометрия уже нормальная разбиваем разделы, устанавливаем оси. все ок!

Alexis: Столкнулся с подобной проблемой на ноутбуке compaq nx6110. Поставил новый диск на 160 Гб WD1600BEVE, а symon видит только 137 Гигов, в биосе никаких настроек для харда нет, программы типа MHDD и Виктории определяют параметры верно, но они обращаются напрямую к диску. Программа Western Digital Data Lifeguard Tools показала что в BIOS он определяется как С-17753 H-240 S-63 всего 137Gb, а Western Digital Diagnostics (DLGDIAG) показывает C-310101 H-16 S-63 всего 160Gb, версию BIOS прошил самую последнюю, но не помогло. Что можно сделать в этом случае? Сделать разбивку разделов из под винды, а потом найти эти разделы в Symon, или можно решить проблему непосредственно перед установкой каких либо осей? В предыдущем посте Николай решил с помощью утилиты zap64, хотелось бы по подробнее и со ссылкой где её можно взять?

Vladimir_Bronsch: Это проблема BIOS, а не SyMon. BIOS не видит весь диск и соответственно вводит в заблуждение SyMon и винду. Помочь может апдейт BIOS либо можно отключить в SyMon проверку числа цилиндров и разметить вручную, если Вы знаете из сторонних утилит, сколько цилиндров на диске на самом деле. Однако нужно учитывать, что читать/писать в области за пределом 137Гб смогут только те ОС, которые имеют собственные драйверы для работы с диском, например FreeBSD. Windows XP до SP2 это точно не умеет, а более поздние версии не знаю, надо пробовать.

Alexis: Vladimir_Bronsch В принципе на этом ноуте будет стоять только windows xp sp3 в трех вариантах, так что проблем с определением размера не будет, поддержка LBA48 появилась еще в SP1 (http://support.microsoft.com/kb/303013/ru), единственное условие, нодо чтобы все загрузочные разделы находились до 137Гб, чтобы система могла начать загрузку, основываясь на данных из BIOS. Я так понимаю выход из этой ситуации в подключении стандартного плагина, и задании разделов в ручную, а не используя карту жесткого диска, я прав? А что будет, если я сделаю разбивку 137Гб диска, используя данные по BIOS, а потом из windows редактором разделов acronis, увеличу последний раздел с границы 137Гб до границы 160Гб, как эти изменения отразатся в SyMon?

Vladimir_Bronsch: Alexis Да, нужно поставить стандартный плагин и с его помощью отключить ограничение числа цилиндров, которое основывается на инфе от BIOS. Тогда в карте разделов можно будет указать нужное вам число цилидров с полным комфортом. По поводу второго варинта не уверен, но думаю да, вполне может получиться. SyMon спросит, нужно ли сохранить изменение в MBR во внутренней таблице разделов, ответите "Да". Вот не знаю, обязательно ли в таком случае снимать ограничение числа цилиндров или нет.

Alexis: Vladimir_Bronsch После долгих экспериментов удалось все сделать так как надо, даже без применения плагинов. В итоге было сделано так: В карте диска было создано 6 разделов, сперва 3 по 10Гб для 3-х осей, которые будут изолированы друг от друга, после еще 2 раздела по 50Гб, которые будут отданы под данные для первых двух осей, третья ось будет без раздела для данных. И последний шестой раздел, который будет общим для всех 3-х windows, но я ему отдал всего 2 последних цилиндра и его размер на карте составил что то около 30 Мб. После установил винду на 1-й раздел и поставил в ней acronis disk director, уже им открыл диск и увидел оставшиеся неразмеченные 23Гб в конце диска, создал новый раздел на этом месте и перезагрузился. SyMon сказал что были изменения раздела и попросил их применить, что я и сделал. В результате в редакторе диска появился в конце списка новый раздел со всеми необходимыми данными, номерами сектров, голов, цилиндров, причем выходящих за пределы номеров определяемых биос. Мне осталось только взять данные двух последних разделов и на их осное прописать правильный размер одного общего раздела, который стал суммой маленького, сделанного мной и большого, определенного автоматически SyMonом, единственное что длину смог указать только в столбце LBA, так как SyMon отказался записывать конец раздела в столбец цилиндров, число превышающие максимальное, определенное биосом, а в столбце LBA взял за милую душу и сам правильно поставил номер последнего цилиндра. После этого осталось только загрузить винду и в ней отформатировать новый раздел.

shan: Наконец купил новый HDD взамен моего системного160Г с "кривой!" геометрией (4 сектора, 64 головы, 1221022 цилиндра). Так как количество цилиндров было более 65535 Симон версии 3.22.01 не позволял в карте разделов "видеть" весь диск. В результате переполнения диск якобы имел цилиндров= "реальное количество цилиндров-65535". т.е в моем случае примерно пол диска. При ручном (и полуавтоматическом как у Alexis) прописывании ЛБА начала и длины раздела в таблице разделов всё работало. (но это не удобно). Ставить опыты с ZAPом (как советовал Николай) на рабочей системе с кучей программ не хотелось, да и не верил я в этот метод (как оказалось зря). Теперь на освободившемся винте решил попробоваать новую версию 3.23.02. Но перед экспериментом решил всетаки запустить ZAP. И, О ЧУДО! после ZAPа на той-же матери( с тем-же БИОСом) винт стал нормальным-(63 сектора, 256 голов, 19560 цилиндров!) Не верил, так-как не понимал, и сейчас НЕ ПОНИМАЮ как это происходит? Теперь мой эксперимент с версией 3.23.02 временно оттягивается. (винт то нормальный, цилиндров теперь менее 65535). Впрочем эта версия с ним работает сейчас нормально. Как бы его испортить? (вернуть старую кривую геометрию)?? Есть правда теперь новый винт 640Гиг частично уже забитый данными - на нём и буду аккуратно пробовать. Но на нём стоит уже версия 3.22.01. Вопрос автору - можно ли 3.23.02 ставить поверх 3.23.01? Разные ли у них структуры данных на диске? Или надо затереть редактором диска сигнатуру "HOODWIN" или ZAPом пройтись? По прошлому опыту СИМОН на СИМОН поверх не ставился (при порче исполняемого кода), пока не затрёшь сектор с сигнатурой "HOODWIN", и в этом случае таблицы разделов и систем пропадали и происходил автоматический поиск разделов. Будут ли совместимы 3.22.01 и 3.23.02 поставленные на разных дисках?

Alexis: shan Где взять этот zap? В гугле не нашел на него ссылок.

shan: он третий в списке по пути http://thestarman.narod.ru/asm/mbr/BootToolsRefs.htm Или ищи Zap63 или ZAP63.ZIP ZAP.com

Alexis: shan Спасибо большое, а я искал zap64 все это время

Vladimir Dashevsky: shan shan пишет: И, О ЧУДО! после ZAPа на той-же матери( с тем-же БИОСом) винт стал нормальным-(63 сектора, 256 голов, 19560 цилиндров!) Не верил, так-как не понимал, и сейчас НЕ ПОНИМАЮ как это происходит? Тут нет никаких особых чудес. Просто это побочные эффекты от особо умных БИОСов. Биосописатели с некоторого времени взяли в моду корректировать геометрию диска по содержимому MBR. И если там окажется раздел, заканчивающийся на дорожке 63, а не 254, то они с легким сердцем меняют трансляцию с 255 на 64 головы. Со всеми вытекающими глюками. И самое главное, никто из них про это в SETUP'e не упоминает. Сделали бы уж какой-нибудь специальный режим трансляции, назвали бы 'MBR', чтобы его можно было ручками отключить.

shan: Действительно это скорее всего так, как обьясняет Vladimir Dashevsky. Купленный кривой винт изначально имел раздел, на котором были файлы от производителя винта (Seagate). Но почему 4 сектора а не головы?. Видимо производитель разметил его согласно оптимальной трансляци CHS в LBA внутренним софтом винта, или совсем не придавал значение полям для CHS режима, т.к. все работают с LBA. Делаем Вывод-будте внимательны с матерями с БИОСом от AMI (у меня v 02.58).



полная версия страницы