Доступ к файлам Hardrive с кодом сборки? [закрыто
Вопрос
Поэтому я пытаюсь создать небольшую программу сборки, способную загрузку, которая позволяет пользователю удалять и добавлять файлы в указанный диск. Единственная проблема заключается в том, что я не уверен, как получить доступ к диску с сборкой. Может ли кто -нибудь указать мне в направлении, где я могу найти эту информацию, пожалуйста? Информация также может быть для языка программирования 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 сложнее. Для одного человека может быть невозможно, особенно если у него нет достаточных знаний и навыков.