git: 29bc0e1a37 - main - update translation of books/arch-handbook to Russian
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 13 Aug 2026 14:00:31 UTC
The branch main has been updated by vladlen:
URL: https://cgit.FreeBSD.org/doc/commit/?id=29bc0e1a378311e1752e750624902043a6ff5da9
commit 29bc0e1a378311e1752e750624902043a6ff5da9
Author: Vladlen Popolitov <vladlen@FreeBSD.org>
AuthorDate: 2026-08-13 14:00:25 +0000
Commit: Vladlen Popolitov <vladlen@FreeBSD.org>
CommitDate: 2026-08-13 14:00:25 +0000
update translation of books/arch-handbook to Russian
Differential Revision: https://reviews.freebsd.org/D58800
---
.../ru/books/arch-handbook/boot/_index.adoc | 8 +-
.../content/ru/books/arch-handbook/boot/_index.po | 627 +++++++-------
.../content/ru/books/arch-handbook/isa/_index.adoc | 4 +-
.../content/ru/books/arch-handbook/isa/_index.po | 924 ++++++++++-----------
.../ru/books/arch-handbook/jail/_index.adoc | 2 +-
.../content/ru/books/arch-handbook/jail/_index.po | 208 ++---
.../ru/books/arch-handbook/kobj/_index.adoc | 14 +-
.../content/ru/books/arch-handbook/kobj/_index.po | 170 ++--
.../ru/books/arch-handbook/newbus/_index.adoc | 2 +-
.../ru/books/arch-handbook/newbus/_index.po | 210 ++---
.../ru/books/arch-handbook/pccard/_index.adoc | 2 +-
.../ru/books/arch-handbook/pccard/_index.po | 127 ++-
.../ru/books/arch-handbook/scsi/_index.adoc | 12 +-
.../content/ru/books/arch-handbook/scsi/_index.po | 889 ++++++++++----------
.../content/ru/books/arch-handbook/smp/_index.adoc | 2 +-
.../content/ru/books/arch-handbook/smp/_index.po | 383 ++++-----
.../content/ru/books/arch-handbook/usb/_index.adoc | 14 +-
.../content/ru/books/arch-handbook/usb/_index.po | 176 ++--
18 files changed, 1865 insertions(+), 1909 deletions(-)
diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.adoc b/documentation/content/ru/books/arch-handbook/boot/_index.adoc
index 5f3d69baff..086039ef36 100644
--- a/documentation/content/ru/books/arch-handbook/boot/_index.adoc
+++ b/documentation/content/ru/books/arch-handbook/boot/_index.adoc
@@ -650,7 +650,7 @@ seta20.3:
Сервер BTX подготавливает простое окружение и переключается из 16-битного реального режима в 32-битный защищённый режим, непосредственно перед передачей управления клиенту. Это включает инициализацию и обновление следующих структур данных:
* Изменяет `Таблицу Векторов Прерываний (IVT)`. IVT предоставляет обработчики исключений и прерываний для кода в Реальном Режиме.
-* Создаётся `Таблица дескрипторов прерываний (IDT)`. В ней предусмотрены записи для исключений процессора, аппаратных прерываний, двух системных вызовов и интерфейса V86. IDT предоставляет обработчики исключений и прерываний для кода в защищенном режиме.
+* Создаётся `Таблица дескрипторов прерываний (IDT)`. В ней предусмотрены записи для исключений процессора, аппаратных прерываний, двух системных вызовов и интерфейса V86. IDT предоставляет обработчики исключений и прерываний для кода в защищённом режиме.
* Создаётся `Сегмент состояния задачи (TSS)`. Это необходимо, потому что процессор работает на _наименее_ привилегированном уровне при выполнении клиента ([.filename]#boot2#), но на _наиболее_ привилегированном уровне при выполнении сервера BTX.
* Устанавливается GDT (Глобальная Таблица Дескрипторов). Создаются записи (дескрипторы) для кода и данных супервизора, кода и данных пользователя, а также кода и данных реального режима. footnote:[Код и данные реального режима необходимы при переключении обратно в реальный режим из защищённого режима, как указано в руководствах Intel.]
@@ -731,7 +731,7 @@ init.0: mov %bx,(%di) # Store IP
....
.[.filename]#stand/i386/btx/btx/btx.S# [[btx-ivt]]
-Следующий блок создаёт IDT (таблицу дескрипторов прерываний). IDT в защищенном режиме аналогична IVT в реальном режиме. То есть, IDT описывает различные обработчики исключений и прерываний, используемые, когда процессор работает в защищенном режиме. По сути, она также состоит из массива пар сегмент/смещение, хотя структура несколько сложнее, поскольку сегменты в защищенном режиме отличаются от реального режима, и применяются различные механизмы защиты:
+Следующий блок создаёт IDT (таблицу дескрипторов прерываний). IDT в защищённом режиме аналогична IVT в реальном режиме. То есть, IDT описывает различные обработчики исключений и прерываний, используемые, когда процессор работает в защищённом режиме. По сути, она также состоит из массива пар сегмент/смещение, хотя структура несколько сложнее, поскольку сегменты в защищённом режиме отличаются от реального режима, и применяются различные механизмы защиты:
[.programlisting]
....
@@ -801,7 +801,7 @@ init.8: xorl %ecx,%ecx # Zero
....
.[.filename]#stand/i386/btx/btx/btx.S# [[btx-prot]]
-Сначала вызывается `setpic` для программирования 8259A PIC (программируемого контроллера прерываний). Этот чип подключен к нескольким источникам аппаратных прерываний. При получении прерывания от устройства он сигнализирует процессору соответствующим вектором прерывания. Это можно настроить так, чтобы определённые прерывания были связаны с конкретными векторами прерываний, как объяснялось ранее. Затем регистры IDTR (Interrupt Descriptor Table Register) и GDTR (Global Descriptor Table Register) загружаются инструкциями `lidt` и `lgdt` соответственно. Эти регистры загружаются б
зовым адресом и предельным адресом для IDT и GDT. Следующие три инструкции устанавливают бит Protection Enable (PE) в регистре `%cr0`. Это фактически переключает процессор в 32-битный защищенный режим. Затем выполняется дальний переход на `init.8` с использованием селектора сегмента SEL_SCODE, который выбирает сегмент кода супервизора (Supervisor Code Segment). После этого перехода процессор фактически работает на уровне CPL 0 — наиболее привилегированном уровне. Наконец, для стека выбирается сегмент данных супервизора (Supervisor Data Segment) путем присвоения селектора сегмент
а SEL_SDATA регистру `%ss`. Этот сегмент данных также имеет уровень привилегий `0`.
+Сначала вызывается `setpic` для программирования 8259A PIC (программируемого контроллера прерываний). Этот чип подключен к нескольким источникам аппаратных прерываний. При получении прерывания от устройства он сигнализирует процессору соответствующим вектором прерывания. Это можно настроить так, чтобы определённые прерывания были связаны с конкретными векторами прерываний, как объяснялось ранее. Затем регистры IDTR (Interrupt Descriptor Table Register) и GDTR (Global Descriptor Table Register) загружаются инструкциями `lidt` и `lgdt` соответственно. Эти регистры загружаются б
зовым адресом и предельным адресом для IDT и GDT. Следующие три инструкции устанавливают бит Protection Enable (PE) в регистре `%cr0`. Это фактически переключает процессор в 32-битный защищённый режим. Затем выполняется дальний переход на `init.8` с использованием селектора сегмента SEL_SCODE, который выбирает сегмент кода супервизора (Supervisor Code Segment). После этого перехода процессор фактически работает на уровне CPL 0 — наиболее привилегированном уровне. Наконец, для стека выбирается сегмент данных супервизора (Supervisor Data Segment) путем присвоения селектора сегмент
а SEL_SDATA регистру `%ss`. Этот сегмент данных также имеет уровень привилегий `0`.
Наш последний блок кода отвечает за загрузку TR (Регистра Задач) с селектором сегмента для TSS, который мы создали ранее, и настройку окружения пользовательского режима перед передачей управления исполнения клиенту [.filename]#boot2#.
@@ -1144,7 +1144,7 @@ sys/i386/i386/machdep.c:
#endif
....
-Сегмент состояния задачи (TSS) — это ещё одна структура защищенного режима x86, используемая оборудованием для хранения информации о задаче при переключении задач.
+Сегмент состояния задачи (TSS) — это ещё одна структура защищённого режима x86, используемая оборудованием для хранения информации о задаче при переключении задач.
Локальная таблица дескрипторов (LDT) используется для ссылки на код и данные пользовательского пространства. Определено несколько селекторов, указывающих на LDT, включая шлюзы системных вызовов, а также селекторы кода и данных пользователя:
diff --git a/documentation/content/ru/books/arch-handbook/boot/_index.po b/documentation/content/ru/books/arch-handbook/boot/_index.po
index 8dcf7b5bbd..9b1807f9b5 100644
--- a/documentation/content/ru/books/arch-handbook/boot/_index.po
+++ b/documentation/content/ru/books/arch-handbook/boot/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-11-08 16:17+0000\n"
-"PO-Revision-Date: 2026-04-05 04:45+0000\n"
+"POT-Creation-Date: 2026-08-06 22:55+0100\n"
+"PO-Revision-Date: 2026-05-18 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksarch-handbookboot_index/ru/>\n"
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
#. type: Title =
@@ -32,13 +32,13 @@ msgid "Chapter 1. Bootstrapping and Kernel Initialization"
msgstr "Глава 1. Начальная загрузка и инициализация ядра"
#. type: Title ==
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:52
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:51
#, no-wrap
msgid "Synopsis"
msgstr "Обзор"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:57
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:56
msgid ""
"This chapter is an overview of the boot and system initialization processes, "
"starting from the BIOS (firmware) POST, to the first user process creation. "
@@ -56,7 +56,7 @@ msgstr ""
"темой этого документа."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:61
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:60
msgid ""
"The FreeBSD boot process can be surprisingly complex. After control is "
"passed from the BIOS, a considerable amount of low-level configuration must "
@@ -71,13 +71,13 @@ msgstr ""
"возможности для настройки и адаптации."
#. type: Title ==
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:63
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:62
#, no-wrap
msgid "Overview"
msgstr "Обзор"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:76
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:75
msgid ""
"The boot process is an extremely machine-dependent activity. Not only must "
"code be written for every computer architecture, but there may also be "
@@ -114,7 +114,7 @@ msgstr ""
"секторе. Этот загрузочный код запускает трёхэтапный процесс загрузки FreeBSD."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:82
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:81
msgid ""
"The key to understanding this process is that it is a series of stages of "
"increasing complexity. These stages are [.filename]#boot1#, [."
@@ -131,7 +131,7 @@ msgstr ""
"Каждая стадия рассматривается в следующих разделах."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:85
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:84
msgid ""
"Here is an example of the output generated by the different boot stages. "
"Actual output may differ from machine to machine:"
@@ -140,25 +140,25 @@ msgstr ""
"Фактический вывод может отличаться в зависимости от машины:"
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:91
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:90
#, no-wrap
msgid "*FreeBSD Component*"
msgstr "*Компонент FreeBSD*"
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:93
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:92
#, no-wrap
msgid "*Output (may vary)*"
msgstr "*Вывод (может отличаться)*"
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:94
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:93
#, no-wrap
msgid "`boot0`"
msgstr "`boot0`"
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:103
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:102
#, no-wrap
msgid ""
"[source,bash]\n"
@@ -176,13 +176,13 @@ msgstr ""
"...."
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:104
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:103
#, no-wrap
msgid "`boot2` footnote:[This prompt will appear if the user presses a key just after selecting an OS to boot at the boot0 stage.]"
msgstr "`boot2` footnote:[Это приглашение появится, если пользователь нажмет клавишу сразу после выбора ОС для загрузки на этапе boot0.]"
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:113
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:112
#, no-wrap
msgid ""
"[source,bash]\n"
@@ -200,13 +200,13 @@ msgstr ""
"...."
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:114
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:113
#, no-wrap
msgid "[.filename]#loader#"
msgstr "[.filename]#loader#"
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:130
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:129
#, no-wrap
msgid ""
"[source,bash]\n"
@@ -238,13 +238,13 @@ msgstr ""
"...."
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:131
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:130
#, no-wrap
msgid "kernel"
msgstr "ядро системы"
#. type: Table
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:144
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:143
#, no-wrap
msgid ""
"[source,bash]\n"
@@ -270,13 +270,13 @@ msgstr ""
"...."
#. type: Title ==
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:147
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:146
#, no-wrap
msgid "The BIOS"
msgstr "BIOS"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:158
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:157
msgid ""
"When the computer powers on, the processor's registers are set to some "
"predefined values. One of the registers is the _instruction pointer_ "
@@ -310,7 +310,7 @@ msgstr ""
"устаревшем 16-битном коде."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:161
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:160
msgid ""
"The value of `0xfffffff0` is slightly less than 4 GB, so unless the machine "
"has 4 GB of physical memory, it cannot point to a valid memory address. The "
@@ -323,7 +323,7 @@ msgstr ""
"указывал на блок памяти BIOS."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:166
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:165
msgid ""
"The BIOS (Basic Input Output System) is a chip on the motherboard that has a "
"relatively small amount of read-only memory (ROM). This memory contains "
@@ -333,14 +333,14 @@ msgid ""
"jump instruction to the BIOS's POST routines."
msgstr ""
"BIOS (Basic Input Output System) — это микросхема на материнской плате, "
-"которая содержит относительно небольшой объём памяти только для чтения (ROM)"
-". Эта память включает различные низкоуровневые процедуры, специфичные для "
-"оборудования, поставляемого с материнской платой. Процессор сначала "
+"которая содержит относительно небольшой объём памяти только для чтения "
+"(ROM). Эта память включает различные низкоуровневые процедуры, специфичные "
+"для оборудования, поставляемого с материнской платой. Процессор сначала "
"переходит по адресу 0xfffffff0, который фактически находится в памяти BIOS. "
"Обычно по этому адресу содержится инструкция перехода к процедурам POST BIOS."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:170
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:169
msgid ""
"The POST (Power On Self Test) is a set of routines including the memory "
"check, system bus check, and other low-level initialization so the CPU can "
@@ -357,7 +357,7 @@ msgstr ""
"CD-ROM, жёсткого диска или других устройств."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:179
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:178
msgid ""
"The very last thing in the POST is the `INT 0x19` instruction. The `INT "
"0x19` handler reads 512 bytes from the first sector of boot device into the "
@@ -382,7 +382,7 @@ msgstr ""
"первой дорожке не используются."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:183
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:182
msgid ""
"This sector is our boot-sequence starting point. As we will see, this "
"sector contains a copy of our [.filename]#boot0# program. A jump is made by "
@@ -393,13 +393,13 @@ msgstr ""
"BIOS выполняет переход по адресу `0x7c00`, и она начинает выполняться."
#. type: Title ==
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:185
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:184
#, no-wrap
msgid "The Master Boot Record (`boot0`)"
msgstr "Главная загрузочная запись (`boot0`)"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:194
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:193
msgid ""
"After control is received from the BIOS at memory address `0x7c00`, [."
"filename]#boot0# starts executing. It is the first piece of code under "
@@ -426,7 +426,7 @@ msgstr ""
"есть_ MBR."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:197
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:196
msgid ""
"As mentioned previously, we're calling the BIOS `INT 0x19` to load the MBR "
"([.filename]#boot0#) into memory at address `0x7c00`. The source file for [."
@@ -439,7 +439,7 @@ msgstr ""
"впечатляющий фрагмент кода, написанный Робертом Нордье."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:202
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:201
msgid ""
"A special structure starting from offset `0x1be` in the MBR is called the "
"_partition table_. It has four records of 16 bytes each, called _partition "
@@ -457,32 +457,32 @@ msgstr ""
"продолжать работу."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:204
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:203
msgid "A partition record has the following fields:"
msgstr "Запись о разделе содержит следующие поля:"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:206
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:205
msgid "the 1-byte filesystem type"
msgstr "1-байтовый тип файловой системы"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:207
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:206
msgid "the 1-byte bootable flag"
msgstr "1-байтовый флаг загрузки (`bootable`)"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:208
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:207
msgid "the 6 byte descriptor in CHS format"
msgstr "6-байтовый дескриптор в формате CHS"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:209
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:208
msgid "the 8 byte descriptor in LBA format"
msgstr "8-байтовый дескриптор в формате LBA"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:213
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:212
msgid ""
"A partition record descriptor contains information about where exactly the "
"partition resides on the drive. Both descriptors, LBA and CHS, describe the "
@@ -499,7 +499,7 @@ msgstr ""
"завершается специальной сигнатурой `0xaa55`."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:218
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:217
msgid ""
"The MBR must fit into 512 bytes, a single disk sector. This program uses "
"low-level \"tricks\" like taking advantage of the side effects of certain "
@@ -517,7 +517,7 @@ msgstr ""
"будьте очень внимательны при изменении [.filename]#boot0.S#."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:223
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:222
msgid ""
"Note that the [.filename]#boot0.S# source file is assembled \"as is\": "
"instructions are translated one by one to binary, with no additional "
@@ -537,7 +537,7 @@ msgstr ""
"корректной работы."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:230
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:229
msgid ""
"It is worth looking at the [.filename]#Makefile# for [.filename]#boot0# ([."
"filename]#stand/i386/boot0/Makefile#), as it defines some of the run-time "
@@ -563,7 +563,7 @@ msgstr ""
"форматирование файла):"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:235
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:234
#, no-wrap
msgid ""
" BOOT_BOOT0_ORG?=0x600\n"
@@ -573,13 +573,13 @@ msgstr ""
" ORG=${BOOT_BOOT0_ORG}\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:237
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:236
#, no-wrap
msgid "[.filename]#stand/i386/boot0/Makefile# [[boot-boot0-makefile-as-is]]"
msgstr "[.filename]#stand/i386/boot0/Makefile# [[boot-boot0-makefile-as-is]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:239
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:238
msgid ""
"Let us now start our study of the MBR, or [.filename]#boot0#, starting where "
"execution begins."
@@ -587,7 +587,7 @@ msgstr ""
"Приступим к изучению MBR, или [.filename]#boot0#, начиная с точки входа."
#. type: delimited block = 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:245
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:244
msgid ""
"Some modifications have been made to some instructions in favor of better "
"exposition. For example, some macros are expanded, and some macro tests are "
@@ -600,7 +600,7 @@ msgstr ""
"примерам кода."
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:256
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:255
#, no-wrap
msgid ""
"start:\n"
@@ -620,13 +620,13 @@ msgstr ""
" movw $LOAD,%sp\t\t# stack\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:258
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:257
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-entrypoint]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-entrypoint]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:264
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:263
msgid ""
"This first block of code is the entry point of the program. It is where the "
"BIOS transfers control. First, it makes sure that the string operations "
@@ -647,7 +647,7 @@ msgstr ""
"чтобы обеспечить работоспособный стек."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:266
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:265
msgid ""
"The next block is responsible for the relocation and subsequent jump to the "
"relocated code."
@@ -656,7 +656,7 @@ msgstr ""
"коду."
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:280
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:279
#, no-wrap
msgid ""
" movw %sp,%si # Source\n"
@@ -684,13 +684,13 @@ msgstr ""
" jmp main-LOAD+ORIGIN\t# Jump to relocated code\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:282
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:281
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-relocation]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-relocation]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:293
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:292
msgid ""
"As [.filename]#boot0# is loaded by the BIOS to address `0x7C00`, it copies "
"itself to address `0x600` and then transfers control there (recall that it "
@@ -727,7 +727,7 @@ msgstr ""
"копируют 2 байта (1 слово) за одну итерацию."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:304
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:303
msgid ""
"Next, the destination register `%di` is copied to `%bp`. `%bp` gets the "
"value `0x800`. The value `8` is copied to `%cl` in preparation for a new "
@@ -756,7 +756,7 @@ msgstr ""
"абсолютные адреса избегались."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:306
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:305
msgid ""
"The following code block tests whether the drive number provided by the BIOS "
"should be used, or the one stored in [.filename]#boot0#."
@@ -765,7 +765,7 @@ msgstr ""
"предоставленный BIOS, или тот, что хранится в [.filename]#boot0#."
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:318
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:317
#, no-wrap
msgid ""
"main:\n"
@@ -789,13 +789,13 @@ msgstr ""
"#endif\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:320
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:319
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-drivenumber]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-drivenumber]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:327
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:326
msgid ""
"This code tests the `SETDRV` bit (`0x20`) in the _flags_ variable. Recall "
"that register `%bp` points to address location `0x800`, so the test is done "
@@ -817,7 +817,7 @@ msgstr ""
"предоставил корректный номер диска, поэтому переходим к `save_curdrive`."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:329
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:328
msgid ""
"The next block saves the drive number provided by the BIOS, and calls `putn` "
"to print a new line on the screen."
@@ -826,7 +826,7 @@ msgstr ""
"`putn` для вывода новой строки на экран."
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:341
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:340
#, no-wrap
msgid ""
"save_curdrive:\n"
@@ -850,13 +850,13 @@ msgstr ""
" callw putn\t\t# Print a newline\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:343
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:342
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-savedrivenumber]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-savedrivenumber]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:345
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:344
msgid ""
"Note that we assume `TEST` is not defined, so the conditional code in it is "
"not assembled and will not appear in our executable [.filename]#boot0#."
@@ -866,7 +866,7 @@ msgstr ""
"filename]#boot0#."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:351
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:350
msgid ""
"Our next block implements the actual scanning of the partition table. It "
"prints to the screen the partition type for each of the four entries in the "
@@ -883,7 +883,7 @@ msgstr ""
"`ufs2` (FreeBSD, ID 0xa5). Реализация довольно проста."
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:356
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:355
#, no-wrap
msgid ""
" movw $(partbl+0x4),%bx\t# Partition table (+4)\n"
@@ -893,7 +893,7 @@ msgstr ""
" xorw %dx,%dx\t\t# Item number\n"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:372
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:371
#, no-wrap
msgid ""
"read_entry:\n"
@@ -929,7 +929,7 @@ msgstr ""
" callw putx\t\t# Display it\n"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:377
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:376
#, no-wrap
msgid ""
"next_entry:\n"
@@ -943,13 +943,13 @@ msgstr ""
" jnc read_entry\t\t# Till done\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:379
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:378
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-partition-scan]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-partition-scan]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:383
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:382
msgid ""
"It is important to note that the active flag for each entry is cleared, so "
"after the scanning, _no_ partition entry is active in our memory copy of [."
@@ -964,7 +964,7 @@ msgstr ""
"существует, если пользователь решит записать изменения обратно на диск."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:388
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:387
msgid ""
"The next block tests for other drives. At startup, the BIOS writes the "
"number of drives present in the computer to address `0x475`. If there are "
@@ -979,7 +979,7 @@ msgstr ""
"диске."
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:397
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:396
#, no-wrap
msgid ""
" popw %ax\t\t\t# Drive number\n"
@@ -997,13 +997,13 @@ msgstr ""
" jz print_prompt\t\t# Yes\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:399
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:398
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-test-drives]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-test-drives]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:402
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:401
msgid ""
"We make the assumption that a single drive is present, so the jump to "
"`print_drive` is not performed. We also assume nothing strange happened, so "
@@ -1014,7 +1014,7 @@ msgstr ""
"не произошло, поэтому переходим к `print_prompt`."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:404
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:403
msgid ""
"This next block just prints out a prompt followed by the default option:"
msgstr ""
@@ -1022,7 +1022,7 @@ msgstr ""
"умолчанию:"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:414
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:413
#, no-wrap
msgid ""
"print_prompt:\n"
@@ -1042,13 +1042,13 @@ msgstr ""
" jmp start_input\t\t# Skip beep\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:416
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:415
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-prompt]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-prompt]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:418
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:417
msgid ""
"Finally, a jump is performed to `start_input`, where the BIOS services are "
"used to start a timer and for reading user input from the keyboard; if the "
@@ -1059,7 +1059,7 @@ msgstr ""
"таймер истекает, будет выбран вариант по умолчанию:"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:434
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:433
#, no-wrap
msgid ""
"start_input:\n"
@@ -1091,13 +1091,13 @@ msgstr ""
" jb read_key\t\t# No\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:436
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:435
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-start-input]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-start-input]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:449
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:448
msgid ""
"An interrupt is requested with number `0x1a` and argument `0` in register `"
"%ah`. The BIOS has a predefined set of services, requested by applications "
@@ -1144,7 +1144,7 @@ msgstr ""
"пользователя; это делается через `int 0x16`, аргумент `1` в `%ah`."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:457
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:456
msgid ""
"Whether a key was pressed or the time expired, subsequent code validates the "
"selection. Based on the selection, the register `%si` is set to point to "
@@ -1165,7 +1165,7 @@ msgstr ""
"обратно в MBR на диске. Мы оставляем детали этой реализации читателю."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:459
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:458
msgid ""
"We now end our study with the last code block from the [.filename]#boot0# "
"program:"
@@ -1174,7 +1174,7 @@ msgstr ""
"filename]#boot0#:"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:472
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:471
#, no-wrap
msgid ""
" movw $LOAD,%bx\t\t# Address for read\n"
@@ -1200,13 +1200,13 @@ msgstr ""
" jmp *%bx\t\t\t# Invoke bootstrap\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:474
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:473
#, no-wrap
msgid "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-check-bootable]]"
msgstr "[.filename]#stand/i386/boot0/boot0.S# [[boot-boot0-check-bootable]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:478
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:477
msgid ""
"Recall that `%si` points to the selected partition entry. This entry tells "
"us where the partition begins on disk. We assume, of course, that the "
@@ -1217,7 +1217,7 @@ msgstr ""
"выбранный раздел действительно является срезом FreeBSD."
#. type: delimited block = 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:482
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:481
msgid ""
"From now on, we will favor the use of the technically more accurate term "
"\"slice\" rather than \"partition\"."
@@ -1226,7 +1226,7 @@ msgstr ""
"термина \"слайс\" вместо \"раздел\"."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:488
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:487
msgid ""
"The transfer buffer is set to `0x7c00` (register `%bx`), and a read for the "
"first sector of the FreeBSD slice is requested by calling `intx13`. We "
@@ -1246,18 +1246,18 @@ msgstr ""
"выполнение нашего следующего этапа (только что прочитанного блока)."
#. type: Title ==
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:490
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:489
#, no-wrap
msgid "`boot1` Stage"
msgstr "Этап `boot1`"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:493
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:492
msgid "So far we have gone through the following sequence:"
msgstr "До сих пор мы прошли следующую последовательность:"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:497
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:496
msgid ""
"The BIOS did some early hardware initialization, including the POST. The "
"MBR ([.filename]#boot0#) was loaded from absolute disk sector one to address "
@@ -1268,7 +1268,7 @@ msgstr ""
"один с диска. Управление выполнением было передано по этому адресу."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:500
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:499
msgid ""
"[.filename]#boot0# relocated itself to the location it was linked to execute "
"(`0x600`), followed by a jump to continue execution at the appropriate "
@@ -1283,7 +1283,7 @@ msgstr ""
"Управление выполнением было передано по этому адресу."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:513
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:512
msgid ""
"[.filename]#boot1# is the next step in the boot-loading sequence. It is the "
"first of three boot stages. Note that we have been dealing exclusively with "
@@ -1327,7 +1327,7 @@ msgstr ""
"он фактически загружает [.filename]#boot1# и передаёт ему управление."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:518
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:517
msgid ""
"The main task of [.filename]#boot1# is to load the next boot stage. This "
"next stage is somewhat more complex. It is composed of a server called the "
@@ -1342,7 +1342,7 @@ msgstr ""
"сервера BTX."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:520
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:519
msgid ""
"Let us now look in detail at what exactly is done by [.filename]#boot1#, "
"starting like we did for [.filename]#boot0#, at its entry point:"
@@ -1351,7 +1351,7 @@ msgstr ""
"начиная, как мы это делали для [.filename]#boot0#, с точки входа:"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:525
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:524
#, no-wrap
msgid ""
"start:\n"
@@ -1361,13 +1361,13 @@ msgstr ""
"\tjmp main\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:527
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:526
#, no-wrap
msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-entry]]"
msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-entry]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:529
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:528
msgid ""
"The entry point at `start` simply jumps past a special data area to the "
"label `main`, which in turn looks like this:"
@@ -1376,7 +1376,7 @@ msgstr ""
"метке `main`, которая, в свою очередь, выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:544
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:543
#, no-wrap
msgid ""
"main:\n"
@@ -1406,13 +1406,13 @@ msgstr ""
" movsw\t\t\t# code\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:546
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:545
#, no-wrap
msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-main]]"
msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-main]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:551
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:550
msgid ""
"Just like [.filename]#boot0#, this code relocates [.filename]#boot1#, this "
"time to memory address `0x700`. However, unlike [.filename]#boot0#, it does "
@@ -1427,7 +1427,7 @@ msgstr ""
"перемещения будет рассмотрена далее."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:556
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:555
msgid ""
"Next comes a loop that looks for the FreeBSD slice. Although [."
"filename]#boot0# loaded [.filename]#boot1# from the FreeBSD slice, no "
@@ -1448,7 +1448,7 @@ msgstr ""
"Для этого он перечитывает MBR:"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:564
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:563
#, no-wrap
msgid ""
" mov $part4,%si\t\t# Partition\n"
@@ -1464,13 +1464,13 @@ msgstr ""
" callw nread\t\t# Read MBR\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:566
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:565
#, no-wrap
msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-find-freebsd]]"
msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-find-freebsd]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:574
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:573
msgid ""
"In the code above, register `%dl` maintains information about the boot "
"device. This is passed on by the BIOS and preserved by the MBR. Numbers "
@@ -1489,7 +1489,7 @@ msgstr ""
"Ниже приведены данные фальшивого раздела:"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:582
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:581
#, no-wrap
msgid ""
" part4:\n"
@@ -1505,13 +1505,13 @@ msgstr ""
"\t.byte 0x50, 0xc3, 0x00, 0x00\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:584
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:583
#, no-wrap
msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot2-make-fake-partition]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:589
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:588
msgid ""
"In particular, the LBA for this fake partition is hardcoded to zero. This "
"is used as an argument to the BIOS for reading absolute sector one from the "
@@ -1526,12 +1526,12 @@ msgstr ""
"абсолютному сектору один."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:591
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:590
msgid "Let us now proceed to take a look at `nread`:"
msgstr "Продолжим, рассмотрев `nread`:"
#. type: delimited block . 4
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:601
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:600
#, no-wrap
msgid ""
"nread:\n"
@@ -1551,13 +1551,13 @@ msgstr ""
" jnc return\t\t# If success, return\n"
#. type: Block title
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:603
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:602
#, no-wrap
msgid "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-nread]]"
msgstr "[.filename]#stand/i386/boot2/boot1.S# [[boot-boot1-nread]]"
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:612
+#: documentation/content/en/books/arch-handbook/boot/_index.adoc:611
msgid ""
"Recall that `%si` points to the fake partition. The word footnote:[In the "
"context of 16-bit real mode, a word is 2 bytes.] at offset `0x8` is copied "
@@ -1580,7 +1580,7 @@ msgstr ""
"использует `xread.1`. Этот механизм будет рассмотрен в следующем разделе."
#. type: Plain text
-#: documentation/content/en/books/arch-handbook/boot/_index.adoc:614
*** 12904 LINES SKIPPED ***