GNU/Linux >> Belajar Linux >  >> Linux

Pindahkan Linux Anda dari BIOS lama ke UEFI dengan waktu henti yang minimal

Saya tidak tahu tentang Anda tetapi saya tidak suka menginstal ulang sistem operasi saya. Saya merasa membuang-buang waktu saya untuk sesuatu yang seharusnya diperbarui di tempat. Beberapa orang, yang sering menggunakan platform lain, lebih memilih penghapusan dan penginstalan ulang setahun sekali untuk mendapatkan kembali kecepatan asli sistem mereka. Saya hanya tidak berlangganan sudut pandang ini. Ada banyak cara untuk memelihara sistem dan saya biasanya lebih memilih beberapa debugging investigasi daripada menghapus dan berharap yang terbaik.

Karena alasan ini, sistem seperti laptop kerja saya mungkin telah dimulai sejak lama (Fedora 22 pada laptop generasi ke-4 berbasis i7) dan sekarang telah melihat tiga penyegaran perangkat keras, beberapa peningkatan solid state drive (SSD), dan banyak lagi. Pembaruan Fedora (saat ini saya menggunakan Fedora 32).

Ketika saya berpindah sistem, saya suka membawa sistem operasi saya dan mengharapkannya untuk boot pada mesin baru. Tapi ternyata itu adalah bencana yang menunggu untuk terjadi karena perbedaan perangkat keras antara sistem baru dan lama. Masalahnya adalah itu tidak sesederhana menarik hard drive Anda dari sistem lama dan memasukkannya ke yang baru dan mengharapkan semuanya berfungsi seperti yang diinginkan. Artikel ini menjelaskan cara memindahkan penginstalan Linux dari satu perangkat keras, dalam hal ini, laptop lama, ke yang lebih baru.

Peringatan besar atau sepuluh tahun peringatan lanjutan yang diberikan UEFI kepada kami

Ketika Unified Extensible Firmware Interface (UEFI) diperkenalkan pada awal 2000-an, itu dirancang untuk menggantikan BIOS PC (Basic Input/Output System) dan memberi pengguna x86 sesuatu yang lebih canggih secara teknologi. Orang-orang dengan sistem SPARC atau PowerPC Mac dengan OpenBoot PROM (OBP)/OpenFirmware telah mengalami masa depan bertahun-tahun sebelumnya. UEFI ingin menghapus BIOS sehingga pendahulunya tidak lagi mempermalukan PC.

Agar teknologi UEFI dapat diadopsi secara luas, produsen memilih untuk menjadikannya opsional/dapat dipilih dari firmware mesin:Apakah Anda ingin mem-boot dalam mode Legacy BIOS atau UEFI? Selama sepuluh tahun berikutnya, UEFI perlahan-lahan mendorong BIOS lama dan menjadi mode default untuk mesin yang dikirimkan oleh produsen.

Agar adil, UEFI memberikan banyak keuntungan, termasuk ini:

  • Ini membuat multi-boot lebih andal dan fleksibel.
  • Ini memberi kita (pengguna Linux) kemampuan untuk menjalankan fwupdmgr untuk mem-flash firmware di mesin kami dari dalam Linux. Ini mencakup hampir semua firmware, bahkan kartu tambahan.

Pada sistem pribadi saya, saya mengabaikan masalah UEFI dan terus mengaktifkan Legacy BIOS pada mesin baru yang akan saya peroleh sehingga saya dapat mem-boot OS Linux saya tanpa berpikir dua kali.

Kemudian, tahun 2020 datang, dan laptop baru muncul dengan UEFI saja. Tidak ada booting lama dalam bentuk apa pun (kecuali pada stik USB eksternal). Beberapa bulan kemudian, workstation berbasis Xeon portabel baru masuk ke rumah kami, dan sekali lagi monster itu hanya akan melakukan UEFI.

Saya terjebak dengan master boot record (MBR) yang diformat SSD (Legacy BIOS) dan mesin yang hanya bisa boot dalam mode UEFI. Sebagai seorang pengotak dan pengguna Linux, saya mulai meneliti masalah ini, dan solusinya ternyata tidak terlalu sulit dan hanya membutuhkan sekitar lima menit setelah Anda menentukan apa yang harus dilakukan.

