phantom-84 писал(а):
Вопрос в том, как BIOS'ы реагируют на появление большого номера. Если ругаются, то это еще ничего, а если молча проглатывают, обнуляя старшие 32 бита, то это уже хуже.
Все БИОСы, которые отказались работать с LBA48, ведут себя по наихудшему сценарию: просто игнорируют старшие 32 бита (обнуляют). Bochs выдаёт ошибку (и это правильно!), правда я пока не пробовал работать внутри Бокса с дисками больше 2 TiB, но в Боксе это и не актуально.
phantom-84 писал(а):
можно делать что-то такое: "Загружаемый файл/каталог частично или полностью лежит за пределами пространства 2 тб. Продолжить (Y/N)?" Еще можно попробовать проверять количество секторов на устройстве, возвращаемое функцией 48h (кстати интересно, какое значение возвращают в этом поле BIOS'ы для больших дисков).
Функцию 48h не проверял. Да и по большому счёту чем она поможет? Варианта два - либо int13 LBA48 работает, тогда legacy загрузка с диска возможна, либо не работает, тогда упс.
Я думаю, возможна определённая корреляция - UEFI-системы могут поддерживать также и LBA48 доступ по INT13.
grindars, а ваша мамка UEFI поддерживает?