История изменений
Исправление 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, хотя и не всегда. Это процесс, который запускает всё остальное ПО в ОС, и монтирует все оставшиеся ФС.