EFI sistemos skaidinio (ESP) konfigūracija

Paskutinį kartą keistas: 2023.11.22

Iš šio straipsnio sužinosite apie EFI sistemos skaidinį

Įvadas

EFI sistemos skaidinys (arba ESP) yra OS nepriklausomas skaidinys, suformatuotas FAT12, FAT16 arba FAT32, kuris veikia kaip saugykla EFI pakrovėjams ir tvarkytojams, kurie bus paleisti UEFI firmwaroje, ir jis yra privalomas UEFI paleidimui.

EFI sistemos skaidinio sudarymas

Linux (naudojant GRUB)

Pirmiausia turite pakeisti skaidinių lentelę. Įsitikinkite, kad kiekviename diske yra bent 200 MB neužimtos vietos. Norėdami sukurti ESP, turite nurodyti skaidinį skaidinių lentelėje. Tai galite padaryti naudodami gdisk.

$ gdisk /dev/nvme0n1
GPT fdisk (gdisk) versija 1.0.3

Skaidinių lentelės nuskaitymas:
  MBR: apsauginė
  BSD: nėra
  APM: nėra
  GPT: yra

Rasta galiojanti GPT su apsaugine MBR; naudojama GPT.

Komanda (? pagalba):

Pasirinktame diske yra GPT skaidinių lentelė. Įveskite p, kad spausdintumėte dabartinę skaidinių lentelę.

Komanda (? pagalba): p
Diskas /dev/nvme0n1: 1000215216 sektoriai, 476.9 GiB
Modelis: SAMSUNG MZVLB512HAJQ-00000
Sektorių dydis (loginis/fizinis): 512/512 baitai
Disko identifikatorius (GUID): 81C8DFEB-06A0-4164-84BC-B5F5D696B519
Skaidinių lentelė laiko iki 128 įrašų
Pagrindinė skaidinių lentelė prasideda nuo 2 sektoriaus ir baigiasi 33 sektoriuje
Pirmasis naudojamas sektorius yra 34, paskutinis naudojamas sektorius yra 1000215182
Skaidiniai bus lygiuojami pagal 2048-sektorių ribas
Viso laisvo vietos yra 411614 sektorių (201.0 MiB)

Numeris  Pradžios (sektorius) Pabaiga (sektorius) Dydžio  Kodas Pavadinimas
   1            2048       999805582   476.7 GiB   8300  Linux failų sistema

Komanda (? pagalba):

Šiuo atveju yra tik vienas skaidinys, kurio dydis yra 476.7 GiB, kur įdiegta OS. Taip pat yra viso laisvo vietos 201.0 MiB, kuri yra neužimta. Šias 200 MiB naudosite ESP. Norėdami sukurti naują skaidinį, įveskite n.

Komanda (? pagalba): n
Skaidinio numeris (2-128, numatytoji 2):
Pirmasis sektorius (34-1000215182, numatytasis = 999806976) arba {+-}dydį{KMGTP}:
Paskutinis sektorius (999806976-1000215182, numatytasis = 1000215182) arba {+-}dydį{KMGTP}:
Dabartinis tipas yra „Linux failų sistema“
Hex kodas arba GUID (L, kad pamatytumėte kodą, Enter = 8300): EF00
Skaidinio tipas pakeistas į „EFI System“

Pastaba: ESP neturi būti skaidinių lentelės pradžioje. Jums tiesiog reikia nustatyti Hex kodą kaip EF00 ir naudoti mažiausią dydį 200MiB.

Kai baigsite, galite įrašyti skaidinių lentelę naudodami w.

Komanda (? pagalba): w

Baigti galutiniai patikrinimai. Apie tai, kad bus įrašyti GPT duomenys. TAI PERRAŠYS EGZISTUOJANČIUS
SKAIDINIUS!!

Ar norite tęsti? (T/N): y
GERAI; nauja GUID skaidinių lentelė (GPT) rašoma į /dev/nvme0n1.
Operacija baigta sėkmingai.

Jei norite užtikrinti, kad skaidinių lentelė būtų perkrauta, paleiskite partprobe.

lsblk komandos išvestis turėtų atrodyti panašiai į šią:

$ lsblk
VARD

AS        MAJ:MIN RM   DYDIS RO TIPAS PRIJUNGIMO VIETA
loop0         7:0    0     4G  1 kilpa
nvme0n1     259:0    0   477G  0 disk
├─nvme0n1p1 259:4    0   512M  0 part
├─nvme0n1p2 259:5    0 476.2G  0 part
└─nvme0n1p3 259:6    0   256M  0 part

PASTABA

