Как определить активный hdd ?

Тема в разделе "WASM.OS.DEVEL", создана пользователем JucED, 12 фев 2011.

  1. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Что-то вроде, но не то же самое - писать на диск не придется. "Приоритеты загрузки" хранить не нужно, нужно хранить идентификатор диска, причем не обязательно в MBR.
     
  2. JucED

    JucED New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2010
    Сообщения:
    23
    Имеешь ввиду самодельных ос?) Ни разу не испытывал таких проблем при переключении диска в другой разъем. Кстати нашел некоторые несостыковки в wmvare и реальной машине - в варе для очистки экрана я заного устанавливал видеорежим (функция 0 int 10h), а в реальном режиме экран от этого не очищался, приходилось обнулять видеопамять.
     
  3. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    P.S. Что касается приоритетов загрузки, то это уже дальнейшее развитие рассматриваемого вопроса. Если вы собираетесь грузиться не только с активного раздела диска, то нужно будет хранить не только идентификатор загрузочного диска, но и идентификатор загрузочного раздела на диске. Его я храню в MBR, вы можете - вместе с идентификатором диска (не обязательно в MBR).
     
  4. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Имею в виду как раз-таки самые популярные ОС.
    Слабо верится. Код в студию.
     
  5. JucED

    JucED New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2010
    Сообщения:
    23
    Спасибо, в этих делах я врубаюсь, есть свой, еще не до конца доделанный, загрузчик с такими возможностями + возможность установки пароля на каждый раздел. Только пароль этот типо как на моем старом телевизоре - можно поставить запрет на просмотр определенного канала, этот запрет снимается через меню телевизора где все написано по-русски. Так и в этом загрузчике - пароль хранится в разделе и зашифрован методом XOR, скачал с иннтернета например PTD (Partition table doctor), нашел где этот пароль находится, подобрал ключ и готово.
     
  6. JucED

    JucED New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2010
    Сообщения:
    23
    Ну код то там вообще простецкий:

    ;----- Чистим экран --------
    mov ax,0003h
    int 10h
    ;----------------------------
     
  7. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Ну я такое тоже иногда практикую в софте реального режима - работает железно.
     
  8. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    JucED
    Проверил по докам.
    IBM ps/2 в примечаниях написано что если установить 7 бит то экран не очищается.
    Phoenix BIOS 4.0 Programmer's Guide v10 про очистку ни слова.
    Так как int10h еще перехвачен видео картой проверил у
    NVidia Написано что очищается. Причем насколько понял в любом случае.
     
  9. JucED

    JucED New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2010
    Сообщения:
    23
    А может быть такое - дергаю 10h прерывание, видеорежим номер 3, обработчик проверяет текущий режим и если текущий видеорежим тоже номер 3 то iret ?
     
  10. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    JucED
    Это мы у тебя спрашивать должны. Возьми turbo debuger (td.exe) и посмотри что куда идет.
     
  11. JucED

    JucED New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2010
    Сообщения:
    23
    Pavia
    Эммммм.... вроде как он не проверяет, а просто берет и устанавливает видеорежим.