Где находится GRUB stage 2 на моей загрузочной компакт-флеш-памяти, согласно основной загрузочной записи?

declare -F | awk '{print $NF}' | sort | egrep -v "^_" 
0
20.09.2021, 17:50
1 ответ

Поскольку в выходных данных упоминаются stage1и stage2, мы говорим о GRUB Legacy (, т.е. GRUB версии 0.97 или старше ). Вместо этого современные версии будут иметь «основной образ» и набор модулей.

stage2 addressи stage2 segmentне относятся к секторам диска; они относятся к адресу памяти , куда будет загружаться этап 2. Адрес находится в формате смещения сегмента :, используемом процессорами x86 в режиме совместимости 8086 -(«реальном режиме» ).

Поскольку это GRUB Legacy, номер следующего блока диска, который GRUB будет считывать, был встроен в код MBR, когда GRUB был установлен на ваш компактный флэш-память, как одно 32-битное -значение. MBR — это блок #0, и следующий блок, который GRUB будет читать, обычно будет блоком #1 :, он будет содержать список блоков GRUB, который определяет последовательность (с )дисковых блоков для чтения для следующего сцена. Следующим этапом может быть либо «стадия 1.5» (, драйвер файловой системы только для чтения -), либо полный «этап 2».

Если используется stage1.5, он, в свою очередь, будет иметь встроенный (идентификатор диска, раздела )+ путь, который идентифицирует расположение stage2 как обычного файла в файловой системе на конкретном разделе. Дисковая часть может быть опущена, и в этом случае диск считается тем же, что содержит компонент stage1.5. Обычно путь будет /grub/stage2, если используется отдельный раздел /boot, или /boot/grub/stage2, если /boot— это просто обычный каталог в корневой файловой системе.

Информации, отображаемой с помощью file, недостаточно, чтобы определить, где находится следующий этап. :Для его поиска вам потребуется содержимое блока черного списка.

1
21.09.2021, 02:36

Теги

Похожие вопросы