ບູດໂຫຼດເດີ GRUB2 – ການຕິດຕັ້ງ ແລະ ການກຳນົດຄ່າ
GRUB2 ແມ່ນເວີຊັນຫຼ້າສຸດຂອງ GNU GRUB, ຫຼື GRand Unified Bootloader. ບູດໂຫຼດເດີ (Bootloader) ແມ່ນໂປຣແກຣມຊອບແວທຳອິດທີ່ເຮັດວຽກເມື່ອຄອມພິວເຕີເລີ່ມຕົ້ນ. ມັນມີໜ້າທີ່ໃນການໂຫຼດ ແລະ ສົ່ງຕໍ່ການຄວບຄຸມໃຫ້ກັບເຄີນເນີນ (Kernel) ຂອງລະບົບປະຕິບັດການ. ໃນ Fedora, ເຄີນເນີນແມ່ນ Linux. ຈາກນັ້ນ ເຄີນເນີນຈະເລີ່ມຕົ້ນພາກສ່ວນອື່ນໆ ທີ່ເຫຼືອຂອງລະບົບປະຕິບັດການ.
GRUB2 ແມ່ນລຸ້ນສືບທອດຈາກເວີຊັນກ່ອນໜ້າ GRUB (ເວີຊັນ 0.9x). ເວີຊັນດັ້ງເດີມແມ່ນມີໃຫ້ໃຊ້ໃນຊື່ GRUB Legacy.
ຕັ້ງແຕ່ Fedora 16 ເປັນຕົ້ນມາ, GRUB2 ໄດ້ກາຍເປັນບູດໂຫຼດເດີເລີ່ມຕົ້ນໃນລະບົບ x86 BIOS. ສຳລັບການອັບເກຣດລະບົບ BIOS, ຄ່າເລີ່ມຕົ້ນແມ່ນການຕິດຕັ້ງ GRUB2 ເຊັ່ນກັນ, ແຕ່ທ່ານສາມາດເລືອກຂ້າມການກຳນົດຄ່າບູດໂຫຼດເດີໄດ້ທັງໝົດ.
ການກວດສອບປະເພດເຟີມແວ
ເພື່ອຢາກຮູ້ວ່າເຄື່ອງຂອງທ່ານໃຊ້ເຟີມແວປະເພດໃດ, ໃຫ້ລັນຄຳສັ່ງຕໍ່ໄປນີ້:
$ [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
ຜົນທີ່ສະແດງອອກມາຈະເປັນພຽງ UEFI ຫຼື BIOS, ຂຶ້ນກັບເຟີມແວທີ່ເຄື່ອງຂອງທ່ານກຳລັງໃຊ້ຢູ່.
ການຕິດຕັ້ງ GRUB2 ໃນລະບົບ BIOS
ໂດຍປົກກະຕິແລ້ວ, GRUB2 ຈະຖືກຕິດຕັ້ງ ແລະ ຕັ້ງຄ່າໂດຍຕົວຕິດຕັ້ງ Anaconda ໃນລະຫວ່າງຂັ້ນຕອນການຕິດຕັ້ງ. ທ່ານອາດຈະບໍ່ຈຳເປັນຕ້ອງຕິດຕັ້ງ GRUB2 ດ້ວຍຕົນເອງເລີຍ. ຢ່າງໃດກໍຕາມ, ໃນບາງສະຖານະການ, ທ່ານອາດຈະຕ້ອງການຕິດຕັ້ງ GRUB2 ດ້ວຍຕົນເອງ, ໂດຍສະເພາະຖ້າທ່ານຕ້ອງການສ້ອມແປງການຕິດຕັ້ງ GRUB2 ທີ່ມີຢູ່ແລ້ວ ຫຼື ຕ້ອງການປ່ຽນແປງການກຳນົດຄ່າຂອງມັນ.
ຂັ້ນຕອນນີ້ຈະສະແດງວິທີການຕິດຕັ້ງ GRUB2 ລົງໃນ Master Boot Record (MBR) ຂອງຮາດດິດຫຼັກຂອງທ່ານ.
-
ກວດສອບໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ຕິດຕັ້ງແພັກເກດ GRUB2 ແລະ ແພັກເກດ os-prober ໃນລະບົບຂອງທ່ານແລ້ວ.
$ dnf list installed | grep grub -
ເພື່ອຮວບຮວມຂໍ້ມູນກ່ຽວກັບດິດ ແລະ ລະບົບປະຕິບັດການທີ່ຕິດຕັ້ງຢູ່ໃນເຄື່ອງໂດຍອັດຕະໂນມັດ, ຈຳເປັນຕ້ອງຕິດຕັ້ງແພັກເກດ
os-proberໄວ້ໃນລະບົບຂອງທ່ານ.
-
ສະແດງລາຍຊື່ອຸປະກອນຈັດເກັບຂໍ້ມູນ (block devices) ທີ່ມີຢູ່ໃນລະບົບ.
$ lsblk -
Identify the primary hard disk. Usually, it is the
sdadevice. -
Install GRUB2 in the MBR of the primary hard disk.
$ sudo grub2-install /dev/sda -
Create a configuration file for GRUB2.
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg -
Reboot your computer to boot with the newly installed bootloader.
-
The
grub2-mkconfigcommand creates a new configuration based on the currently running system. It collects information from the/bootpartition (or directory), from the/etc/default/grubfile, and the customizable scripts in/etc/grub.d. -
The configuration format is changing with time, and a new configuration file can become slightly incompatible with the older versions of the bootloader. Always run
grub2-installbefore you create the configuration file withgrub2-mkconfig. -
In Fedora, it is generally safe to edit
/boot/grub2/grub.cfgmanually. Grubby in Fedora patches the configuration when a kernel update is performed and will try to not make any other changes than what is necessary. Manual changes can be overwritten withgrub2-mkconfigwhen the system gets upgraded with Anaconda. Customizations placed in/etc/grub.d/40_customor/boot/grub2/custom.cfgfiles will survive running thegrub2-mkconfigcommand.
ການຕິດຕັ້ງ GRUB2 ໃນລະບົບ UEFI
ໂດຍປົກກະຕິແລ້ວ, GRUB2 ຈະຖືກຕິດຕັ້ງ ແລະ ຕັ້ງຄ່າໂດຍຕົວຕິດຕັ້ງ Anaconda ໃນລະຫວ່າງຂັ້ນຕອນການຕິດຕັ້ງ. ທ່ານອາດຈະບໍ່ຈຳເປັນຕ້ອງຕິດຕັ້ງ GRUB2 ດ້ວຍຕົນເອງເລີຍ. ຢ່າງໃດກໍຕາມ, ໃນບາງສະຖານະການ, ທ່ານອາດຈະຕ້ອງການຕິດຕັ້ງ GRUB2 ດ້ວຍຕົນເອງ, ໂດຍສະເພາະຖ້າທ່ານຕ້ອງການສ້ອມແປງການຕິດຕັ້ງ GRUB2 ທີ່ມີຢູ່ແລ້ວ ຫຼື ຕ້ອງການປ່ຽນແປງການກຳນົດຄ່າຂອງມັນ.
ຂັ້ນຕອນນີ້ສະແດງວິທີການຕິດຕັ້ງ GRUB2 ໃນລະບົບ UEFI ສຳລັບ Fedora 18 ຫຼື ເວີຊັນທີ່ໃໝ່ກວ່າ. ຂັ້ນຕອນປະກອບມີສີ່ພາກສ່ວນ.
ການສ້າງພາທິຊັນລະບົບ EFI (ESP)
ເຟີມແວ UEFI ຈຳເປັນຕ້ອງບູດຈາກ EFI System Partition (ESP) ໃນດິດທີ່ເປັນຮູບແບບ GPT. ວິທີການສ້າງພາທິຊັນດັ່ງກ່າວ:
-
List available block devices to find a place to create your ESP.
$ lsblk -f -p -
Create at least a 128 MiB disk partition using a GPT label on the primary hard disk.
$ sudo gdisk /dev/sdaFor the sake of this procedure, we assume that the created partition is recognized as
/dev/sda1. -
Format the partition with the FAT32 file system.
$ sudo mkfs.vfat /dev/sda1 -
Create the
/boot/efidirectory as a mount point for the new partition.$ sudo mkdir /boot/efi -
Mount the partition to the
/boot/efimount point.$ sudo mount /dev/sda1 /boot/efi -
Proceed to the next part.
ການຕິດຕັ້ງໄຟລ໌ບູດໂຫຼດເດີ
ເພື່ອທີ່ຈະໃຊ້ GRUB2 ໃນລະບົບ UEFI, ທ່ານຈຳເປັນຕ້ອງຕິດຕັ້ງແພັກເກດທີ່ຈຳເປັນ:
-
Re-install the necessary packages.
$ sudo dnf reinstall grub2-efi grub2-efi-modules shim-\* -
If the above command ends with an error, install the packages.
$ sudo dnf install grub2-efi grub2-efi-modules shim-\*
-
This installs the signed shim and the GRUB2 binary.
ການສ້າງການກຳນົດຄ່າ GRUB2
ຖ້າທ່ານມີໄຟລ໌ກຳນົດຄ່າ GRUB2 EFI ທີ່ໃຊ້ງານໄດ້ຢູ່ແລ້ວ, ທ່ານບໍ່ຈຳເປັນຕ້ອງເຮັດຫຍັງອີກ.
ຖ້າບໍ່ດັ່ງນັ້ນ, ໃຫ້ສ້າງໄຟລ໌ກຳນົດຄ່າໂດຍໃຊ້ຄຳສັ່ງ grub2-mkconfig.
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
Under EFI, GRUB2 looks for its configuration in
/boot/efi/EFI/fedora/grub.cfg, however the postinstall script ofgrub2-commoninstalls a small shim which chains to the standard configuration at/boot/grub2/grub.cfgwhich is generated above. To reset this shim to defaults, delete the existing/boot/efi/EFI/fedora/grub.cfgand then reinstallgrub2-common.$ sudo rm -f /boot/efi/EFI/fedora/grub.cfg $ sudo dnf reinstall grub2-common -
For newly installed kernels to work,
grubbyexpects/etc/grub2-efi.cfgto be a symlink to the realgrub.cfg(for example/boot/grub2/grub.cfg).
ການແກ້ໄຂບັນຫາກ່ຽວກັບ UEFI ບູດໂຫຼດເດີ
ເມື່ອທ່ານເປີດເຄື່ອງ, ເຟີມແວຈະຊອກຫາຕົວປ່ຽນ (variables) ຂອງ EFI ທີ່ບອກວ່າມັນຄວນຈະບູດແນວໃດ. ໃນລະບົບທີ່ກຳລັງເຮັດວຽກຢູ່ ເຊິ່ງບູດເຂົ້າໃນໂໝດ EFI ແລະ ບໍລິການ EFI runtime ເຮັດວຽກໄດ້ຢ່າງຖືກຕ້ອງ, ທ່ານສາມາດກຳນົດຄ່າເມນູບູດຂອງທ່ານໄດ້ດ້ວຍ efibootmgr.
If not, shim can help you bootstrap. The EFI fallback program at /boot/efi/EFI/BOOT/fbx64.efi will look for files called BOOT.CSV in your ESP and will add boot entries corresponding to them. The shim command provides its own BOOT.CSV file that will add an entry for grub2-efi.
|
The EFI fallback program was originally named |
During the boot process, you can use the EFI Shell to invoke the fbx64.efi profile to boot the system:
-
Enter the boot partition.
> fs0: -
ເຂົ້າໄປທີ່ໄດເຣັກທໍຣີ
EFI\BOOT.> cd EFI\BOOT -
Invoke the
fbx64.efiprofile.> fbx64.efi
-
If you have no boot entries at all, then just booting off your disk in UEFI mode should automatically invoke
/boot/efi/EFI/BOOT/BOOTX64.EFI, which will, in turn, invokefbx64.efi. -
ຖ້າທ່ານມີລາຍການບູດທີ່ບໍ່ຖືກຕ້ອງຢູ່ແລ້ວ, ທ່ານຈຳເປັນຕ້ອງລຶບພວກມັນອອກ ຫຼື ແກ້ໄຂໄຟລ໌
BOOT.CSVເພື່ອສ້າງລາຍການໃໝ່ດ້ວຍຊື່ອື່ນ.
ການເພີ່ມລະບົບປະຕິບັດການອື່ນໆ ເຂົ້າໃນເມນູ GRUB2
ໂດຍປົກກະຕິແລ້ວ, GRUB2 ຈະຖືກຕັ້ງຄ່າໃຫ້ບູດໄດ້ຫຼາຍລະບົບປະຕິບັດການໃນລະຫວ່າງການຕິດຕັ້ງ Fedora. ຖ້າເປັນໄປໄດ້, ແນະນຳໃຫ້ຕິດຕັ້ງລະບົບປະຕິບັດການອື່ນທີ່ບໍ່ແມ່ນ Linux ກ່ອນ. ຈາກນັ້ນໃນລະຫວ່າງການຕິດຕັ້ງ, ລະບົບປະຕິບັດການທັງໝົດເຫຼົ່ານັ້ນ ແລະ ບ່ອນຢູ່ຂອງມັນຈະຖືກກວດພົບ ແລະ ຕັ້ງຄ່າຢ່າງຖືກຕ້ອງ.
ການເພີ່ມລາຍການອື່ນເຂົ້າໃນເມນູ GRUB2 ແມ່ນພຽງແຕ່ການລັນຄຳສັ່ງ grub2-mkconfig ເພື່ອສ້າງໄຟລ໌ກຳນົດຄ່າໃໝ່. ໃນລະຫວ່າງຂັ້ນຕອນນີ້, ລະບົບປະຕິບັດການທັງໝົດທີ່ລະບົບຮູ້ຈັກຈະຖືກເພີ່ມເຂົ້າໃນ ການກຳນົດຄ່າ. ໂດຍການຕິດຕັ້ງ GRUB2 ຄືນໃໝ່, ການກຳນົດຄ່ານີ້ຈະຖືກໃຊ້ສຳລັບການບູດຄັ້ງຕໍ່ໆ ໄປ.
-
ກວດສອບໃຫ້ແນ່ໃຈວ່າລະບົບປະຕິບັດການຕ່າງໆ ຢູ່ໃນດິດທີ່ເຊື່ອມຕໍ່ກັບເຄື່ອງແລ້ວ.
-
ທ່ານໄດ້ຕິດຕັ້ງແພັກເກດ
os-proberແລ້ວ.
-
ສ້າງໄຟລ໌ກຳນົດຄ່າ GRUB2 ຄືນໃໝ່.
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg -
ຕິດຕັ້ງ GRUB2.
-
ສຳລັບລະບົບ UEFI.
$ sudo dnf reinstall shim-\* grub2-efi-\* grub2-common -
ສຳລັບລະບົບ BIOS, ໃຫ້ລະບຸດິດບ່ອນທີ່ຕ້ອງການຕິດຕັ້ງບູດໂຫຼດເດີ.
$ sudo grub2-install /dev/sda
-
-
ຄຳສັ່ງ
grub2-mkconfigຈະເພີ່ມລາຍການສຳລັບທຸກລະບົບປະຕິບັດການທີ່ມັນຊອກຫາເຫັນ. -
ເມື່ອເກີດບັນຫາ, ໃຫ້ເບິ່ງທີ່ ຄູ່ມື GRUB ເພື່ອແກ້ໄຂບັນຫາການບູດລະບົບປະຕິບັດການອື່ນໆ.
ການຕັ້ງຄ່າລາຍການເລີ່ມຕົ້ນສຳລັບ GRUB2
ເນື່ອງຈາກ grub2-mkconfig (ແລະ os-prober) ບໍ່ສາມາດຄາດຄະເນໄດ້ວ່າລະບົບປະຕິບັດການໃດທີ່ມັນຄົ້ນພົບ ຄວນຈະຖືກກຳນົດໃຫ້ເປັນຄ່າເລີ່ມຕົ້ນ, ໂດຍປົກກະຕິແລ້ວພວກເຮົາຈຶ່ງບໍ່ສາມາດຄາດເດົາລຳດັບຂອງລາຍການໃນ /boot/grub2/grub.cfg ໄດ້. ເພື່ອປ່ຽນຄ່າເລີ່ມຕົ້ນ, ພວກເຮົາຈຳເປັນຕ້ອງກຳນົດຄ່າເລີ່ມຕົ້ນໂດຍອີງໃສ່ name ຫຼື title.
-
ເປີດໄຟລ໌
/etc/default/grubແລະ ກວດສອບໃຫ້ແນ່ໃຈວ່າມີແຖວເຫຼົ່ານີ້ຢູ່ໃນໄຟລ໌.GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=false -
ຖ້າທ່ານຈຳເປັນຕ້ອງປ່ຽນແປງເນື້ອໃນຂອງ
/etc/default/grub, ໃຫ້ໃຊ້ການປ່ຽນແປງນັ້ນກັບgrub.cfg.$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
ສະແດງລາຍການເມນູທັງໝົດທີ່ເປັນໄປໄດ້.
$ grep -P "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2 -
ເລືອກຕົວເລືອກໃດໜຶ່ງທີ່ສະແດງອອກມາ ແລະ ໃຊ້ມັນເປັນອາກິວເມັ້ນ (argument) ເພື່ອຕັ້ງຄ່າເມນູເລີ່ມຕົ້ນ.
$ sudo grub2-set-default <menuentry> -
ກວດສອບລາຍການເມນູເລີ່ມຕົ້ນ
$ grub2-editenv - list -
ສ້າງໄຟລ໌ກຳນົດຄ່າ GRUB2 ຄືນໃໝ່ ແລະ ຕິດຕັ້ງບູດໂຫຼດເດີລົງໃນ MBR, ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ການເພີ່ມລະບົບປະຕິບັດການອື່ນໆ ເຂົ້າໃນເມນູ GRUB2.
ຖ້າທ່ານເຂົ້າໃຈເຖິງຄວາມສ່ຽງ, ທ່ານສາມາດແກ້ໄຂໄຟລ໌ /boot/grub2/grub.cfg ດ້ວຍຕົນເອງໄດ້. ໃນກໍລະນີນັ້ນ, ໃຫ້ຕັ້ງໝາຍເລກຂອງລະບົບປະຕິບັດການເລີ່ມຕົ້ນໂດຍໃຊ້ຕົວປ່ຽນ set default.
ຕົວຢ່າງ:
set default="5"
|
ຖ້າທ່ານແກ້ໄຂໄຟລ໌ກຳນົດຄ່າດ້ວຍຕົນເອງ, ການຕັ້ງຄ່າເຫຼົ່ານັ້ນຈະຖືກຂຽນທັບທຸກຄັ້ງທີ່ລັນຄຳສັ່ງ |
ການກູ້ຄືນບູດໂຫຼດເດີໂດຍໃຊ້ Live disk
ບາງຄັ້ງ, ໂດຍສະເພາະຫຼັງຈາກການຕິດຕັ້ງລະບົບປະຕິບັດການສຳຮອງ, master boot record (MBR) ອາດຈະເສຍຫາຍ ເຊິ່ງຈະເຮັດໃຫ້ລະບົບ Linux ເດີມບໍ່ສາມາດບູດໄດ້.
ຖ້າເກີດເຫດການນີ້, ຈຳເປັນຕ້ອງຕິດຕັ້ງ GRUB2 ຄືນໃໝ່ເພື່ອສ້າງການຕັ້ງຄ່າເດີມ. ຂັ້ນຕອນນີ້ບໍ່ພຽງແຕ່ຈະຄົ້ນຫາລະບົບປະຕິບັດການທັງໝົດທີ່ຕິດຕັ້ງໄວ້ເທົັ້ນັ້ນ, ແຕ່ຍັງຈະເພີ່ມພວກມັນເຂົ້າໃນ ໄຟລ໌ກຳນົດຄ່າຂອງ GRUB2, ເຮັດໃຫ້ທຸກລະບົບສາມາດບູດຜ່ານ GRUB2 ໄດ້.
-
ດາວໂຫຼດ Fedora Live ISO ຈາກ fedoraproject.org.
-
ກຽມອຸປະກອນບູດໂດຍໃຊ້ ISO ທີ່ດາວໂຫຼດມາ, ບໍ່ວ່າຈະເປັນ CD ຫຼື USB.
-
ບູດລະບົບ Fedora live ຈາກອຸປະກອນບູດທີ່ທ່ານໄດ້ສ້າງໄວ້.
-
ເປີດເທີມີນໍ (Terminal).
-
ກວດສອບໂຄງສ້າງພາທິຊັນ ແລະ ລະບຸພາທິຊັນ
/bootແລະ/root.$ lsblk -f -p -
ຖ້າພາທິຊັນ
/rootຂອງທ່ານຖືກເຂົ້າລະຫັດດ້ວຍ LUKS, ມັນຕ້ອງຖືກຖອດລະຫັດກ່ອນ.-
ກວດສອບໃຫ້ແນ່ໃຈວ່າມີການໃຊ້ງານໂມດູນ crypt.
$ sudo modprobe dm-crypt -
ຖອດລະຫັດພາທິຊັນ
/root(ຕົວຢ່າງ:/dev/sda3).$ sudo cryptsetup luksOpen /dev/sda3 myvolumeອຸປະກອນທີ່ຖອດລະຫັດແລ້ວ (ຕົວຢ່າງ:
myvolume) ຈະສາມາດເຂົ້າເຖິງໄດ້ພາຍໃຕ້/dev/mapper.
-
-
ປະຕິບັດຕາມຂັ້ນຕອນສຳລັບ BTRFS (ໃຊ້ເປັນຄ່າເລີ່ມຕົ້ນໃນ Fedora 33 ຫຼື ໃໝ່ກວ່າ).
-
ເມົາທ໌ພາທິຊັນ
/root.-
ສຳລັບ LUKS.
$ sudo mount /dev/mapper/myvolume /mnt -o subvol=root -
ສຳລັບລະບົບທີ່ບໍ່ແມ່ນ LUKS.
$ sudo mount /dev/sda3 /mnt -o subvol=root
-
-
-
ປະຕິບັດຕາມຂັ້ນຕອນສຳລັບ LVM (ໃຊ້ເປັນຄ່າເລີ່ມຕົ້ນກ່ອນ Fedora 33).
-
ສະແກນ LVM volumes ເພື່ອຫາ volume group ທີ່ກ່ຽວຂ້ອງກັບພາທິຊັນ
/root.$ sudo vgscan -
ເປີດໃຊ້ງານ volume group (ຕົວຢ່າງ:
fedora).$ sudo vgchange -ay fedora -
ຊອກຫາ logical volume ທີ່ກົງກັບ
/root.$ sudo lvsLogical volume ຈະສາມາດເຂົ້າເຖິງໄດ້ພາຍໃຕ້
/dev/mapper. -
ເມົາທ໌ logical volume (ຕົວຢ່າງ:
/dev/mapper/fedora-root) ທີ່ກ່ຽວຂ້ອງກັບພາທິຊັນ/root.$ sudo mount /dev/mapper/fedora-root /mnt
-
-
ເມົາທ໌ພາທິຊັນ
/boot(ຕົວຢ່າງ:/dev/sda2).$ sudo mount /dev/sda2 /mnt/boot -
ເມົາທ໌ໂປຣເຊສຂອງລະບົບ ແລະ ອຸປະກອນຕ່າງໆ ເຂົ້າໃນລະບົບໄຟລ໌
/root.$ sudo mount -o bind /dev /mnt/dev $ sudo mount -o bind /proc /mnt/proc $ sudo mount -o bind /sys /mnt/sys $ sudo mount -o bind /run /mnt/run $ sudo mount -o bind /dev/pts /mnt/dev/pts -
ສຳລັບລະບົບ UEFI, ໃຫ້ທຳການ bind ໄດເຣັກທໍຣີ
efivarsແລະ ເມົາທ໌ພາທິຊັນລະບົບ EFI (ຕົວຢ່າງ:/dev/sda1).$ sudo mount -o bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars $ sudo mount /dev/sda1 /mnt/boot/efi -
ປ່ຽນລະບົບໄຟລ໌ຂອງທ່ານໄປເປັນຕົວທີ່ເມົາທ໌ໄວ້ພາຍໃຕ້
/mnt.$ sudo chroot /mnt -
ຕິດຕັ້ງ GRUB2 ຄືນໃໝ່.
-
ສຳລັບລະບົບ UEFI, ຈຳເປັນຕ້ອງໃຊ້ຫຼາຍແພັກເກດ.
$ sudo dnf reinstall shim-\* grub2-efi-\* grub2-common -
ສຳລັບລະບົບ BIOS, ໃຫ້ລະບຸດິດ (ຕົວຢ່າງ:
/dev/sda) ບ່ອນທີ່ຕ້ອງການຕິດຕັ້ງ GRUB2.$ sudo grub2-install /dev/sda
-
-
ສ້າງໄຟລ໌ກຳນົດຄ່າ GRUB2 ຄືນໃໝ່.
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg -
Sync ແລະ ອອກຈາກ chroot.
$ sync && exit -
ເລີ່ມລະບົບໃໝ່.
ການໃຊ້ງານ GRUB2 boot prompt
ຖ້າການກຳນົດຄ່າບໍ່ຖືກຕ້ອງ, GRUB2 ອາດຈະໂຫຼດບໍ່ສຳເລັດ ແລະ ຈະເຂົ້າສູ່ boot prompt. ເພື່ອບູດເຂົ້າສູ່ລະບົບ, ໃຫ້ປະຕິບັດຕາມຂັ້ນຕອນລຸ່ມນີ້.
-
ໂຫຼດໂມດູນທີ່ຈຳເປັນເພື່ອອ່ານພາທິຊັນຂອງລະບົບ (ທ່ານຈຳເປັນຕ້ອງໂຫຼດ
part_msdosຫຼືpart_gptຕື່ມ ຂຶ້ນກັບຮູບແບບຕາຕະລາງພາທິຊັນຂອງທ່ານ).-
ສຳລັບລະບົບໄຟລ໌ BTRFS (Fedora 33 ຫຼື ໃໝ່ກວ່າ).
grub> insmod btrfs -
ສຳລັບລະບົບໄຟລ໌ LVM (ເກົ່າກວ່າ Fedora 33).
grub> insmod xfs grub> insmod lvm
-
-
ສະແດງລາຍຊື່ໄດຣຟ໌ທີ່ GRUB2 ກວດພົບ.
grub> ls -
ກວດສອບຜົນທີ່ສະແດງອອກມາເພື່ອທຳຄວາມເຂົ້າໃຈຕາຕະລາງພາທິຊັນຂອງອຸປະກອນ
/dev/sda. ຕົວຢ່າງລຸ່ມນີ້ສະແດງຕາຕະລາງພາທິຊັນແບບ DOS ທີ່ມີສາມພາທິຊັນ.(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)ຕາຕະລາງພາທິຊັນແບບ GPT ຂອງອຸປະກອນ
/dev/sdaທີ່ມີສີ່ພາທິຊັນ ອາດຈະມີໜ້າຕາແບບນີ້.(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) -
ກວດສອບແຕ່ລະພາທິຊັນຂອງໄດຣຟ໌ ແລະ ຊອກຫາບ່ອນຢູ່ຂອງໄຟລ໌
vmlinuzແລະinitramfs.grub> ls (hd0,1)/ຜົນຂອງຄຳສັ່ງກ່ອນໜ້ານີ້ຈະສະແດງລາຍຊື່ໄຟລ໌ໃນ
/dev/sda1. ພາທິຊັນທີ່ມີໂຟນເດີ/bootແມ່ນພາທິຊັນທີ່ຖືກຕ້ອງ. ໃຫ້ທ່ານຊອກຫາຊື່ເຕັມຂອງໄຟລ໌vmlinuzແລະinitramfsຢູ່ທີ່ນັ້ນ. -
ປະຕິບັດຕາມ ການຕັ້ງຄ່າກ່ອນບູດສຳລັບ BTRFS ຫຼື ການຕັ້ງຄ່າກ່ອນບູດສຳລັບ LVM ເພື່ອ ກູ້ຄືນລະບົບຂອງທ່ານ.
-
ຫຼັງຈາກຕັ້ງຄ່າກ່ອນບູດແລ້ວ, ໃຫ້ທຳການບູດລະບົບ.
grub> boot -
ເພື່ອໃຫ້ບູດໂຫຼດເດີກັບມາເຮັດວຽກໄດ້ປົກກະຕິ, ໃຫ້ສ້າງໄຟລ໌ກຳນົດຄ່າ GRUB2 ຄືນໃໝ່ ແລະ ຕິດຕັ້ງບູດໂຫຼດເດີອີກຄັ້ງ ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ການເພີ່ມລະບົບປະຕິບັດການອື່ນໆ ເຂົ້າໃນເມນູ GRUB2.
ການຕັ້ງຄ່າກ່ອນບູດສຳລັບລະບົບໄຟລ໌ BTRFS
-
ສຳລັບລະບົບ BIOS.
-
ຕັ້ງ GRUB2 root ໄປທີ່ພາທິຊັນ
/boot. ຖ້າພາທິຊັນ/bootຂອງທ່ານແມ່ນ(hd0,msdos1), ຄຳສັ່ງຈະເປັນ:grub> set root=(hd0,msdos1) -
ຕໍ່ໄປ, ເລືອກເຄີນເນີນທີ່ຕ້ອງການ. ລະບຸພາທິຊັນ
/root(ຕົວຢ່າງ:/dev/sda2).grub> linux /vmlinuz-5.14.10-300.fc35.x86_64 root=/dev/sda2 ro rootflags=subvol=root
-
-
ສຳລັບລະບົບ UEFI.
-
ຕັ້ງ GRUB2 root ໄປທີ່ພາທິຊັນລະບົບ EFI. ຖ້າພາທິຊັນລະບົບ EFI ຂອງທ່ານແມ່ນ
(hd0,gpt1), ໃຫ້ໃຊ້ຄຳສັ່ງນີ້:grub> set root=(hd0,gpt1) -
ຕໍ່ໄປ, ເລືອກເຄີນເນີນທີ່ຕ້ອງການ. ຊອກຫາບ່ອນຢູ່ຂອງ
vmlinuzແລະ ລະບຸພາທິຊັນ/root(ຕົວຢ່າງ:/dev/sda3).grub> linux (hd0,gpt2)/vmlinuz-5.14.10-300.fc35.x86_64 root=/dev/sda3 ro rootflags=subvol=root -
ເລືອກລະບົບໄຟລ໌ RAM (initrd) ທີ່ຈະໂຫຼດ.
grub> initrd (hd0,gpt2)/initramfs-5.14.10-300.fc35.x86_64.img
-
ການຕັ້ງຄ່າກ່ອນບູດສຳລັບລະບົບໄຟລ໌ LVM
-
ສຳລັບລະບົບ BIOS.
-
ຕັ້ງ GRUB2 root ໄປທີ່ພາທິຊັນ
/boot. ຖ້າພາທິຊັນ/bootຂອງທ່ານແມ່ນ(hd0,msdos1), ໃຫ້ໃຊ້ຄຳສັ່ງນີ້:grub> set root=(hd0,msdos1) -
ຕໍ່ໄປ, ເລືອກເຄີນເນີນທີ່ຕ້ອງການ. ຕັ້ງ
rootໄປທີ່ logical volume ທີ່ກ່ຽວຂ້ອງກັບໂຟນເດີ/root.grub> linux /vmlinuz-3.0.0-1.fc16.i686 root=/dev/mapper/fedora-root -
ເລືອກລະບົບໄຟລ໌ RAM (initrd) ທີ່ຈະໂຫຼດ.
grub> initrd /initramfs-3.0.0-1.fc16.i686.img
-
-
ສຳລັບລະບົບ UEFI.
-
ຕັ້ງ GRUB2 root ໄປທີ່ພາທິຊັນລະບົບ EFI. ຖ້າພາທິຊັນລະບົບ EFI ຂອງທ່ານແມ່ນ
(hd0,gpt1), ໃຫ້ໃຊ້ຄຳສັ່ງນີ້:set root=(hd0,gpt1) -
ຕໍ່ໄປ, ເລືອກເຄີນເນີນທີ່ຕ້ອງການ. ຊອກຫາບ່ອນຢູ່ຂອງ
vmlinuzແລະ ຕັ້ງrootໄປທີ່ logical volume ທີ່ກ່ຽວຂ້ອງກັບໂຟນເດີ/root.linux (hd0,gpt2)/vmlinuz-3.0.0-1.fc16.i686 root=/dev/mapper/fedora-root -
ເລືອກລະບົບໄຟລ໌ RAM (initrd) ທີ່ຈະໂຫຼດ.
initrd (hd0,gpt2)/initramfs-3.0.0-1.fc16.i686.img
-
ການບູດລະບົບໂດຍໃຊ້ໄຟລ໌ກຳນົດຄ່າທີ່ຢູ່ໃນພາທິຊັນອື່ນ
ຖ້າທ່ານເຂົ້າສູ່ GRUB2 boot prompt, ທ່ານຍັງສາມາດບູດໂດຍໃຊ້ configfile ທີ່ຢູ່ໃນພາທິຊັນອື່ນໄດ້ ເຊິ່ງມັກຈະເກີດຂຶ້ນກັບລະບົບທີ່ມີຫຼາຍລະບົບປະຕິບັດການ (multi-boot) ເຊັ່ນ Ubuntu ແລະ Fedora. ໃຫ້ປະຕິບັດຕາມຂັ້ນຕອນລຸ່ມນີ້ຖ້າທ່ານຕ້ອງການບູດຈາກໄຟລ໌ກຳນົດຄ່າໃນພາທິຊັນອື່ນ.
-
ໂຫຼດໂມດູນທີ່ຈຳເປັນເພື່ອອ່ານພາທິຊັນຂອງລະບົບ (ທ່ານຈຳເປັນຕ້ອງໂຫຼດ
part_msdosຫຼືpart_gptຕື່ມ ຂຶ້ນກັບຮູບແບບຕາຕະລາງພາທິຊັນຂອງທ່ານ).-
ສຳລັບລະບົບໄຟລ໌ BTRFS.
grub> insmod btrfs -
ສຳລັບລະບົບໄຟລ໌ LVM.
grub> insmod xfs grub> insmod lvm
-
-
ຕັ້ງ GRUB2 root ໄປທີ່ພາທິຊັນ
/boot. ສຳລັບລະບົບ UEFI, ທ່ານຄວນຕັ້ງ GRUB2 root ໄປທີ່ພາທິຊັນລະບົບ EFI.grub> set root=(hd0,msdos1) -
ກຳນົດເສັ້ນທາງ (path) ໄປຫາໄຟລ໌ກຳນົດຄ່າ.
grub> configfile /grub2/grub.cfg
-
ແຖວ hd0,msdos1 ສະແດງໃຫ້ເຫັນເຖິງພາທິຊັນ
/bootທີ່ກ່ຽວຂ້ອງ ເຊິ່ງເກັບໄຟລ໌grub.cfgໄວ້. ການຕັ້ງຄ່າອາດຈະແຕກຕ່າງກັນໄປຕາມລະບົບຂອງທ່ານ. ເບິ່ງ ການໃຊ້ງານ GRUB2 boot prompt ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ.
ການຕັ້ງລະຫັດຜ່ານສຳລັບໂໝດການແກ້ໄຂແບບໂຕ້ຕອບ
ຖ້າທ່ານຕ້ອງການປ້ອງກັນໂໝດການແກ້ໄຂຂອງ GRUB2 ດ້ວຍລະຫັດຜ່ານ, ແຕ່ຍັງອະນຸຍາດໃຫ້ຜູ້ໃຊ້ທົ່ວໄປບູດເຄື່ອງໄດ້, ໃຫ້ໃຊ້ຄຳສັ່ງ grub2-set-password. ລະບົບຈະຖາມຫາລະຫັດຜ່ານ ແລະ ໃຫ້ທ່ານຢືນຢັນອີກຄັ້ງ. ລະຫັດຜ່ານທີ່ຖືກເຂົ້າລະຫັດແລ້ວຈະຖືກເກັບໄວ້ໃນ /boot/grub2/user.cfg.
ເພື່ອຍົກເລີກການປ້ອງກັນດ້ວຍລະຫັດຜ່ານ, ພຽງແຕ່ລຶບໄຟລ໌ user.cfg ອອກ.
ຫຼື ທ່ານສາມາດຕັ້ງຄ່າດ້ວຍຕົນເອງໄດ້ດັ່ງນີ້:
-
ສ້າງໄຟລ໌
/etc/grub.d/01_usersແລະ ຂຽນແຖວຕໍ່ໄປນີ້ລົງໃນໄຟລ໌.$ sudo tee /etc/grub.d/01_users << EOF set superusers="root" export superusers password root <password> EOF -
ສ້າງໄຟລ໌ກຳນົດຄ່າ GRUB2 ຄືນໃໝ່, ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ການເພີ່ມລະບົບປະຕິບັດການອື່ນໆ ເຂົ້າໃນເມນູ GRUB2.
ທ່ານສາມາດເຂົ້າລະຫັດລະຫັດຜ່ານໂດຍໃຊ້ pbkdf2. ໃຫ້ໃຊ້ grub2-mkpasswd-pbkdf2 ເພື່ອເຂົ້າລະຫັດ, ແລ້ວປ່ຽນແຖວລະຫັດຜ່ານເປັນ:
password_pbkdf2 root grub.pbkdf2.sha512.10000.1B4BD9B60DE889A4C50AA9458C4044CBE129C9607B6231783F7E4E7191D8254C0732F4255178E2677BBE27D03186E44815EEFBAD82737D81C87F5D24313DDDE7.E9AEB53A46A16F30735E2558100D8340049A719474AEEE7E3F44C9C5201E2CA82221DCF2A12C39112A701292BF4AA071EB13E5EC8C8C84CC4B1A83304EA10F74
ເພື່ອຍົກເລີກການປ້ອງກັນດ້ວຍລະຫັດຜ່ານ, ພຽງແຕ່ລຶບສິ່ງທີ່ທ່ານແກ້ໄຂໃນໄຟລ໌ /etc/grub.d/01_users ອອກ ແລະ ສ້າງໄຟລ໌ກຳນົດຄ່າ GRUB2 ຄືນໃໝ່ຄືເກົ່າ.
ສາມາດເບິ່ງລາຍລະອຽດເພີ່ມເຕີມໄດ້ທີ່ Ubuntu Help: GRUB2 Passwords.
|
ເລີ່ມຕົ້ນຈາກ Fedora 15 ເປັນຕົ້ນມາ, ຕ້ອງໃຊ້ຕົວເລືອກ |
ການຈັດການກັບຂໍ້ຜິດພາດ "Absent Floppy Disk"
ມີລາຍງານຈາກຜູ້ໃຊ້ບາງຄົນວ່າ GRUB2 ອາດຈະຕິດຕັ້ງລົງໃນ boot sector ຂອງພາທິຊັນບໍ່ສຳເລັດ ຖ້າ floppy controller ຂອງຄອມພິວເຕີຖືກເປີດໃຊ້ງານໃນ BIOS ແຕ່ບໍ່ມີ floppy disk drive ຢູ່ແທ້. ສະຖານະການດັ່ງກ່າວຈະເຮັດໃຫ້ເກີດຂໍ້ຜິດພາດ Absent Floppy Disk.
ວິທີການແກ້ໄຂບັນຫານີ້ແມ່ນໃຫ້ເຂົ້າສູ່ rescue mode ແລະ ປະຕິບັດຕາມຂັ້ນຕອນໃນ ການຕິດຕັ້ງ GRUB2 ໃນລະບົບ BIOS, ແຕ່ໃຫ້ໃຊ້ຕົວເລືອກ --no-floppy ຮ່ວມກັບຄຳສັ່ງ grub2-install.
$ sudo grub2-install <target device> --no-floppy
ການໃຊ້ໂໝດກຣາຟິກແບບເກົ່າໃນບູດໂຫຼດເດີ
ອຸປະກອນເທີມິນໍແມ່ນຖືກເລືອກດ້ວຍ GRUB_TERMINAL. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງໄດ້ທີ່ລິງກ໌: ຄູ່ມື Grub.
ຊື່ການສະແດງຜົນຂອງເທີມີນໍທີ່ໃຊ້ໄດ້ແມ່ນຂຶ້ນກັບແພລັດຟອມ, ແຕ່ອາດຈະລວມມີ console (PC BIOS ແລະ EFI consoles), serial (serial terminal), gfxterm (graphics-mode output), ofconsole (Open Firmware console), ຫຼື vga_text (VGA text output, ເຊິ່ງສ່ວນຫຼາຍຈະໃຊ້ກັບ Coreboot).
ຄ່າເລີ່ມຕົ້ນແມ່ນການໃຊ້ການສະແດງຜົນເທີມີນໍດັ້ງເດີມຂອງແພລັດຟອມນັ້ນ.
ໃນ Fedora, gfxterm ແມ່ນຕົວເລືອກເລີ່ມຕົ້ນ. ເພື່ອໃຊ້ໂໝດກຣາຟິກແບບເກົ່າ (legacy):
-
ແກ້ໄຂໄຟລ໌
/etc/default/grub. -
ຕັ້ງຕົວປ່ຽນ
GRUB_TERMINALໄປເປັນຕົວເລືອກໃດໜຶ່ງທີ່ກ່າວມາຂ້າງເທິງ. -
ສ້າງໄຟລ໌ກຳນົດຄ່າ GRUB2 ຄືນໃໝ່ ແລະ ຕິດຕັ້ງບູດໂຫຼດເດີລົງໃນ MBR, ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ການເພີ່ມລະບົບປະຕິບັດການອື່ນໆ ເຂົ້າໃນເມນູ GRUB2.
ການເປີດໃຊ້ງານ Serial Console ໃນ GRUB2
ວິທີການເປີດໃຊ້ງານ Serial console ໃນ grub:
-
ແກ້ໄຂໄຟລ໌
/etc/default/grub. -
ປັບແຕ່ງຄ່າ
baudrate,parity,bits, ແລະflowໃຫ້ເໝາະສົມກັບສະພາບແວດລ້ອມ ແລະ ສາຍສັນຍານຂອງທ່ານ, ໃຫ້ເບິ່ງຕາມຕົວຢ່າງ.GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8' GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" -
ສ້າງໄຟລ໌ກຳນົດຄ່າ GRUB2 ຄືນໃໝ່ ແລະ ຕິດຕັ້ງບູດໂຫຼດເດີລົງໃນ MBR, ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ການເພີ່ມລະບົບປະຕິບັດການອື່ນໆ ເຂົ້າໃນເມນູ GRUB2.
ແຫຼ່ງຂໍ້ມູນເພີ່ມເຕີມ
Want to help? Learn how to contribute to Fedora Docs ›