Когда я $cd /boot
вхожу в каталог /boot и затем $ls -l
, он показывает:
.........
drwx------ 2 root root 4096 Jan 1 1970 efi
.........
Здесь я просто скрываю все остальные файлы, отображаемые в каталоге.
Но когда я $ls -l efi
являюсь пользователем root, отображается:
всего 0
Когда я запускаю $df -h /boot/efi
, он показывает:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 511M 4.0K 511M 1% /boot/efi
Когда я запускаю $df -h | grep sda1
, он показывает:
/dev/sda1 511M 4.0K 511M 1% /boot/efi
Когда я запускаю $fdisk -l /dev/sda
, он показывает:
Disk /dev/sda: 119.25 GiB, 128035676160 bytes, 250069680 sectors
Disk model: GIM128
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x122b13d1
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1050623 1048576 512M b W95 FAT32
/dev/sda2 1052670 250068991 249016322 118.8G 5 Extended
/dev/sda5 1052672 250068991 249016320 118.8G 83 Linux
Интересно, почему sda1 использует тип 'W95 FAT32' и для чего используется efi. Я купил машину Linux (промышленный компьютер) у поставщика, который сказал мне, что они просто установили систему с настройками по умолчанию. ОС — Ubuntu 20.04.4 LTS.
решение1
Любая система на базе UEFI (UEFI — это новая прошивка, которая заменила BIOS 1980-х годов) требует для любой установки в режиме UEFI небольшой раздел в формате FAT32, где установлен загрузчик, или более одного, если используется двойная или мультизагрузка. Дополнительные пояснения в конце.
Итак, то, что вы видите, является нормальным и ожидаемым для любого компьютера последнего десятилетия, независимо от предустановленной ОС.
BIOS и UEFI — это прошивки.
Первый использовался для ПК и совместимых/клонов с первого ПК в 1981 году до примерно 2008/9. Затем BIOS был заменен более новой и гораздо более функциональной прошивкой под названием UEFI. Затем с 2012 года и Windows 8 Microsoft практически «заставила» всех производителей предустанавливать Windows в режиме UEFI и GPT.
Вам не нужно и не следует "просматривать" /boot/efi (который, кстати, является просто точкой монтирования для системного раздела EFI), если вы не знаете, что делаете. Вместо этого вам на самом деле нужно понять, что такое UEFI, как он загружается и какие у него требования, особенно при двойной загрузке.
решение2
Позвольте мне подвести итог и завершить вопрос. После прочтения ответов и комментариев я гуглю соответствующие термины и считаю, что вопрос можно завершить следующим образом. Вhttps://en.wikipedia.org/wiki/EFI_system_partition, там говорится:
UEFI обеспечивает обратную совместимость с устаревшими системами, резервируя первый блок (сектор) раздела для кода совместимости, фактически создавая устаревший загрузочный сектор. В устаревших системах на базе BIOS первый сектор раздела загружается в память, и выполнение передается этому коду. Прошивка UEFI не выполняет код в MBR, за исключением загрузки в устаревшем режиме BIOS через модуль поддержки совместимости (CSM).
Спецификация UEFI требует полной поддержки таблиц разделов MBR.1Однако некоторые реализации UEFI немедленно переключаются на загрузку CSM на основе BIOS при обнаружении определенных типов таблиц разделов на загрузочном диске, что фактически предотвращает выполнение загрузки UEFI с системных разделов EFI, содержащихся на дисках с разделами MBR.[5]
Затем, чтобы проверить, использует ли моя машина Linux GPT или MPR, я запускаю $ sudo parted -l
, и он показывает:
Model: ATA GIM128 (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 538MB 537MB primary fat32 boot
2 539MB 128GB 127GB extended
5 539MB 128GB 127GB logical ext4
Поле «Таблица разделов» показывает, что я использую таблицу разделов MBR msdos (которая до сих пор широко используется для Linux и Windows).
Итак, в заключение, в моем случае, хотя загрузочный раздел (основной раздел) смонтирован в /boot/efi, он фактически использует загрузчик на базе BIOS.