|
Asm/C++/Delphi/Py/PHP/VBA
|
|
MBR и прочие радости жёсткого диска30.06.2018, 16:48. Показов 8617. Ответов 50
Метки нет (Все метки)
Всем привет!
Возникло несколько вопросов, но смежных (про геометрию жёстких дисков и загрузочные области), к тому же, предполагающих простые ответы, поэтому буду спрашивать в одной теме... ![]() 1. Все ли диски имеют 63 сектора на дорожке? Или бывает меньше? 2. Всегда ли между MBR и первым разделом расстояние минимум 63 сектора (т.е. 62 сектора между ними)? Или бывает меньше (в каких-то системах)? 3. Возможно ли установить винду на диск с размером сектора, не равным 512 байт (и вообще, встречаются ли такие жёсткие диски?) 4. Встречается ли между MBR и первым разделом не нулевые заполнители, а какие-либо другие (скажем, из символов 255 или в виде повторяющихся слов а-ля 0x8000)? Кроме секторов со служебными данными, естественно. 5. Можно ли установить и успешно загружать винду с USB, имеющим формат не HDD-USB, а FDD-USB, т.е. с boot-сектором в начале, а не MBR? Полагаю, что как минимум Win95/98 можно.
2
|
|
| 30.06.2018, 16:48 | |
|
Ответы с готовыми решениями:
50
Считывание MBR жесткого диска Вероятно, повредил MBR жёсткого диска
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||||||||||||
| 08.07.2018, 13:45 | |||||||||||||
|
Я когда свой Форт на fasm-е писал мне было нужно постоянно перемещаться в накомпилированном образе. Даже макросы насоздавал типа
1
|
|||||||||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||||||||||||||||||||||
| 08.07.2018, 14:46 [ТС] | ||||||||||||||||||||||||||
|
Но это, ИМХО, вопрос того, насколько ты хорошо знаешь синтаксис fasm'а. times O-$ db 0 или db O-$ dup 0 (работает побыстрее) или даже rb O-$ (если дальше есть код) ![]() align 8, правда заполняет он nop'ами ![]() Но если надо нули, можно так (даже описано в документации):
Ну или: macro aligndata x { rb (x - $ mod x) mod x } (тут можно хоть aligndata 7 написать )Или: macro aligndata x,y=? { db (x - $ mod x) mod x dup y } (второй параметр – заполнитель, по умолчанию – ?)Или даже macro aligndata n=2, shift=0, rel=$$, chr=? { db (n - ($-rel-shift) mod n) mod n dup chr } – делает выравнивание по n относительно rel со сдвигом shift, заполняя символами chr. Например, aligndata 256,-1,x,0 или aligndata 15,,,0x90 или aligndata 512,-2+db 0x55,0xAA ![]() А вот в TASM/MASM с макросами реальный ужас!!! Да и со смещениями бывает тоже. Иногда он просто не хочет вычитать один адрес из другого или складывать их, приходится изобретать какие-то ужасные конструкции. Либо вообще писать не так, как хочется (больше инструкций, чем можно было бы). А вместо org 600h мне приходилось писатьMBRShift = 0600h-($-Start+100h) (где $-Start+100h - это особенная фишка TASM'а) и потом добавлять к каждой переменной этот MBRShift.В fasm мне не нравится то, что нельзя перемещаться назад, т.е. типа:
macro .org x { rb x-$ } и не паришься. Или macro .org n, chr=? { db n-$ dup chr }А в TASM/MASM таких кусков нет, хочешь сказать? ![]() У fasm есть много уникальный вещей типа импортирования файла данных через file 'data.bin'.Или возможность шифрования получаемого бинарника ( load, store, я недавно видел код шифрования AES'ом через макросы, load/store'ы).А также можно создавать файлы данных:
if used вообще класс (который используется в макросах proc, кстати!)и пр. Добавлено через 3 минуты Главное – хорошенько изучить fasm и всё будет ок ![]() Добавлено через 24 минуты Да и вместо link (5.12) нужно использовать link16. А что за /NOL и /NOI ?
1
|
||||||||||||||||||||||||||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||||||
| 08.07.2018, 16:34 | |||||||
|
Но это плата за промежуточное объектное представление, которого у FASM-а нет. Но зато вместо db 0600h-($-Start+100h) dup (0) можно сразу писать org 600h Добавлено через 38 минут
Добавлено через 11 минут Это я к тому, что MASM/TASM-овская идея org-ом перемещаться в двоичном образе продуктивнее, чем NASM/FASM-овская идея org-ом влиять только на генерируемые в коде ассемблируемых инструкций смещения. Я не говорил за то, что FASM хуже вообще, я вообще в священных войнах не участвую. FASM именно в идеологии ORG хуже (иногда даже как серпом по яйцам хуже, так-что на ином полете фантазии приходится ставить крест). Я только про это говорил. Не про FASM или TASM вообще.
1
|
|||||||
|
780 / 412 / 75
Регистрация: 29.03.2013
Сообщений: 854
|
|||
| 08.07.2018, 17:17 | |||
|
Добавлено через 4 минуты Не по теме: Он, ЕМНИП, последний мог работать в чистом DOS. Следующим версиям windows command prompt подавай для работы.
2
|
|||
|
Модератор
|
||
| 07.08.2018, 11:04 | ||
|
Хотя эти радости в Вашем случае, вероятно, не интересны.
0
|
||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 07.08.2018, 17:24 [ТС] | |
|
Тут речь о загрузчике, либо программе, запускаемой из MBR-кода.
Так что с файликом несколько напряжно. В любом случае его ещё прочитать надо, а при 4K-секторах не совсем понятно как правильно эти секторы читать.
1
|
|
|
Asm/C++/Delphi/Py/PHP/VBA
|
|
| 09.08.2018, 09:33 [ТС] | |
|
1
|
|
| 09.08.2018, 09:33 | |
|
Smartsputnik и прочие прилагаемые радости Куча была повреждена и прочие радости DOS виснет на int 13h при чтении MBR жесткого диска
Ремонт логической "части" жёсткого диска, перезапись MBR и восстановление Partition Table Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|