LINUX.ORG.RU

История изменений

Исправление Vsevolod-linuxoid, (текущая версия) :

  • Запускается BIOS, он «прошит» в материнскую плату, то есть хранится прямо на чипе памяти в ней.
  • BIOS грузит загрузчик из MBR. MBR — это маленькая область в начале диска, она занимает 512 байт. В ней хранится таблица разметки на ЖД и небольшой исполняемый код загрузчика, в твоем случае GRUB2. И он не зашифрован.
  • Этот небольшой фрагмент на самом деле не весь GRUB2. Он просто не лезет в эти жалкие байты! Именно поэтому первый раздел диска начинается с 1 мебибайта по умолчанию — так между MBR и первым разделом есть маленькое свободное пространство, где находится большая часть GRUB2. И это тоже не зашифровано никак. Эта часть GRUB2 грузится той частью, что BIOS загрузил из MBR.
  • Уже после загрузки GRUB2 в оперативную память он берет на себя управление, расшифровывает встроенным в него драйвером /dev/sda2 (именно он и запрашивает пароль на расшифровку, что ты вводишь), потом уже в расшифрованном /dev/sda2 с помощью драйвера ext4, что тоже находится в нём, ищет прописанное заранее ядро и initramfs, после чего загружает их в оперативную память.
  • Уже будучи загруженными в оперативную память ядро и initramfs монтируют корневой раздел (и иногда подключают swap), после чего отдают управление init. И да, для работы с шифрованием в initramfs есть собственный драйвер для расшифровки, ровно как и драйверы для работы с ФС.
  • Обычно в современных Linux init — это systemd, хотя и не всегда. Это процесс, который запускает всё остальное ПО в ОС, и монтирует все оставшиеся ФС.

И да, это значит, что можно в теории из-под Windows или из-под Linux переписать MBR таким образом, чтобы там был вирус, и ключ расшифровки для этого не нужен. И такой класс правда есть, называются MBR-lockerы. Но могу тебя утешить — самый жуткий (но очень редкий) класс вирусов встраивается прямо в BIOS или UEFI.

Да, а как при этом грузится Windows — ну в норме у неё загрузчик тоже на 2 части поделен, одна в MBR, а вторая на разделе с NTFS, в твоем случае /dev/sda1. GRUB2 просто берет на себя функции первой части и сам отдает управление второй.

Исправление Vsevolod-linuxoid, :

  • Запускается BIOS, он «прошит» в материнскую плату, то есть хранится прямо на чипе памяти в ней.
  • BIOS грузит загрузчик из MBR. MBR — это маленькая область в начале диска, она занимает 512 байт. В ней хранится таблица разметки на ЖД и небольшой исполняемый код загрузчика, в твоем случае GRUB2. И он не зашифрован.
  • Этот небольшой фрагмент на самом деле не весь GRUB2. Он просто не лезет в эти жалкие байты! Именно поэтому первый раздел диска начинается с 1 мебибайта по умолчанию — так между MBR и первым разделом есть маленькое свободное пространство, где находится большая часть GRUB2. И это тоже не зашифровано никак. Эта часть GRUB2 грузится той частью, что BIOS загрузил из MBR.
  • Уже после загрузки GRUB2 в оперативную память он берет на себя управление, расшифровывает встроенным в него драйвером /dev/sda2 (именно он и запрашивает пароль на расшифровку, что ты вводишь), потом уже в расшифрованном /dev/sda2 с помощью драйвера ext4, что тоже находится в нём, ищет прописанное заранее ядро и initramfs, после чего загружает их в оперативную память.
  • Уже будучи загруженными в оперативную память ядро и initramfs монтируют корневой раздел (и иногда подключают swap), после чего отдают управление init. И да, для работы с шифрованием в initramfs есть собственный драйвер для расшифровки, ровно как и драйверы для работы с ФС.
  • Обычно в современных Linux init — это systemd, хотя и не всегда. Это процесс, который запускает всё остальное ПО в ОС, и монтирует все оставшиеся ФС.

И да, это значит, что можно в теории из-под Windows или из-под Linux переписать MBR таким образом, чтобы там был вирус, и ключ расшифровки для этого не нужен. И такой класс правда есть, называются MBR-lockerы. Но могу тебя утешить — самый жуткий (но очень редкий) класс вирусов встраивается прямо в BIOS или UEFI.

Исправление Vsevolod-linuxoid, :

  • Запускается BIOS, он «прошит» в материнскую плату, то есть хранится прямо на чипе памяти в ней.
  • BIOS грузит загрузчик из MBR. MBR — это маленькая область в начале диска, она занимает 512 байт. В ней хранится таблица разметки на ЖД и небольшой исполняемый код загрузчика, в твоем случае GRUB2. И он не зашифрован.
  • Этот небольшой фрагмент на самом деле не весь GRUB2. Он просто не лезет в эти жалкие байты! Именно поэтому первый раздел диска начинается с 1 мебибайта по умолчанию — так между MBR и первым разделом есть маленькое свободное пространство, где находится большая часть GRUB2. И это тоже не зашифровано никак. Эта часть GRUB2 грузится той частью, что BIOS загрузил из MBR.
  • Уже после загрузки GRUB2 в оперативную память он берет на себя управление, расшифровывает встроенным в него драйвером /dev/sda2, потом уже в расшифрованном /dev/sda2 с помощью драйвера ext4, что тоже находится в нём, ищет прописанное заранее ядро и initramfs, после чего загружает их в оперативную память.
  • Уже будучи загруженными в оперативную память ядро и initramfs монтируют корневой раздел (и иногда подключают swap), после чего отдают управление init. И да, для работы с шифрованием в initramfs есть собственный драйвер для расшифровки, ровно как и драйверы для работы с ФС.
  • Обычно в современных Linux init — это systemd, хотя и не всегда. Это процесс, который запускает всё остальное ПО в ОС, и монтирует все оставшиеся ФС.