Peringatan dan beberapa peringatan

Dalam menemukan "prosedur yang tepat" untuk sistem fisik saya, saya merusak mesin virtual uji yang saya gunakan beberapa kali. Saya juga pernah merusak salah satu sistem laptop saya, tetapi saya memiliki gambar penuh SSD saya berkat ClonZilla. Berikut beberapa saran:

  • Buat cadangan tingkat gambar penuh dari sistem Anda sebelum melanjutkan. Anda akan menyentuh disk Anda, dan alat yang digunakan untuk memudahkan menghapus sesuatu tanpa konfirmasi. Anda bisa menggunakan CloneZilla, AOMEI Partition Assistant, dd , atau bahkan Norton Ghost untuk melakukan itu. Ada lusinan alat yang berfungsi dengan baik.
  • Prosedur ini berfungsi bahkan jika Anda memiliki mesin dual-boot. Ia bekerja dengan Logical Volume Manager (LVM), partisi biasa, dan juga dengan Linux Unified Key Setup (LUKS) atau kombinasinya. Anda hanya perlu berhati-hati dan menyesuaikan petunjuk dengan konfigurasi Anda.
  • Melakukan prosedur ini mengharuskan Anda menempatkan SSD kesayangan Anda ke dalam mesin yang dapat melakukan kedua mode boot:BIOS lama dan UEFI. Jika Anda mencoba prosedur ini pada perangkat khusus BIOS, Anda harus menunggu hingga Anda memindahkan HDD atau SSD ke mesin UEFI untuk mengetahui bahwa itu berhasil.
  • Anda tidak perlu memindahkan SSD secara fisik ke komputer lain. Anda cukup mengkloning SSD berformat MBR lama ke SSD baru di komputer lain dan bekerja dari sana. Anda akan mengubah struktur partisi pada disk Anda. Apakah itu perangkat sementara atau SSD baru di laptop baru sepenuhnya terserah Anda.
  • Jika Anda tidak memiliki ruang disk yang dapat Anda kosongkan dengan mudah di SSD, masih ada cara untuk mengoperasikannya. Beberapa ratus MB terakhir dari LVM PV (Volume Fisik) Anda dapat dihapus dari PE-nya dan LVM PV diubah ukurannya untuk memberi ruang bagi partisi EFI. Saya tidak akan menjelaskan ini di sini, tetapi Anda akan menemukan beberapa referensi di akhir artikel. Opsi lainnya adalah mengambil kesempatan untuk membeli SSD yang sedikit lebih besar dan memulihkan sistem Linux Anda ke dalamnya sehingga Anda memiliki ruang kosong.
  • Lakukan proses secara perlahan dan jangan ragu untuk mengajukan pertanyaan secara online jika Anda memerlukan bantuan. Ada lusinan grup pengguna Linux di luar sana yang akan membantu Anda jika Anda buntu.
  • Artikel ini ditulis pada sistem laptop yang baru diinstal ulang dengan Fedora 33 tetapi berlaku untuk banyak konfigurasi yang berbeda.
  • Jangan coba ini jika Anda menggunakan B-tree file system (BTRFS) dengan Fedora 33. Saya tidak dapat membuatnya bekerja setelah mengonversi disk saya ke GUID Partition Table (GPT) ketika saya menggunakan BTRFS.

Apakah saya menggunakan BIOS Lama?

Ada dua indikator bagus dari mesin yang di-boot di BIOS lama.

1) Disk boot Anda memiliki partisi DOS/MBR:

[raistlin@localhost ~]$ sudo su -

[root@localhost ~]# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       119G  7.1G  111G   6% /

[root@localhost ~]# file -s /dev/sda
/dev/sda: DOS/MBR boot sector

2) Kernel Linux Anda tidak memiliki variabel EFI:

[root@localhost ~]# ls /sys/firmware/efi
ls: cannot access '/sys/firmware/efi': No such file or directory

