Как должен выглядеть MBR?

Как должен выглядеть MBR?

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

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

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

введите описание изображения здесь

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

решение1

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

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

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

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

Связанный контент