И да, это значит, что можно в теории из-под Windows или из-под Linux переписать MBR таким образом, чтобы там был вирус, и ключ расшифровки для этого не нужен. И такой класс правда есть, называются MBR-lockerы. Но могу тебя утешить — самый жуткий (но очень редкий) класс вирусов встраивается прямо в BIOS или UEFI.

Исправление Vsevolod-linuxoid, :

  • Запускается BIOS, он «прошит» в материнскую плату, то есть хранится прямо на чипе памяти в ней.
  • BIOS грузит загрузчик из MBR. MBR — это маленькая область в начале диска, она занимает 512 байт. В ней хранится таблица разметки на ЖД и небольшой исполняемый код загрузчика, в твоем случае GRUB2. И он не зашифрован.
  • Этот небольшой фрагмент на самом деле не весь GRUB2. Он просто не лезет в эти жалкие байты! Именно поэтому первый раздел диска начинается с 1 мебибайта по умолчанию — так между MBR и первым разделом есть маленькое свободное пространство, где находится большая часть GRUB2. И это тоже не зашифровано никак. Эта часть GRUB2 грузится той частью, что BIOS загрузил из MBR.
  • Уже после загрузки GRUB2 в оперативную память он берет на себя управление, расшифровывает встроенным в него драйвером /dev/sda2, потом уже в расшифрованном /dev/sda2 с помощью драйвера ext4, что тоже находится в нём, ищет прописанное заранее ядро и initramfs, после чего загружает их в оперативную память.
  • Уже будучи загруженными в оперативную память ядро и initramfs монтируют корневой раздел (и иногда подключают swap), после чего отдают управление init. И да, для работы с шифрованием в initramfs есть собственный драйвер для расшифровки, ровно как и драйверы для работы с ФС.
  • Обычно в современных Linux init — это systemd, хотя и не всегда. Это процесс, который запускает всё остальное ПО в ОС, и монтирует все оставшиеся ФС.

И да, это значит, что можно в теории из-под Windows или из-под Linux переписать MBR таким образом, чтобы там был вирус. И такой класс правда есть, называются MBR-lockerы. Но могу тебя утешить — самый жуткий (но очень редкий) класс вирусов встраивается прямо в BIOS или UEFI.

Исправление Vsevolod-linuxoid, :

  • Запускается BIOS, он «прошит» в материнскую плату, то есть хранится прямо на чипе памяти в ней.
  • BIOS грузит загрузчик из MBR. MBR — это маленькая область в начале диска, она занимает 512 байт. В ней хранится таблица разметки на ЖД и небольшой исполняемый код загрузчика, в твоем случае GRUB2. И он не зашифрован.
  • Этот небольшой фрагмент на самом деле не весь GRUB2. Он просто не лезет в эти жалкие байты! Именно поэтому первый раздел диска начинается с 1 мебибайта по умолчанию — так между MBR и первым разделом есть маленькое свободное пространство, где находится большая часть GRUB2. И это тоже не зашифровано никак. Эта часть GRUB2 грузится той частью, что BIOS загрузил из MBR.
  • Уже после загрузки GRUB2 в оперативную память он берет на себя управление, расшифровывает встроенным в него драйвером /dev/sda2, потом уже в расшифрованном /dev/sda2 с помощью драйвера ext4, что тоже находится в нём, ищет прописанное заранее ядро и initramfs, после чего загружает их в оперативную память.
  • Уже будучи загруженными в оперативную память ядро и initramfs монтируют корневой раздел (и иногда подключают swap), после чего отдают управление init. И да, для работы с шифрованием в initramfs есть собственный драйвер для расшифровки, ровно как и драйверы для работы с ФС.
  • Обычно в современных Linux init — это systemd, хотя и не всегда. Это процесс, который запускает всё остальное ПО в ОС, и монтирует все оставшиеся ФС.

Исходная версия Vsevolod-linuxoid, :

  • Запускается BIOS, он «прошит» в материнскую плату, то есть хранится прямо на чипе памяти в ней.
  • BIOS грузит загрузчик из MBR. MBR — это маленькая область в начале диска, она занимает 512 байт. В ней хранится таблица разметки на ЖД и небольшой исполняемый код загрузчика, в твоем случае GRUB2. И он не зашифрован.
  • Этот небольшой фрагмент на самом деле не весь GRUB2. Он просто не лезет в эти жалкие байты! Именно поэтому первый раздел диска начинается с 1 мебибайта по умолчанию — так между MBR и первым разделом есть маленькое свободное пространство, где находится большая часть GRUB2. И это тоже не зашифровано никак. Эта часть GRUB2 грузится той частью, что BIOS загрузил из MBR.
  • Уже после загрузки GRUB2 в оперативную память он берет на себя управление, расшифровывает встроенным в него драйвером /dev/sda2, потом уже в расшифрованном /dev/sda2 с помощью драйвера ext4, что тоже находится в нём, ищет прописанное заранее ядро и initramfs, после чего загружает их в оперативную память.
  • Уже будучи загруженными в оперативную память ядро и initramfs монтируют корневой раздел (и иногда подключают swap), после чего отдают управление init.
  • Обычно в современных Linux init — это systemd, хотя и не всегда. Это процесс, который запускает всё остальное ПО в ОС, и монтирует все оставшиеся ФС.