«Внутреннее устройство Microsoft Windows (главы 5-7)»

- 4 -

где W- номер дискового контроллера (также называемый порядковым номером), обычно равный 0, X – всегда 0 в синтаксисе multi(), а Y указывает физический жесткий диск, подключенный к контроллеру W. Для АТА-контроллеров значение Y1 как правило, укладывается в диапазон от 0 до 3, для SCSI-контроллеров – 0-15. Z сообщает номер раздела на физическом диске, соответствующего загрузочному тому. Первому разделу присваивается значение 1.

ARC-синтаксис scsi0 сообщает Windows, что для доступа к файлам на загрузочном томе нужно задействовать сервисы дискового ввода-вывода, предоставляемые(о нем чуть позже). Синтаксис scsi0 выглядит так:

scsi(W)disk(X)rdisk(Y)partition(Z)

Здесь W - номер контроллера, X – физический жесткий диск, подключенный к этому контроллеру (обычно равен 0-15). Y указывает SCSI LUN-номер (logical unit number) диска, содержащего загрузочный том, и, как правило, равен 0. Наконец, Z – это раздел, соответствующий загрузочному тому с нумерацией, начинающейся от 1.

Наконец, в Windows применяется третий вид синтаксиса – signature(). Он указывает Windows найти диск с сигнатурой, соответствующей первому значению в скобках, независимо от номера контроллера, сопоставленного с этим диском, и использоватьдля доступа к загрузочному тому. Сигнатура диска (disk signature) – это глобально уникальный идентификатор (GUID), извлекаемый Windows Setup из информации в MBR и записываемый на диск. Синтаксис signature() выглядит так:

signature(V)disk(X)rdisk(Y)partition(Z)

где V- 32-битная сигнатура диска в шестнадцатеричной форме, идентифицирующая диск, X – физический жесткий диск со специфической сигнатурой, который может быть подключен к любому контроллеру в системе, Y – всегда 0, a Z – номер раздела, на котором находится загрузочный том. Windows использует синтаксис signatureO, если:

(o) размер загрузочного тома больше 7,8 Гб, а BIOS-функции расширенного прерывания INT 13 (которые применяются для доступа к частям диска за пределами 7,8 Гб) не могут обращаться ко всему тому;

(o) BIOS не поддерживает расширенное прерывание INT 13.

Загрузочный сектор и Ntldr на платформах x86 и x64
- 4 -