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.