Я запутался с обозначениями, как
мульти (0) диск (0) RDISK (0) раздел (1) \ ...
а также
\ Device \ Harddisk1 \ DR1 \ Device \ video0
Я вижу эти адреса только в контексте операционных систем на базе Windows NT, таких как Windows XP и Windows 7. Что означают эти адреса и как они используются для обозначения таких устройств, как жесткие диски, графические адаптеры, устройства интерфейса пользователя (клавиатуры) , мыши и т. д.), сетевые адаптеры и другое оборудование?
/dev
узлы для прямого доступа к оборудованию. Что я хочу понять, так это то, что похоже на аналогичный механизм адресации и доступа к оборудованию в Windows.Ответы:
Вопреки распространенному мнению, ядро Windows , действительно имеют корневой системы ( «Файл») файл. В * nix рут есть
/
, а в Windows это\
. Подсистема Win32, однако, не раскрывает ее. Вы можете изучить это с WinObj .Некоторые (возможно знакомые) имена устройств NT (
M
иN
просто целые числа):\Device\HarddiskM\DRN
: Диски\Device\HarddiskVolumeN
: Разделы\Device\CdRomN
: Оптические дисководы\Device\KeyboardClassN
: Клавиатуры\Device\MountPointManager
: Не устройство, но отслеживает устройства хранения\Device\Null
: Съедает данные и выводит нули (нули)\Device\HardDisk1\DR1
является истинным именем диска для Windows иmulti(0)disk(0)rdisk(0)partition(1)
является устаревшим - оно не имеет ничего общего с тем, как Windows относится к устройствам, а с тем, как загрузчик ссылается на диск. Как это работает, я понятия не имею ( эта страница объясняет некоторые его части ), но это не совсем то, чем занимается Windows после загрузки.Более новые версии Windows используют данные конфигурации загрузки (BCD), то есть файл с именем
BCD
, формат которого похож на формат реестра, а неBoot.ini
. Обычно он использует уникальные идентификаторы (GUID) для ссылки на тома, а не на буквы дисков или пути файловой системы, и это то, что используют более новые версии Windows.источник
\Device\Video0
)?Первая строка, которая была устаревшей с помощью BCD (хранилища данных конфигурации загрузки) в Windows Vista, Windows 7 и Server 2008, взята из файла boot.ini для Windows XP или Server 2003 и находится в корневом каталоге. системного диска. Это говорит Windows, куда идти (какой диск и раздел), чтобы найти системные файлы, необходимые для загрузки.
Смотрите здесь для подробного объяснения "multi" и "rdisk". Остальное означает, что посмотрите на диск 0 (они начинаются с 0 и идут вверх оттуда, и вы можете увидеть их номера в диспетчере дисков), раздел 1 (в отличие от дисков, они начинают нумероваться с 1 и увеличиваться).
http://support.microsoft.com/kb/102873
Что касается перечисления устройств, это очень сложный предмет программирования, который объясняется здесь, если вы хотите, чтобы ваша голова взорвалась. Формат, который вы указали, - это то, как устройство рассматривается как идентификатор оборудования в реестре.
С практической точки зрения вы можете посмотреть на этот раздел реестра
чтобы соответствовать любой ошибке, вы можете получить значение идентификатора оборудования в одном из подразделов, чтобы точно определить, к какому устройству может относиться ошибка.
источник