Jeigu serveryje yra daugiau nei vienas diskas, tuomet rekomenduojama sukurti ESP naudojant RAID 1. Svarbu šiuo atveju yra nustatyti --metadata=1.0 MD. Tai įrašys MD metaduomenis į skaidinio pabaigą, o ne į skaidinio pradžią. Šiuo atveju tai būtina, kad UEFI firmwara galėtų aptikti ESP.

First, check the state of MD with cat /proc/mdstat. The output should look similar to this:

Personalities : [raid1] [raid10] [linear] [multipath] [raid0] [raid6] [raid5] [raid4]
md0 : active raid1 nvme0n1p1[1] nvme1n1p1[0]
      523712 blocks super 1.2 [2/2] [UU]

md1 : active raid1 nvme0n1p2[1] nvme1n1p2[0]
      1874716672 blocks super 1.2 [2/2] [UU]
      bitmap: 1/14 pages [4KB], 65536KB chunk

In this case, the next available “md-device” would be md2. You will use this for the ESP. Create the partition on every device as already described above.

Create the MD device like this. (You need to adapt the amount of raid-devices and the logical devices):

mdadm --create --verbose --level=1 --raid-devices=2 --metadata=1.0 /dev/md/2 /dev/nvme0n1p3 /dev/nvme1n1p3

After creating the MD device, generate the mdadm.conf.

mdadm --detail --scan /dev/md/2 >> /etc/mdadm/mdadm.conf

Format the freshly created partition with FAT32:

$ mkfs.vfat -F 32 /dev/nvme0n1p3 # or the md device
mkfs.fat 4.1 (2017-01-24)

Create the directory /boot/efi with mkdir /boot/efi.

Mount the ESP partition to /boot/efi with mount.

Get the UUID of the partition with blkid -o value -s UUID /dev/your_esp_partition_or_md_device and create a new fstab entry:

UUID=the_uuid_of_the_esp /boot/efi vfat umask=0077 0 1

To install the EFI boot binaries, you need to first install the EFI-GRUB bootloader.

On Debian/Ubuntu, it is grub-efi-amd64-bin; on CentOS, it is grub2-efi-x64.

Now you can install the EFI-GRUB bootloader:

$ # Ubuntu/Debian
$ grub-install --target=x86_64-efi --efi-directory=/boot/efi --no-floppy --no-nvram --removable

$ # CentOS
$ grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

Windows

Since Windows Server 2012, Microsoft has provided a tool called mbr2gpt which automatically converts the partition table to GPT and also creates an ESP.

It is recommended you do this in a WinPE environment, but you can also do it in a running system.

Open an elevated command prompt (cmd) and run mbr2gpt /validate /allowFullOS. Note: /allowFullOS is only required when doing the conversion in the running system (no WinPE). The output should look similar to this:

C:\Windows\System32> mbr2gpt /validate /allowFullOS
MBR2GPT: Attempting to validate disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Validation completed successfully

Important: If the validation fails, then please abort here and check why it failed. If the disk is dynamic, then it is not possible to do this using this method.

If the validation succeeded, then continue with the conversion. You can do this with mbr2gpt /convert /allowFullOS. The output should look similar to this:

C:\Windows\System32> mbr2gpt /convert /allowFullOS
MBR2GPT will now attempt to convert the default book disk.
If conversion is successful the disk can only be booted in GPT mode.
These changes cannot be undone!

MBR2GPT: Attempting to convert disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
MBR2GPT: Trying to shrink the OS partition
MBR2GPT: Creating the EFI system partition
MBR2GPT: Installing the new boot files
MBR2GPT: Performing the layout conversion
MBR2GPT: Migrating default boot entry
MBR2GPT: Adding recovery boot entry
MBR2GPT: Fixing drive letter mapping
MBR2GPT: Conversion completed successfully
MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!

Now you can change the boot firmware to UEFI.

Was this article helpful?
Peržiūrų: 1057

BeeHosting 10-asis gimtadienis!
Iki 70% nuolaida visoms paslaugoms
+ nemokamas svetainės perkėlimas.

Beehosting.pro svetainė naudoja slapukus

Naudojame slapukus siekdami suasmeninti turinį ir skelbimus, teikti socialinės žiniasklaidos funkcijas ir analizuoti srautą. Taip pat dalijamės informacija apie tai, kaip naudojatės mūsų svetaine su mūsų socialinės žiniasklaidos, reklamos ir analizės partneriais, kurie gali ją sujungti su kita informacija, kurią jiems pateikėte arba kurią jie surinko naudodamiesi jų paslaugomis.

Menu