Pada mesin mode UEFI, di atas menghasilkan output yang mirip dengan ini:

[root@localhost ~]# ls /sys/firmware/efi
config_table  efivars  esrt  [...]  runtime  runtime-map  systab  vars

Memeriksa boot disk dan memutuskan strategi

Dari penjelasan di atas, saya menemukan bahwa disk boot saya adalah /dev/sda . Lihat lebih dekat dengan parted :

[root@localhost ~]# parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type' help' to view a list of commands.
(parted) p
Model: ATA LITEON L8H-128V2 (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 1075MB 1074MB primary ext4 boot
2 1075MB 128GB 127GB primary lvm

Dari penjelasan di atas, Anda melihat bahwa hanya ada dua partisi. Partisi pertama adalah partisi kecil 1GiB, diformat sebagai ext4 dan itu memegang kernel. Partisi kedua adalah binatang yang berbeda dan menggunakan LVM. Meskipun saya senang dengan LVM di sistem Linux saya, saya tidak akan menyentuhnya untuk saat ini.

Akibatnya, saya akan menggunakan ruang yang ditempati oleh partisi pertama untuk memberi ruang bagi GPT dan UEFI.

Harap dicatat bahwa jika Anda menggunakan LUKS atau LVM, prosedur konversi ke UEFI mungkin juga lebih aman jika Anda menggunakan partisi boot dan ruangnya.

Jika Anda mengambil BTRFS (default di Fedora 33), ini mungkin tidak bekerja untuk Anda, dan upaya awal saya gagal untuk boot setelah mengonversi disk ke GPT.

Jika partisi boot Anda lebih kecil dari 1G dan semua ruang ditempati oleh partisi, mungkin tidak aman untuk membuat /boot lebih kecil dari 512-600Mib. Anda mungkin tidak memiliki cukup ruang untuk melanjutkan, dan mungkin sekarang saat yang tepat untuk mendapatkan SSD yang sedikit lebih besar untuk mengkloning sistem Anda.

Nama saya /dev/sda1

Partisi boot pada mesin ini berukuran 1Gib dan memiliki cukup ruang kosong untuk kita lanjutkan:

[root@localhost ~]# df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       976M  238M  672M  21% /boot

Pertama, ubah ukuran sistem file menjadi 512M:

[root@localhost ~]# resize2fs /dev/sda1 512M
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/sda1 is mounted on /boot; on-line resizing required resize2fs: On-line shrinking not supported

Umount terlebih dahulu (Anda bisa, karena Linux hanya memasang /boot untuk kenyamanan):

[root@localhost ~]# umount /boot

[root@localhost ~]# resize2fs /dev/sda1 512M
resize2fs 1.45.6 (20-Mar-2020)
Please run 'e2fsck -f /dev/sda1' first.

[root@localhost ~]# e2fsck -f /dev/sda1
e2fsck 1.45.6 (20-Mar-2020)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda1: 414/65536 files (0.7% non-contiguous), 63590/262144 blocks

[root@localhost ~]# resize2fs /dev/sda1 512M
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/sda1 to 131072 (4k) blocks.
The filesystem on /dev/sda1 is now 131072 (4k) blocks long.

[root@localhost ~]# mount /boot

[root@localhost ~]# df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       472M  200M  237M  46% /boot

ext4 filesystem diubah ukurannya, tetapi partisinya masih berukuran 1Gib. Anda akan mengubah ukurannya selanjutnya. Anda akan mengecilkan partisi ke ukuran sedikit lebih dari /boot sistem file agar aman dari kesalahan pembulatan. Kecilkan menjadi 700 Mib, yang akan menyisakan sekitar 300 Mib gratis. Karena sistem file di dalam partisi itu sekarang 512Mib, aman untuk mengecilkan partisi dari 1024Mib menjadi 700Mib.

[root@localhost ~]# fdisk  -l /dev/sda|grep sda1
/dev/sda1  *       2048   2099199   2097152     1G 83 Linux

[root@localhost ~]# parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart 1 700M
Warning: Shrinking a partition can cause data loss, are you sure you want to continue? Yes/No? yes
(parted) p
Model: ATA LITEON L8H-128V2 (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  700MB  699MB  primary  ext4         boot
 2      1075MB  128GB  127GB  primary  btrfs
(parted) quit
Information: You may need to update /etc/fstab.

[root@localhost ~]#

Selanjutnya, perluas sistem file kembali ke ukuran partisi penuh (700Mib):

[root@localhost ~]# partprobe

[root@localhost ~]# resize2fs /dev/sda1
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/sda1 to 170642 (4k) blocks.
The filesystem on /dev/sda1 is now 170642 (4k) blocks long.

Operasi pengubahan ukuran diakhiri dengan menumbuhkan ext4 filesystem dari 512Mib kembali ke ukuran partisi yang mendasarinya, yaitu 700Mib.

Saya juga bisa menggunakan Gparted untuk memantau kemajuan langkah-langkah sebelumnya. Berikut screenshot dari situasi awal:

Segera setelah Anda mengubah ukuran sistem file, peringatan akan muncul:

Setelah partisi boot itu sendiri diubah ukurannya menjadi 700M, tidak terisi baris muncul di Gparted:

Setelah sistem file diperpanjang kembali ke ukuran partisi, peringatan akan hilang:

Juga, seperti yang umum di Linux, saya bisa saja melakukan seluruh operasi dengan satu klik di bawah GParted, tapi itu tidak akan terlalu menyenangkan:

Mengonversi disk ke GPT

Dengan beberapa ruang kosong yang tersedia, Anda sekarang bebas mengonversi disk ke GPT. Pertama, Anda perlu menginstal beberapa alat :

[root@localhost ~]# yum install gdisk grub2-efi-x64-modules efibootmgr grub2-tools-efi -y Last metadata expiration check: 1:32:33 ago on Wed 27 Jan 2021 05:01:42 PM EST.
Package gdisk-1.0.6-1.fc33.x86_64 is already installed.
Package efibootmgr-16-9.fc33.x86_64 is already installed.
Package grub2-tools-efi-1:2.04-31.fc33.x86_64 is already installed.
Dependencies resolved.[...]

Gunakan gdisk untuk mengonversi tabel partisi ke GPT dan membuat partisi boot BIOS yang dibutuhkan GRUB. Partisi ini akan memiliki nomor 3 (partisi pertama yang tersedia) dan diukir dari sektor pertama disk (sektor 34 hingga 2047).

[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.6
Warning: The partition table header claims that the size of partition table entries is 12255407 bytes, but this program supports only 128-byte entries. Adjusting accordingly, but the partition table may be garbage.
Warning: Partition table header claims that the size of partition table entries is 0 bytes, but this program supports only 128-byte entries.
 
Adjusting accordingly, but the partition table may be garbage.
Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): p
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Model: LITEON L8H-128V2
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6681F0D6-F645-4F97-93A5-E7E5E3912C62
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 2048-sector boundaries
Total free space is 734681 sectors (358.7 MiB)
Number  Start (sector)
   1            2048
   2         2099200
End (sector)  Size       Code  Name
   1367187   666.6 MiB   8300  Linux filesystem
 250068991   118.2 GiB   8300  Linux filesystem
Command (? for help): n
Partition number (3-128, default 3): 3
First sector (34-250069646, default = 1368064) or {+-}size{KMGTP}: 34
Last sector (34-2047, default = 2047) or {+-}size{KMGTP}: [Press Enter to accept 2047] Current type is 8300 (Linux filesystem)
Hex code or GUID (L to sho codes, Enter = 8300): ef02
Changed type of partition to 'BIOS boot partition'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

Inilah tampilan disk sekarang:

[root@localhost ~]# partprobe

[root@localhost ~]# fdisk -l /dev/sda|grep sda
Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors
/dev/sda1     2048   1367187   1365140 666.6M Linux filesystem
/dev/sda2  2099200 250068991 247969792 118.2G Linux filesystem
/dev/sda3       34      2047      2014  1007K BIOS boot

Selanjutnya, instal ulang boot loader GRUB. Jika Anda menggunakan grub versi terbaru, daripada menggunakan grub2-install.... silakan gunakan dnf reinstall shim-* grub2-efi-* sebagai gantinya:

[root@localhost ~]# grub2-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

[root@localhost ~]#

Jika Anda hanya ingin mengonversi disk Anda dari MBR ke GPT, bagian itu sekarang sudah selesai. Pada titik ini, saya sarankan untuk me-reboot sistem Anda untuk memverifikasi bahwa mesin berbasis BIOS Anda dapat mem-boot disk GPT yang baru saja dikonversi.

Inilah tampilan disk sekarang:

Ini juga bisa dilihat dari shell:

[root@localhost ~]# fdisk  -l /dev/sda
Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors
Disk model: LITEON L8H-128V2
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: gpt
Disk identifier: 6681F0D6-F645-4F97-93A5-E7E5E3912C62
Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1367187   1365140 666.6M Linux filesystem
/dev/sda2  2099200 250068991 247969792 118.2G Linux LVM
/dev/sda3       34      2047      2014  1007K BIOS boot
Partition table entries are not in disk order.

Menambahkan Partisi Sistem EFI

Selanjutnya, gunakan ruang yang sebelumnya kosong untuk membuat partisi keempat:Partisi sistem EFI.

[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.6
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Model: LITEON L8H-128V2
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6681F0D6-F645-4F97-93A5-E7E5E3912C62
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 2-sector boundaries
Total free space is 732667 sectors (357.7 MiB)
Number  Start (sector)
End (sector)  Size       Code  Name
   1367187   666.6 MiB   8300  Linux filesystem
 250068991   118.2 GiB   8E00  Linux LVM
      2047   1007.0 KiB  EF02  BIOS boot partition
1 2 3
   2048
2099200
     34
Command (? for help): n
Partition number (4-128, default 4): [Press Enter to accept 4]
First sector (1367188-250069646, default = 1367188) or {+-}size{KMGTP}: [Press Enter to accept 1367188]
Last sector (1367188-2099199, default = 2099199) or {+-}size{KMGTP}: [Press Enter to accept 2099199]
Current type is 8300 (Linux filesystem)

Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI system partition'
Command (? for help): p
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Model: LITEON L8H-128V2
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6681F0D6-F645-4F97-93A5-E7E5E3912C62
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 2-sector boundaries
Total free space is 655 sectors (327.5 KiB)
Number  Start (sector)
End (sector)  Size
   1367187   666.6 MiB
 250068991   118.2 GiB
Code  Name
8300  Linux filesystem
8E00  Linux LVM
1 2 3 4
   2048
2099200
     34
1367188
2047 1007.0 KiB EF02 BIOS boot partition 2099199 357.4 MiB EF00 EFI system partition

Selanjutnya, tambahkan label ke partisi EFI untuk mereferensikannya nanti dengan lebih mudah. Ini juga dilakukan di gdisk :

Command (? for help): c
Partition number (1-4): 4
Enter name: EFI-system
Command (? for help): p
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Model: LITEON L8H-128V2
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6681F0D6-F645-4F97-93A5-E7E5E3912C62
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 2-sector boundaries
Total free space is 655 sectors (327.5 KiB)
Number  Start (sector)
End (sector)  Size
   1367187   666.6 MiB
 250068991   118.2 GiB
Code  Name
8300  Linux filesystem
8E00  Linux LVM
1 2 3 4
   2048
2099200
     34
1367188
   2047   1007.0 KiB  EF02  BIOS boot partition
2099199   357.4 MiB   EF00  EFI-system
 Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

Anda sekarang akan melihat partisi muncul di bawah /dev/disk/by-partlabel :

[root@localhost ~]# partprobe

[root@localhost ~]# ls -l /dev/disk/by-partlabel/
total 0
lrwxrwxrwx. 1 root root 10 Jan 27 21:57 'BIOS\x20boot\x20partition' -> ../../sda3 lrwxrwxrwx. 1 root root 10 Jan 27 21:57 EFI-system -> ../../sda4
lrwxrwxrwx. 1 root root 10 Jan 27 21:57 'Linux\x20filesystem' -> ../../sda1 lrwxrwxrwx. 1 root root 10 Jan 27 21:57 'Linux\x20LVM' -> ../../sda2

Partisi boot EFI harus diformat sebagai vfat :

[root@localhost ~]# mkfs -t vfat -v /dev/disk/by-partlabel/EFI-system
mkfs.fat 4.1 (2017-01-24)
/dev/disk/by-partlabel/EFI-system has 255 heads and 63 sectors per track,
hidden sectors 0x14dc94;
logical sector size is 512,
using 0xf8 media descriptor, with 732012 sectors;
drive number 0x80;
filesystem has 2 16-bit FATs and 16 sectors per cluster.
FAT size is 192 sectors, and provides 45723 clusters.
There are 16 reserved sectors.
Root directory contains 512 slots and uses 32 sectors.
Volume ID is 855d115e, no volume label.

Sekarang saatnya kita memasang partisi ini dan memindahkan data dari sub-direktori efi yang sebelumnya terletak di bawah /boot tetapi pertama-tama verifikasi apakah file yang tepat telah diinstal (namanya akan bervariasi tergantung pada distribusi Linux Anda). Inilah yang saya miliki di sistem Fedora 33 saya:

[root@localhost ~]# du /boot/efi
8       /boot/efi/System/Library/CoreServices
12      /boot/efi/System/Library
16      /boot/efi/System
2508    /boot/efi/EFI/fedora/fonts
17988   /boot/efi/EFI/fedora
2748    /boot/efi/EFI/BOOT
20740   /boot/efi/EFI
20764   /boot/efi
[root@localhost ~]# df -h /boot/efi
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       623M  237M  340M  42% /boot

[root@localhost ~]# find /boot/efi -name shim\*
/boot/efi/EFI/fedora/shimx64.efi
 
/boot/efi/EFI/fedora/shim.efi
/boot/efi/EFI/fedora/shimia32.efi
/boot/efi/EFI/fedora/shimx64-fedora.efi
/boot/efi/EFI/fedora/shimia32-fedora.efi

[root@localhost ~]# mount -t vfat /dev/disk/by-partlabel/EFI-system /mnt

[root@localhost ~]# mv  /boot/efi/* /mnt

[root@localhost ~]# umount /mnt

[root@localhost ~]# du /boot/efi
4 /boot/efi

Sekarang saatnya menambahkan partisi ini ke /etc/fstab dan mount itu:

[root@localhost ~]# echo ‘/dev/disk/by-partlabel/EFI-system /boot/efi vfat defaults 0 2’ >> /etc/fstab

[root@localhost ~]# mount /boot/efi

[root@localhost ~]#

Beberapa verifikasi dilakukan pada tahap ini. Partisi EFI harus dipasang dan menyimpan data yang Anda salin sebelumnya:

root@localhost ~]# df /boot/efi
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/sda4         365784 20832    344952   6% /boot/efi

[root@localhost ~]# du /boot/efi
2760    /boot/efi/EFI/BOOT
2512    /boot/efi/EFI/fedora/fonts
18024   /boot/efi/EFI/fedora
20792   /boot/efi/EFI
16      /boot/efi/System/Library/CoreServices
24      /boot/efi/System/Library
32      /boot/efi/System
20848   /boot/efi

Sekarang saatnya untuk menginstal ulang GRUB boot loader dan menjalankan booting UEFI. Seperti di atas, jika Anda grub versi baru, daripada menggunakan grub2-install.... gunakan dnf reinstall shim-* grub2-efi-* sebagai gantinya:

[root@localhost ~]# grub2-install --target=x86_64-efi /dev/sda
Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
grub2-install: error: efibootmgr failed to register the boot entry: No such file or directory.

[root@localhost ~]#

Tiga pesan kesalahan yang ditampilkan di atas adalah normal dan terkait dengan tidak adanya variabel firmware EFI. Ini terjadi pada saat ini karena Anda terakhir mem-boot PC dalam mode BIOS Lama. Setelah Anda berada dalam mode UEFI penuh, kesalahan ini akan hilang. Ambil napas dalam-dalam, reboot PC Anda dan bersiaplah untuk masuk ke firmware untuk mengubah mode boot.

[ Anda mungkin juga menyukai: Cara menyiapkan boot PXE untuk perangkat keras UEFI ]

Mematikan dan mengganti firmware dari Legacy BIOS ke UEFI.

Tangkapan berikut khusus untuk sistem tempat saya melakukan prosedur. Anda harus mencari petunjuk di manual sistem Anda untuk mengetahui cara beralih dari BIOS ke UEFI. Ini contohnya di laptop saya:

Simpan pengaturan dan keluar dari firmware. PC Anda akan diatur ulang, dan akan mencoba untuk boot dari disk Anda dalam mode UEFI. Anda mungkin harus memilih disk secara manual saat pertama kali melakukan booting dalam mode UEFI.

Boot berhasil

Tepat setelah boot, masuk dan mulai nikmati Linux Anda yang diperbarui dengan UEFI. Ya, semua file, akun, dan program Anda akan tetap ada di sana.

[root@localhost ~]# efibootmgr
BootCurrent: 0014
Timeout: 0 seconds
BootOrder: 0014,0013,0009,000D,0007,000A,000B,000C,0008,0012
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Startup Interrupt Menu
Boot0005  Rescue and Recovery
Boot0006  MEBx Hot Key
Boot0007* USB CD
Boot0008* USB FDD
Boot0009* ATA HDD0
Boot000A* ATA HDD1
Boot000B* ATA HDD2
Boot000C* USB HDD

Boot000D* PCI LAN
Boot000E* IDER BOOT CDROM
Boot000F* IDER BOOT Floppy
Boot0010* ATA HDD
Boot0011* ATAPI CD
Boot0012* PCI LAN
Boot0013* Windows Boot Manager
Boot0014* Fedora
[root@localhost ~]# fwupdmgr get-devices|grep -i lenovo
 │ Vendor: │ Vendor: Vendor:
LENOVO (DMI:LENOVO)
DMI:LENOVO
DMI:LENOVO

Gparted menunjukkan status akhir disk:

[ Lembar contekan gratis:Dapatkan daftar utilitas dan perintah Linux untuk mengelola server dan jaringan. ] 

Menutup

Baik Anda ingin menginstal ulang baru atau memperbarui lingkungan operasi Anda di tempat, ada banyak cara untuk berhasil sampai di sana. Saya tahu di mana letak preferensi saya sendiri dan entri blog ini mencoba membagikan beberapa kiat yang baru saja saya pelajari. Hati-hati. Periksa output dari perintah Anda. Mintalah bantuan jika Anda membutuhkannya. Selain itu, ada alat di sistem operasi lain untuk mempermudah konversi jika Anda menginginkannya—salah satu contohnya adalah AOMEI Partition Assistant gratis untuk platform Windows.

Menariknya, meskipun laptop yang menjalankan Fedora 33 ini berhasil beralih dari BIOS ke UEFI dengan GPT, tidak ada pembaruan firmware yang tersedia untuknya melalui LVFS karena sistemnya terlalu tua.


Linux
  1. Pantau sistem Linux Anda di terminal Anda dengan procps-ng

  2. Pindai keamanan Linux Anda dengan Lynis

  3. Apakah Linux USB-Stick hybrid untuk UEFI &BIOS lama mungkin?

  1. Dengarkan musik favorit Anda di Linux dengan Juk

  2. Bagaimana cara membuat linux bootable minimal (hanya dengan terminal) dari kode sumber kernel?

  3. Bagaimana cara mengonversi disk linux saya dari MBR ke GPT dengan UEFI?

  1. Kelola kalender Anda dari terminal Linux dengan perintah konsolekalendar

  2. Pantau Java Anda di Linux dengan jconsole

  3. Pantau server Linux Anda dengan Checkmk