подскажите пожалуйста где можно почитать, как можно работать с таблицей разделов жесткого диска и как её можно изменять... гуглил, но ничего подходящего не нашел
http://www.mossywell.com/boot-sequence http://www.tldp.org/HOWTO/Large-Disk-HOWTO.html http://www.citforum.idknet.com/open_source/bsd-notes/bsd_slices/ и мой скромный журнальчик: http://mika0x65.livejournal.com/3147.html
огромное спасибо буду разбираться)))) я так понимаю если затрется MBR считай что всё пропало ? *ушел читать статьи*
Чувствую с поисковиками вы пока на вы. http://ru.wikipedia.org/wiki/MBR Или вы только из ссылок узнали, что вам нужна инфа про MBR?
Ну, если только читать, то можно и без эмуляторов обойтись (конечно если речь идет не о самом коде MBR, хотя и здесь есть возможность эмулировать загрузку с харда без перезаписи MBR). Например, можно написать программу, выводящую подробную инфу о разделах выбранного диска.
Кстати, я где-то читал о новом формате PT (не GPT!), в котором для расширения линейной адресации используются два байта, ранее занимаемые полями, относящимися к CHS-адресации. Интересно, это исключительно фантазии автора или где-то уже реально используется подобное расширение?
Ты сначала формат посмотри. Там есть место, либо под линейную адресацию, либо под CHS. "Оттяпать" можно только из поля под число зарезервированных секторов(нафига там 32 бита) для поля "размер раздела в секторах".
valterg Ошибаетесь. В таблице разделов присутствуют отдельно поля для CHS-адресов начала и конца раздела и отдельно поля для LBA начала раздела и количества секторов: http://ru.osdev.wikia.com/wiki/Таблица_разделов. Соответственно, теоретически можно для расширения LBA начала раздела использовать несколько байтов из области, отведённой под CHS-адрес конца раздела. Phantom_84 Никогда не встречал, но теоретически допускаю такую возможность. Другое дело, что она может оказаться несовместимой с разными BIOS и т.п., ну а потому особого смысла в ней не вижу.
Ну там вроде как один неиспользуемый байт, относящийся к CHS-адресации, содержит недопустимое для этой самой адресации значение, что позволяет выявить нестандартный формат. А вообще надо линк поискать, чтобы вы тоже ознакомились. Кстати, предел 32-разрядной линейной адресации - немногим более 2 Тб, так что ждать осталось недолго до массового появления таких и более емких дисков на десктопах. P.S. Кому интересно, скоро буду раздавать alter-2 (сейчас пишу инсталлер для win 9x/xp) - mbr-загрузчик с возможностью выбора альтернативного загрузочного раздела прямо на лету. Код загрузчика полность оригинальный. По сравнению с первой версией изъята поддержка загрузки запасного бут-сектора для FAT32-разделов, но зато добавлено "фирменное" расширение, позволяющее передавать номер загрузочного раздела (правда, как и в пред. версии только первичного - используется никс-нумерация (позиционная) первичных разделов 1-4) загружаемому коду, которое ориентировано прежде всего на людей, занимающихся осдевом.
Есть тулзы, которые ищут (вероятно, по сигнатурам бутсекторов и некоторым другим признакам, но точно не знаю как они их ищут) стартовые сектора разделов и составляют заново таблицу, если ты ее прое... потёр. А загрузчик потом уж сам восстановишь, как будет новая MBR
Phantom_84 Угу, а заодно ПК, которые поддерживают UEFI и всё такое прочее. Те интеловские матери, что мне последнее время попадались, все поддерживают, видал и новую асусовскую мать с такой поддержкой. Поддерживают ли новейшие гигабайтные -- ещё не знаю, но, наверное, должны, ведь дисков на 2 Тбайта уже полно в продаже, не за горами и большего объёма, и уступать конкурентам только из-за этого... Мне посмотреть интересно будет А под вислой и семёркой 64-разр работать будет установщик, нет?
Я не уверен, что сам загрузчик будет работать под вистой/севен - нужно тестить (с установщиком наверняка проблем и не возникло бы, но все-таки теперь уделю этому особое внимание). Это не ты случаем как-то выкладывал дисассемблированный mbr-загрузчик от висты? Там на первый взгляд были какие-то существенные отличия от хэпэшного. Поставлю семерку - потестю. Если кого-то не напрягает вручную записать загрузчик на диск, можно попробовать первый alter (здесь описание и ссылка) - в нем нет принципиальных отличий приминительно к виндам оносительно новой версии (alter-2). Если он под вистой/севен не заработает, то и новый тоже.
Не обратил внимание на "64-разр". Относительно 64-разрядности отпишусь в сопроводиловке к установщику.
Phantom_84 Я выкладывал, да. Существенные отличия заключаются лишь в поддержке TPM, однако сих модулей у нас всё равно нет (в России запрещены законодательно), поэтому можно считать, что отличий как таковых нет. Загрузчик запишу вручную на тестовой машине (с Семёркой-64), но в конце недели -- надо по работе кой-какие тесты отгонять, система как раз под них подготовлена, так что... убивать её сейчас не хотца
Я вот от семерки x64 MBR и boot sector загрузочного 100 мегабайтного раздела скомпилировал на FASMe Отличия от оригинального в духе xor ax, ax, у меня 1й ax на 1 месте, а там второй и т д отличия описаны в report.txt Комменты на MBR от SII + еще добавил Также разреверсил boot sector тоже с комментами и описанными отличиями от оригинального Мб понадобится кому