Мне было интересно, как работает жесткий диск. Например, как я мог просматривать/изменять сектора? Im нацеливает Windows, если это помогает. БлагодаряПрямой доступ к жесткому диску?
ответ
This page, кажется, есть некоторые важные сведения по этой теме:
Вы можете открыть физического или логического с использованием интерфейса прикладного программирования CreateFile() (API) с указанными именами устройств , что у вас есть соответствующий доступ прав на диск (то есть вы должны быть администратором). Вы должны использовать как флаги CreateFile() FILE_SHARE_READ , так и FILE_SHARE_WRITE, чтобы получить доступ к приводу .
После того, как логический или физический привод был открыт, вы можете выполнить прямой ввод/вывод данных на весь диске. При выполнении прямого ввода-вывода вы должны искать, читать и писать в кратных размерах сектора устройства и по границам сектора. Вызов DeviceIoControl() с помощью IOCTL_DISK_GET_DRIVE_GEOMETRY получить байт в секторе, количество секторов , секторов на дорожку, и так далее , так что вы можете вычислить размер буфера, что вам нужно.
The documentation of CreateFile также предлагает некоторые подсказки:
Вы можете использовать функцию CreateFile, чтобы открыть физический диск или объем, который возвращает запоминающее устройство с прямым доступом (DASD) обработки, которые могут быть используется с функцией DeviceIoControl. Это позволяет получить доступ к диску или тому напрямую, например, такие метаданные диска, как таблица . Однако этот тип доступа также предоставляет дисковый накопитель или объем потенциальной потери данных, поскольку некорректная запись на диск с использованием этого механизма может сделать его содержимое недоступным для операционной системы . Чтобы обеспечить целостность данных, обязательно станьте , знакомым с DeviceIoControl, и как другие API ведут себя по-разному с дескриптором прямого доступа, а не с файловой системой.
STXXL может представлять интерес для Вас: http://stxxl.sourceforge.net/
Вы можете открыть логический том (например, C: диск) или физический диск с помощью функции win32 CreateFile игровых(). С возвращенным дескриптором вы можете читать и писать секторы по мере необходимости. Эта страница на MSDN поможет вам начать: CreateFile Function
Я не несу никакой ответственности за повреждения вызваны :-)
У меня сложилось впечатление, что @user хотел * прямой * доступ к диску. –
@John: Вы имеете в виду, что он может вообще обойти Windows? При открытии физического диска у вас есть прямой доступ к его содержимому ...это не пайка вашего собственного контроллера SATA, но он находится на более низком уровне, чем обычно люди :-) Я уверен, что в комплекте драйверов для Windows есть образцы для драйверов дисков, если это помогает. –
- 1. Доступ к жесткому диску
- 2. Полный доступ к жесткому диску без удаления
- 3. Прямой доступ к диску с использованием Node.js
- 4. Можно ли получить доступ к жесткому диску непосредственно из gpu?
- 5. Django веб-приложение - как получить доступ к локальному жесткому диску?
- 6. Как получить доступ к жесткому диску без разрешения sudo?
- 7. Как получить доступ к жесткому диску с загрузочного диска?
- 8. Доступ к жесткому диску Mac из приложения Iphone через USB
- 9. Доступ к жесткому диску для виртуальной машины, который не загружается
- 10. Обнаруживать, если доступ к жесткому диску или нет
- 11. Linux: прямой доступ к жесткому диску (без каких-либо FS) из программы C
- 12. Чтение нескольких файлов txt при одном доступе к жесткому диску
- 13. поиск по жесткому диску по ключевым словам
- 14. Доступ к Google Диску
- 15. Невозможно разрешить доступ пользователю и группе www-данных к внешнему жесткому диску
- 16. Возможно ли получить доступ к моему жесткому диску с Android SDK?
- 17. доступ к жесткому диску с терминала ubuntu с меткой с пробелами
- 18. Как начать VbScript, если кто-то получает доступ к моему внешнему жесткому диску
- 19. Как приложение для загрузки фотографий Facebook может получить доступ к локальному жесткому диску?
- 20. Доступ к диску уровня LBA
- 21. Прямой доступ к памяти
- 22. Прямой доступ к видеокарте
- 23. Прямой доступ к видео
- 24. Как сделать python поиск по всему жесткому диску
- 25. Прямой доступ к перекресткам прямой линии связи
- 26. Доступ к UNC-диску в ASP.NET?
- 27. Доступ к iPhone-диску от iphone SDK
- 28. C# - Доступ к подключенному сетевому диску
- 29. Доступ к необработанному диску в Windows 8
- 30. Доступ к Google Диску через Android
Как это соотносится? –