Служебные программы для работы с файлами и дисками — Sysinternals
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
AccessChk
это средство показывает доступ к файлам, разделам реестра или службам Windows, указанным пользователем или группой.
AccessEnum
Это простое, но мощное средство безопасности показывает, кто имеет доступ к каталогам, файлам и разделам реестра в системах. Используйте его для поиска брешей в разрешениях.
CacheSet
CacheSet — это программа, позволяющая управлять размером рабочего набора диспетчера кэша с помощью функций, предоставляемых NT. Он совместим со всеми версиями NT.
Contig
Хотите быстро дефрагментировать часто используемые файлы? Используйте Contig для оптимизации отдельных файлов или для создания смежных файлов.
Disk2vhd
Disk2vhd упрощает перенос физических систем в виртуальные машины (P2V).
дискекст
Отображение сопоставлений дисков тома.
DiskMon
Эта служебная программа захватывает все действия жесткого диска или действует как световая область действия дискового пространства в области уведомлений.
дисквиев
Графическая программа для секторов диска.
Использование диска (DU)
Просмотр использования диска по каталогу.
ефсдумп
Просмотр сведений о зашифрованных файлах.
финдлинкс
Финдлинкс сообщает индекс файла и все жесткие связи (альтернативные пути к файлам на том же томе), которые существуют для указанного файла. Данные файла остаются выделенными, пока на нем есть по меньшей мере одно имя файла, ссылающееся на него.
Соединение
Создание символических ссылок NTFS в Win2K.
LDMDump
выведите дамп содержимого базы данных диспетчера логических дисков, которая описывает секционирование динамических дисков Windows 2000.
MoveFile
Запланируйте команды переименования и удаления файлов для следующей перезагрузки. Это может быть полезно для очистки неохотную или использования файлов вредоносных программ.
NTFSInfo
Используйте NTFSInfo для просмотра подробных сведений о томах NTFS, включая размер и расположение главной таблицы файлов (MFT) и MFT-Zone, а также размеры файлов метаданных NTFS.
пендмовес
Узнайте, какие файлы запланированы для удаления или переименования при следующей загрузке системы.
Монитор процессов
Отслеживание действий файловой системы, реестра, процессов, потоков и библиотек DLL в режиме реального времени.
PsFile
Узнайте, какие файлы открываются удаленно.
PsTools
Пакет PsTools Suite включает служебные программы командной строки для перечисления процессов, запущенных на локальных или удаленных компьютерах, удаленного выполнения процессов, перезагрузки компьютеров, дампа журналов событий и т. д.
SDelete
Безопасная перезапись конфиденциальных файлов и очистка свободного пространства ранее удаленных файлов с помощью этой программы безопасного удаления, совместимой с DoD.
шаринум
Проверьте файловые ресурсы в сети и просмотрите параметры безопасности, чтобы закрыть бреши в системе безопасности.
Программа Sigcheck
Выводит сведения о версии файла и убедитесь, что образы в системе имеют цифровую подпись.
Потоки
Показать альтернативные потоки NTFS.
Синхронизация
Сброс кэшированных данных на диск.
VolumeID
Задайте идентификатор тома для дисков FAT или NTFS.
C.
5. Программы разметки в DebianДля работы с различными типами жёстких дисков и компьютерных архитектур разработчиками Debian были адаптированы несколько разновидностей программ разметки. На вашей машине могут работать программы, представленные в списке далее.
Одна из этих программ будет запущена по умолчанию, когда вы выберете Разметка дисков (или типа того). Возможно использовать другую утилиту разметки из командной строки на VT2, но это не рекомендуется.
C.5.1. Разметка для 32-bit PC
If you are using a new harddisk (or want to wipe out the whole partition table of your disk), a new partition table needs to be created. The «Guided partitioning» does this automatically, but when partitioning manually, move the selection on the top-level entry of the disk and hit Enter. That will create a new partition table on that disk. In expert mode, you will then be asked for the type of the partition table. Default for UEFI-based systems is «gpt», while for the older BIOS world the default value is «msdos».
In a standard priority installation those defaults will be used automatically.
| Примечание | |
|---|---|
When a partition table with type «gpt» was selected (default for UEFI systems), a free space of 1 MB will automatically get created at the beginning of the disk. This is intended and required to embed the GRUB2 bootloader. |
Если у вас есть другие операционные системы, например, DOS или Windows, и вы хотите сохранить их, то может потребоваться изменить размеры их разделов, чтобы освободить больше пространства для Debian. Программа установки может изменять размеры файловых систем FAT и NTFS; на шаге разметки выберите Вручную и затем просто выберите имеющийся раздел и измените его размер.
While modern UEFI systems don’t have such limitations as listed below, the old PC BIOS generally adds additional constraints for disk partitioning.
There is a limit to how many «primary» and «logical» partitions a drive can contain. Additionally, with pre 1994–98 BIOSes, there are limits to where on the drive the BIOS can boot from. More information can be found in the Linux Partition HOWTO, but this section will include a brief overview to help you plan most situations.
«Первичные» разделы присутствовали в первоначальной схеме разметки дисков на PC. Однако, их может быть только четыре. Чтобы обойти это ограничение, были придуманы «расширенные» и «логические» разделы. Пометив один из первичных разделов как расширенный, вы можете поделить всё его пространство на логические разделы. Вы можете создать до 60 логических разделов на расширенном разделе; однако, вы можете иметь только один расширенный раздел на диске.
Linux ограничивает количество разделов до 255 на SCSI дисках (3 первичных раздела, 252 логических разделов), и 63 раздела на IDE дисках (3 первичных раздела, 60 логических разделов). Однако, обычная система Debian GNU/Linux предоставляет только 20 устройств под разделы, поэтому вы не сможете произвести установку на раздел выше чем 20, если только сначала вручную не создадите устройства для этих разделов.
Если вы имеете большой IDE диск и не используете ни LBA адресацию, ни драйвера поддержки (иногда предоставляемого производителем жёсткого диска), то загрузочный раздел (раздел, содержащий образ ядра) должен располагаться в пределах первых 1024 цилиндров жёсткого диска (обычно, это 524 мегабайта без BIOS трансляции).
This restriction doesn’t apply if you have a BIOS newer than around 1995–98 (depending on the manufacturer) that supports the «Enhanced Disk Drive Support Specification». Debian’s Lilo alternative mbr must use the BIOS to read the kernel from the disk into RAM. If the BIOS int 0x13 large disk access extensions are found to be present, they will be utilized. Otherwise, the legacy disk access interface is used as a fall-back, and it cannot be used to address any location on the disk higher than the 1023rd cylinder. Once Linux is booted, no matter what BIOS your computer has, these restrictions no longer apply, since Linux does not use the BIOS for disk access.
Если вы имеете большой диск, то можете использовать технологию трансляции цилиндров, которую можно включить в BIOS; она называется LBA (логическая адресация блоков) или режим трансляции CHS («Large»). Подробную информацию о проблемах с большими жёсткими дисками можно найти в HOWTO по большим дискам. Если вы используете схему трансляции цилиндров, а BIOS не поддерживает расширения доступа к большим жёстким дискам, то ваш загрузочный раздел должен попадать в транслированное представление первых 1024-х цилиндров.
Рекомендуемый путь выполнения этого условия — создать маленький (25–50 МБ должно хватить) раздел в начале диска, для использования в качестве загрузочного раздела, а затем создавать любые нужные разделы в оставшейся области. Загрузочный раздел должен быть смонтирован в /boot, так как в этом каталоге хранятся ядра Linux. Такая конфигурация будет работать на любой системе, независимо используется ли трансляции LBA больших дисков или CHS, и независимо от того поддерживает ли BIOS расширение для доступа к большим дискам.
языков программирования — Нужен совет по программе доступа к диску
Я представляю себе программу, которую мне нужно будет написать, и мне нужен совет по языку. Мне нужно будет выполнять необработанный доступ к диску, чтобы я мог отображать шестнадцатеричные данные, прокручивать или перемещаться по диску и выполнять вычисления на основе данных. Я больше всего использую Java, и его переносимость между операционными системами для других моих проектов, безусловно, является преимуществом, но необработанный доступ к диску либо невозможен, либо требует JNI, либо может быть возможен на * nix, когда вы можете получить доступ к дискам как к «файлам». «. Я продолжаю читать разное. Кстати, я могу справиться с этим типом работы, используя Files в Java, но в этом проекте мне нужно иметь доступ к диску, поэтому предварительное создание файлов для файлов не требуется.
Было бы неплохо сделать его как можно более переносимым, так как есть реальная польза от использования разных ОС, но это может быть того не стоит, и я должен просто придерживаться Windows и родного языка компиляции.
Есть ли какой-нибудь существующий код JNI, который мог бы помочь? У меня есть опыт работы с другими языками, но я давно не использовал C++. Должен ли я забыть о Java и попробовать C#? Кто-то сказал мне, что у Python есть библиотеки для таких вещей, несмотря на то, что это интерпретируемый язык, так что насчет Python? Что будет лучше для проекта? Чему мне было бы полезно научиться?
Поиск необработанного доступа к диску, Java, Python не дает никаких полезных результатов. Спасибо за любую помощь!
РЕДАКТИРОВАТЬ Похоже, это будет очень сложно: узнать то, что мне нужно знать, а затем изучить это. Очень жаль, что я не могу использовать вместо этого образы дисков, потому что тогда я смогу сразу же приступить к работе на Java, с которой мне удобно, и я знаю, что могу сделать хороший продукт. Я получил большую пропускную способность в других проектах обработки необработанных данных с помощью Java, так что это меня не беспокоит. Кроме того, он будет действительно портативным.
Хм, возможно, придется подумать об этом больше. Мне, вероятно, понадобится большая система хранения azz для хранения всех изображений 🙂
ОБНОВЛЕНИЕ Просто примечание для тех, кто найдет этот вопрос … Я понял, что это работает, просто указав диск для файла с использованием обозначения PhysicalDrive (в Windows), как ответ ниже от hunsricker. Однако есть некоторые проблемы. Во-первых, если вы выполняете проверку «существует» File.exists(), она говорит, что файл не существует. Кроме того, размер файла равен нулю, и когда я получаю «java.io.IOException: диск не может найти запрошенный сектор», я знаю, что нахожусь в конце файла. И что самое худшее, у меня возникали странные ошибки во время выполнения, когда я читал несколько байтов и пропускал некоторые (64) байта в цикле. Я немного изменил свою программу, чтобы считывать разные суммы, и это изменило место возникновения ошибки. Кстати, я использовал BufferedInputStream вместо RandomAccessFile, как hunsricker ниже, не уверен, что это имеет значение.
Мой единственный ответ на этот вопрос заключается в том, что, поскольку я выполняю доступ к физическому диску, мне не нравится, что я не читаю даже секторы по 512 байт или блоки по 1 КБ или что-то в этом роде. Действительно, когда я читаю даже 1К, 2К, 512 байт и т.д. и ничего не пропускаю, работает нормально и доходит до конца. Ошибки, которые я видел, были java.io.ioexception «неверная функция» и java.io.ioexception «неверный параметр». В них не было ни рифмы, ни причины. Затем я создал файлы изображений с теми же данными и запустил на них свою программу, и она без проблем выполняла любую комбинацию чтения и пропуска байтов. Думаю, доступ к физическому диску был более требовательным.
windows — Как определить, какая программа использует мой диск?
спросил
Изменено 9 лет, 7 месяцев назад
Просмотрено 34к раз
Windows 8 не позволяет мне размонтировать жесткий диск, говоря, что он используется.
Я не могу найти, какая программа его использует.
Есть ли программа, которая даст мне список всех программ, использующих жесткий диск?
в меню «Найти» нажмите «Найти дескриптор или DLL…»
там введите то, что вы ищете (в вашем случае, например, f:, если это имя диска, который вы хотите знать, какие программы все еще используются)
затем он отобразит все процессы, которые используют дескриптор или dll, содержащую строку, которую вы искали (например: содержащую f: , таким образом перечисляя все программы, все еще использующие что-то на f: или имеющие текущий каталог где-то на f: )
(Вы можете использовать то же самое, чтобы узнать, какой процесс открыл данный конкретный файл и т. д.)
2
Я предлагаю использовать дескриптор Windows Sysinternals для получения списка всех открытых обработчиков, поскольку вполне возможно, что программа оставила один открытый обработчик, но не использует его.
Ручкой видно, что открыто на этом диске. Это программа командной строки, просто введите «дескриптор», где вы ее сохраните, и все.
Вы также можете ввести handle >> results.txt , чтобы сохранить их в файле results.txt и просматривать их проще.
Вывод в следующем формате:
Ручка v3.46 Copyright (C) 1997-2011 Марк Руссинович Sysinternals - www.sysinternals.com -------------------------------------------------- ---------------------------- Системный pid: 4 NT AUTHORITY\SYSTEM 934: Файл (---) C:\Documents and Settings\SQL_User\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat 938: Файл (---) C:\Documents and Settings\SQL_User\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG 93C: Файл (---) C:\Documents and Settings\SQL_User\NTUSER.dat.LOG 948: Файл (---) C:\Documents and Settings\SQL_User\NTUSER.DAT
1
Попробуйте выполнить следующие действия:
- Загрузить Microsoft Process Explorer
- Открыть приложение
- Нажмите на график ввода/вывода
- Наведите указатель мыши на строку диска
Он должен показать вам исполняемый файл, работающий на этом диске.

