Автор
|
Тема: boot sector
|
Jesus |
опубликован 14-02-2002 10:17 MSK
Нужен исходник boot-sector'а для дискеты 1,44Мб (желательно с комментариями)
|
7in
|
опубликован 14-02-2002 20:50 MSK
А слабо выдернуть его с какой-нибудь дискеты и дизассемблировать? (к тому же, разные проги для форматирования создают разные секторы).... |
Jesus
|
опубликован 14-02-2002 21:37 MSK
2 7in: Слабо. Уже отпала необходимость. Как на счет LBA для файла? Точнее RBA (Relative Block Address) касательно CD. |
7in
|
опубликован 14-02-2002 23:48 MSK
В этом я тебе вряд ли помогу..... |
Jesus
|
опубликован 15-02-2002 11:34 MSK
2 7in: Хоть какую-нибудь информацию о физическом (абсолютном) расположении файла на диске... |
7in
|
опубликован 17-02-2002 22:11 MSK
Почитай TechHelp или Ральфа Брауна, там всё есть. Есть ещё книга (по-моему, Фаронов. Tuebo Pascal 7.0, часть 2).А вообще так: В бут-секторе ищешь начальный сектор 'Root Dir Entries' для данного диска. Потом последовательно читаешь их и ищешь первый каталог (т.е. для C:\FIRST\SECOND\file.ext это будет FIRST) или сам файл, если он в корне. Когда находишь, читаешь секторы (точно так же), которые относятся к этому каталогу. Там ищешь SECOND, затем та же операция и там ищешь file.ext. У файла смотришь начальный номер кластера. Номер первого сектора кластера вычисляешь, используя данные из бут-сектора. Следующий кластер ищешь в таблице FAT (начало которого тоже записано в бут-секторе) и т.д. Геморройно, но разобраться можно. P.S. Это всё описано для дисков с файловой системой FAT 12/16/32 . Про NTFS и др. я не знаю.... |
7in
|
опубликован 17-02-2002 22:22 MSK
Могу ещё добавить, что в CD как-то по-другому...... |
Jesus
|
опубликован 21-02-2002 08:29 MSK
2 7in: Основную мысль понял, откуда копать. Благодарю. C CD разобрался, там действительно по-другому, гораздо проще в связи с отсутсвием дефрагментации. |