Вопрос

Поэтому я пытаюсь создать небольшую программу сборки, способную загрузку, которая позволяет пользователю удалять и добавлять файлы в указанный диск. Единственная проблема заключается в том, что я не уверен, как получить доступ к диску с сборкой. Может ли кто -нибудь указать мне в направлении, где я могу найти эту информацию, пожалуйста? Информация также может быть для языка программирования C.

Я бы попытался получить доступ к Windows 7 Hardrive Windows 7 из некоторого типа кода загрузочного сборки. Который является NTFS.

Это было полезно?

Решение

Чтобы получить доступ к диску в некотором загрузочном коде на x86 PC, самым простым и наиболее натуральным является использование Bios int 13H функции. Анкет Это позволит вам читать и написать отдельные секторы диска.

Жесткие диски обычно разделены на перегородки, а также есть Главная загрузочная запись (MBR) это описывает местоположение, размер и тип каждого раздела. MBR - самый первый сектор жесткого диска.

В каждом разделе находится какая -то файловая система. Вам нужно будет реализовать драйвер NTFS, чтобы иметь возможность читать и записывать файлы в NTFS.

НАСКОЛЬКО МНЕ ИЗВЕСТНО, NTFS не открыт, но существуют драйверы NTFS на основе обратного инженера (например, в Linux). Драйверы NTFS обычно пишутся в C (++), а не сборке, потому что NTFS большой и сложный, а C более практичен с точки зрения разработки, технического обслуживания и переносимости, чем сборка. Я бы не рекомендовал писать код FS в сборке.

PS ON Efi Системы вещи несколько разные. Есть Гф Вместо MBR и вы используете объекты EFI для доступа к дискам вместо Bios Int 13h.

PPS Я сделал то, что вы хотите в C и немного сборки, но с FAT1X/32 вместо NTFS. Это выполнимо. NTFS сложнее. Для одного человека может быть невозможно, особенно если у него нет достаточных знаний и навыков.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top