| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для Windows/Dos > Что ВиндаХП пишет в MBR ? |
| Автор: CDEater 30.11.2006, 11:03 |
| Раньше думал, что первые 0x1BE байт MBR отведены полностью под код загрузчика, но недавно обломался. Написал свой загрузчик, а на этом месте хранил пароль - винда видит, что там dword нуль, и чего-то своего туда нахреначила, сказала, что обнаружила новое устройство и просит перезагрузить комп. Пароль, естественно, накрылся Просветите, какая область MBR может быть использована для кода загрузчика с гарантией неизменности. Вдруг ещё какая-нибудь ОС решит писать в MBR свои переменные ? И есть ли документ на эту тему (всё-таки MBR - вещь ОС-независимая, и должны быть какие-то правила его использования, а не просто виндузовая отсебятина, учитывая что на современных компах часто несколько ОСей сидят в разных разделах одного винта) ? |
| Автор: CDEater 30.11.2006, 11:47 |
| rsm, прочитал по ссылке, не нашёл для себя ничего нового. Кстати, и бутменеджер этот вполне посредственный (напр., мой поддерживает в 2.5 раза больше разделов, хотя я не ставил такой цели при его написании). А главное - там нигде не написано, что каждая ОС вольна использовать MBR по своему усмотрению, как ты утверждаешь. ИМХО это в корне неверно. Наверняка есть стандарт, кинул бы кто ссылку на него... И всё-таки, что за переменную WinXP хранит по смещению +1B8h ? |
| Автор: dumb 30.11.2006, 13:58 | ||||
верно-верно.. это область кода загрузчика, соотв-но rsm прав. а что, твоему бутменеджеру больше негде сохранить 4 байта? |
| Автор: CDEater 30.11.2006, 14:19 |
| dumb, приведённая тобой цитата говорит как раз об обратном Master bootstrap loader code Ключевые слова - loader CODE, то есть, это код (как правило, неизменяемый), а не область для хранения переменных, которые этим загрузчиком не используются. В MBR мусорят дисковые дрова винды, причём только ХП (МЕ не мусорит). То есть, к загрузчику эта переменная отношения не имеет. |
| Автор: dumb 30.11.2006, 14:49 | ||
| к загрузчику не имеет. я имел ввиду, что пространство, отведенное под код загрузчика, система, которая этот код записывает в мбр, может использовать хоть в хвост, хоть в гриву... это, кстати, сродни твоему сохранению пароля, только ты еще и в чужой огород "прешь". http://www.geocities.com/thestarman3/asm/mbr/Win2kmbr.htm
|
| Автор: CDEater 30.11.2006, 15:04 |
| dumb, спасибо за ссылку |
| Автор: rsm 30.11.2006, 19:43 |
| И только? Чтобы понять это достаточно вспомнить назначение MBR. После загрузки BIOS управление передается именно в MBR, а не куда-либо еще (если конечно ты не перепишешь BIOS). Соответственно, для любой ОС единственная возможность загрузиться - это прописать в MBR свой собственный код загрузки. |