3

Я читал о процессе загрузки компьютера и обнаружил, что компьютер загружает код загрузчика из MBR . Итак, я хотел посмотреть на мою MBR следующим образом:

sudo dd if=/dev/sda of=mbr bs=512 count=1

Я открыл его с Vim и выполнил :%!xxd чтобы получить шестнадцатеричное представление файла. Этот файл выглядит так

Согласно тому, что я нашел в интернете, первые 446 байтов этой записи должны быть кодом загрузчика. Но в моем случае это только нули. Я не думаю, что загрузчик должен выглядеть так, но мой компьютер загружается абсолютно нормально. Почему это так? Почему в MBR только нули (кроме таблицы разделов, я полагаю), но мой компьютер загружается. У меня GRUB в качестве загрузчика.

1 ответ1

5

Вы, вероятно, прочитали устаревший текст. Современные компьютеры не загружаются через MBR. Точнее, мы находимся в переходном периоде, некоторые из них используют MBR, некоторые нет.

Одной из причин является тот факт, что MBR не позволяет разделить диск более 2 ТБ.

Да, вы указали место, где обычно находится MBR, но там нет кода, и таблица разделов содержит только одну запись, которая охватывает весь диск. Это так называемая Protective MBR, ваш диск имеет макет таблицы разделов GUID (то есть использует другую систему разделов), и ваш компьютер, вероятно, загружается через UEFI. Вероятно, у вас есть небольшой раздел с файловой системой FAT32, который называется EFI System Partition (ESP) и содержит файл EFI/BOOT/bootx64.efi - этот файл является загрузчиком (grub или некоторый загрузчик-заглушка, который немедленно выполняет grub), который выполняется прошивкой. Или вы могли бы установить прошивку для загрузки произвольного исполняемого файла EFI, но она все равно должна присутствовать в ESP.

Вы можете подтвердить, что загрузили UEFI в linux, если ваша загруженная система имеет непустой каталог /sys /firmare /efi.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .