Предполагая, что размер сектора вашего диска составляет 512 байт, я думаю, это может помочь (вам понадобится sfdisk)
#!/bin/bash
DISK=/dev/sdb
OFFSET=2048
SIZE=$(( ($(sfdisk -s $DISK) * 2 - $OFFSET) / 2 ))
POS_MAX_P1=$(( $SIZE + $OFFSET - 1 ))
POS_MIN_P2=$(( $POS_MAX_P1 + 1 ))
PART_TYPE=83 // Here you can change the type of the partitions
LAYOUT="2048,$POS_MAX_P1,$PART_TYPE\n$POS_MIN_P2,,$PART_TYPE"
echo -e $LAYOUT | sfdisk $DISK
partprobe $DISK
echo -e "/dev/sdb1\t/data01\tauto\t0 1\n/dev/sdb2\t/data02\tauto\t0 1\n" >> /etc/fstab
Стандартное место (по крайней мере для Debian )для вашего раздела EFI — /boot/efi
. Это может быть и должно быть разделом FAT32.
В стандартной компоновке Debian Grub EFI grub состоит из трех частей:
/boot/efi
/boot/grub
/etc/grub.d
Grub не устанавливается полностью на EFI, значительная его часть находится в другом месте. Таким образом, для загрузки вам все еще нужен /boot/grub
. Он устанавливает только заглушку и конфигурацию заглушки, чтобы указать на остальные. Типичная конфигурация заглушки EFI выглядит следующим образом(/boot/efi/EFI/debian/grub.cfg
):
search.fs_uuid 2c675303-d207-4573-98f5-59a33c9890ab root hd0,gpt3
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
Обратите внимание, что эта конфигурация только сообщает grub, где найти настоящую конфигурацию (/boot/grub/grub.cfg
, расположенную на жестком диске 0, раздел 3 ).
Также обратите внимание, что хотя конфигурация в основном хранится в /boot/grub, вы никогда не редактируете ее вручную, вы просите скрипт grub отредактировать ее за вас. Так вот чтобы перенастроить grub (даже просто добавить новое ядро )тоже нужно /etc/grub.d
. Обратите внимание, что сценарии в этом каталоге могут зависеть от других библиотек, установленных Debian.
Поэтому вы должны сохранить /boot/grub по двум причинам:
Если вы действительно хотите перейти /boot/grub
на EFI... (не -стандарт)
На самом деле вас ничего не останавливает. Просто убедитесь, что скрипты в /etc/grub.d
знают, где его найти (, например, :оставить символическую ссылку)
Я делал это раньше по эзотерическим причинам. Я запускаю систему с разделом EFI, содержащим два каталога EFI
и grub
. Я установил это с помощью:
# Move /boot/grub onto my EFI partition
mv /boot/grub /boot/efi
# Leave a symbolic link from the old location to the new location
ln -s /boot/efi/grub /boot/grub
# Update the stub config /boot/efi/EFI/debian/grub.cfg to point to the new location
grub-install
# For safety update the contents of /boot/efi/grub aka /boot/grub
update-grub
Мне на самом деле нравится эта установка, потому что она защищает от ошибки, которую я видел здесь несколько раз, когда люди удаляют ОС и уничтожают grub и предотвращают загрузку любой другой ОС.
Причины разделения
Разделение имеет ряд целей. Что касается разделения частей вашего загрузчика, это полезно для управления различными возможностями различных частей вашей системы.
Ваш BIOS должен иметь возможность загружать и запускать grub, поэтому EFI должна находиться в файловой системе на основе FAT.
Ваш главный раздел может находиться на чем-то, что grub не может прочитать, но grub требуется доступ к вашему ядру, Initramfs и его собственной конфигурации, поэтому /boot и /boot/grub должны находиться на разделе, доступном для чтения grub. В старые времена grub legacy вам также нужно было убедиться, что этот раздел был достаточно маленьким и находился рядом с началом диска на очень маленьких дисках.
Linux может читать все, но вы можете захотеть, чтобы Linux работал на LVM или зашифрованном томе.