Linux не волнует, где находится /boot
. На самом деле, сам Linux вообще не обращается к /boot
, кроме как при обновлении его содержимого. Только загрузчик обращается к /boot
.
В большинстве систем нет необходимости размещать /boot
на отдельном разделе. Есть и отрицательные стороны выделения /boot
: это сложнее, используется запись в таблице разделов, может закончиться место... Единственная причина для выделения /boot
- это необходимость сделать систему загрузочной.
На старых ПК часто требовалось иметь небольшой раздел /boot
в начале диска. Это было связано с ограничениями BIOS. BIOS - это системное программное обеспечение, которое находится во флэш-памяти компьютера и загружает операционную систему с жесткого диска. Старые поколения BIOS, как правило, были неспособны считывать данные со всего диска. Последние несколько поколений BIOS до UEFI и UEFI не имеют таких ограничений, поэтому в наши дни о них можно в основном забыть, но вы все еще найдете учебники, которые относятся к эпохе ограниченного BIOS (а также людей, которых учили создавать отдельный раздел /boot
по этой причине и которые не знают, что это уже не актуально).
Еще одна причина иметь отдельный /boot
раздел - если ваш корневой раздел использует механизм, который не поддерживается загрузчиком. По большей части, как и ограничения BIOS, это уже устаревшая проблема: Grub (стандартный загрузчик ПК) поддерживает большинство файловых систем и типов разделов, которые поддерживает Linux.
В системах UEFI можно поместить образ ядра в раздел EFI. Тогда у вас есть отдельный загрузочный раздел, но это не загрузочный раздел для Linux, а общесистемный загрузочный раздел.
Основная причина иметь отдельный /boot
раздел в наши дни - это если вы шифруете системный раздел. Код, который знает, как выполнить расшифровку, находится в ядре (или в initrd/initramfs), поэтому ядро (и initrd/initramfs) должно находиться в незашифрованном хранилище. Даже если загрузчик поддерживает механизм шифрования, вам придется вводить пароль дважды, один раз для загрузчика и один для самой Linux (или же потребуется механизм передачи пароля, что довольно сложно сделать, не раскрывая пароль шире, чем нужно).
Обратите внимание, что этот ответ относится к компьютерам PC. Компьютеры других типов загружаются по-другому и могут нуждаться или не нуждаться в том, чтобы ядро находилось в специальном месте.
while read date a b filename; do
zip -g ../$date.zip "$filename"
done <<< $(stat -c "%y %n" *)