นี่คือโพสต์ที่แก้ไขโดย nerasezi ในฟอรั่ม Ubuntu
แหล่งที่มาหลักสำหรับ UEFI คือคู่มือUbuntu UEFI
ต่อไปนี้เป็นขั้นตอนที่เขาทำ:
ใช้ซีดีสดที่ตรงกับสถาปัตยกรรม UEFI ส่วนใหญ่ x86-64 บูตซีดีสด (xubuntu หรือ lubuntu ซึ่งเป็นเดสก์ท็อปที่มีน้ำหนักเบา แต่ควรทำงานกับ Ubuntu และ kubuntu ด้วย)
ต้องแน่ใจว่าระบบที่ใช้งานจริงของคุณกำลังทำการบูทในโหมด UEFI คุณสามารถตรวจสอบได้ในการตั้งค่า UEFI อาจอยู่ภายใต้ตัวเลือก Boot หรือคล้ายกัน ในกรณีของฉันมันแค่ใส่คำนำหน้า "UEFI" หน้าชื่ออุปกรณ์
เมื่อระบบที่ใช้งานจริงได้รับการตั้งค่าผ่านเทอร์มินัลจะมีรหัสผ่านรูทโดยการพิมพ์
sudo passwd root
จากนั้นล็อกเอาต์จากผู้ใช้ live cd ที่เป็นค่าเริ่มต้นและล็อกอินในฐานะ root ในโหมด gui เสียบฮาร์ดไดรฟ์ ฉันใช้ HDD แบบพกพา USB3 แต่โดยส่วนใหญ่แล้วฮาร์ดไดรฟ์นั้นเป็นไดรฟ์ภายใน SATA อย่างไรก็ตามตรวจสอบให้แน่ใจว่าคุณได้สำรองข้อมูลทั้งหมดของคุณแล้วทำให้กระบวนการล้างข้อมูลทุกอย่างในไดรฟ์ เรียกใช้ Gparted (เครื่องมือ gui นั้นง่ายกว่าข้อความมาก) และเลือกไดรฟ์ที่คุณยินดีติดตั้งระบบ (อย่าลืมเลือกถูก!) ชี้ไปที่เมนูด้านบนแล้วเลือกอุปกรณ์> สร้างตารางพาร์ทิชัน ... ข้อความเตือนจะปรากฏขึ้น คลิกที่ขั้นสูงและเลือก "gpt" พูดว่าตกลงรูปแบบดิสก์ GPT ใหม่ได้ถูกสร้างขึ้น ตอนนี้คุณต้องสร้างพาร์ติชันบนมัน มันสำคัญมากที่คุณจะต้องสร้างเป็นพาร์ติชั่นแรกและพาร์ติชั่นหลัก, วอลุ่ม FAT32 และคุณต้องกำหนดป้ายกำกับให้กับ EFI เมื่อสร้างพาร์ติชันแล้วให้คลิกขวาที่พาร์ติชั่นแล้วเลือก "จัดการค่าสถานะ" ตรวจสอบการตั้งค่าสถานะ "เริ่มระบบ" และพูดว่าตกลง ไปยังการสร้าง / พาร์ติชัน (คุณอาจต้องการแยก / home และ / boot ทำตามที่คุณมักจะทำในกรณีของฉันฉันเพิ่งสร้าง / partition) และพื้นที่ swap ต้องการพาร์ติชันหลักที่เป็นสาเหตุของ GPT ข้อ จำกัด หลักของพาร์ติชัน 4 ถูกลบ ปิด Gparted
ติดตั้งระบบลงในพาร์ทิชัน "/" ฮาร์ดไดรฟ์และอย่าลืมชี้ไปที่ bootloader (GRUB 1.99) ที่นี่เพื่อติดตั้ง หากคุณสร้างพาร์ติชัน "/ boot" แบบแยกพาร์ติชันคุณต้องเลือกพาร์ติชั่นนั้นสำหรับการติดตั้ง bootloader
นี่คือส่วนหนึ่งจากคู่มือ UEFIBooting:
อาคาร GRUB2 (U) EFI
ดาวน์โหลดไฟล์ ZIP รหัสแหล่ง grub2 ล่าสุด ftp://ftp.gnu.org/gnu/grub/
Building grub2 ต้องการโปรแกรมต่อไปนี้ที่จะติดตั้ง (build dependencies):
วัวกระทิง autoconf automake flex autogen python (2.x series) (สำหรับ autogen.sh ถ้าสร้างจาก bzr repo) texinfo help2man gettext (การสนับสนุน NLS) อุปกรณ์ -mapper freetype2 (libs)
sudo apt-get install bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev freetype2-demos texinfo efibootmgr
efibootmgrถูกเพิ่มเข้าไปในซอฟต์แวร์ที่คุณต้องการติดตั้งเพราะคุณจะต้องใช้ในภายหลัง
สำหรับ EFI 64- บิต (U):
export EFI_ARCH=x86_64
./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix=""
make
ในกรณีที่คุณมีสถาปัตยกรรมแบบ 32 บิตให้ตรวจสอบเอกสารออนไลน์ที่ลิงก์ที่ฉันให้ไว้ด้านบน
ติดตั้ง GRUB2 ใน (U) ระบบ EFI
กำหนดพาร์ติชันระบบ EFI ของคุณ (ควรเป็น / dev / sda1 หรือ / dev / sdb1 หากตั้งอยู่บน hd ที่สอง)
จากนั้นติดตั้งพาร์ติชันที่ / mnt / EFISYS (หรือที่จุดใดก็ได้ที่คุณต้องการ) รหัสต่อไปนี้จะถือว่า / dev / sda1 เป็นพาร์ติชัน EFISYS
sudo mkdir -p /mnt/EFISYS
sudo modprobe dm-mod
sudo mount -t vfat -o rw,users /dev/sda1 /mnt/EFISYS
sudo mkdir -p /mnt/EFISYS/efi/grub
จากนั้นสร้างแอปพลิเคชั่น EFI สำหรับ GRUB และคัดลอกมันและโมดูลอื่น ๆ :
ป้อนไดเรกทอรี "grub2 compiled source / grub-core" - ค่าเริ่มต้น: / usr / lib / grub / {EFI_ARCH}
grub-mkimage -O ${EFI_ARCH}-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot
sudo cp grub.efi *.mod *.lst /mnt/EFISYS/efi/grub
หมายเหตุ: ตัวเลือก -p "" มีความสำคัญสำหรับการสร้างแอพพกพา grub.efi ตอนนี้สร้าง grub.cfg ใน / mnt / EFISYS / efi / grub:
sudo touch /mnt/EFISYS/efi/grub/grub.cfg
ทำให้เฟิร์มแวร์เริ่มต้น GRUB2 (U) EFI เป็นค่าเริ่มต้น
สำหรับระบบที่ไม่ใช่ Mac UEFI efibootmgr จะใช้เพื่อแก้ไข UEFI Firmware Boot Manager สิ่งนี้ต้องการเคอร์เนลที่จะทำการบูทในโหมด UEFI และสถาปัตยกรรมตัวประมวลผลเคอร์เนลควรตรงกับสถาปัตยกรรมเฟิร์มแวร์ (และไม่ได้ใช้ 'noefi') สำหรับโมดูลเคอร์เนล 'efivars' ที่จะโหลดและ efibootmgr เพื่อเข้าถึงตัวแปรตัวจัดการการบูต เริ่มแรกผู้ใช้จำเป็นต้องเปิดตัว "efi / grub / grub.efi" ด้วยตนเองจากคอนโซลเฟิร์มแวร์เองหากติดตั้ง grub2-efi ในโหมด BIOS จากนั้นควรรัน efibootmgr เพื่อสร้างรายการบูต
sudo modprobe efivars
ป้อนไดเรกทอรี "grub2 compiled source / grub-core"
grub-probe --target=device /boot/efi/efi/grub/grub.efi
สมมติว่าเอาต์พุต grub-probe เป็น / dev / sda1
sudo efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "GRUB2" --loader "\\EFI\\grub\\grub.efi"
ในคำสั่งข้างต้น / boot / efi / efi / grub / grub / efi สามารถแยกเป็น / boot / efi และ /efi/grub/grub.efi ซึ่งแปลเป็น (/ dev / sda) -> พาร์ทิชัน 1 - > \ EFI \ grub \ grub.efi
เปิด Synaptic และลบแพ็กเกจ grub ทั้งหมดและติดตั้งเฉพาะแพ็คเกจ grub-efi (amd64 สำหรับฉัน) และการอ้างอิงที่จำเป็นทั้งหมด เมื่อการติดตั้งเสร็จสิ้นให้รัน sudo update-grub ในเทอร์มินัล คุณควรแก้ไข "grub.cfg" จาก / boot / grub และตรวจสอบว่าดิสก์ UUID ตรงกับดิสก์และพาร์ติชันของคุณเสียง "insmod part_" และ "set root = '(hd0," มี "gpt" textline หากทุกอย่างคือ ตกลงคัดลอก "grub.cfg" ไปยัง "efi / grub" บนพาร์ติชันระบบ EFI หากสิ่งที่ฉันกล่าวถึงก่อนหน้านี้ไม่ตรงกันเพียงแก้ไข grub.cfg และเปลี่ยนค่าด้วยตนเองจากนั้นคัดลอกไฟล์ไปที่ " ไดเร็กทอรี efi / grub "บนพาร์ติชันระบบ Efi (ควรยังคงอยู่ภายใต้ / mnt)
จากนั้นเมื่อฉันรีบูตระบบรายการใหม่บนแท็บ Boot ภายใต้การตั้งค่า UEFI ได้ปรากฏขึ้นชื่อ GRUB2 และฉันตั้งเป็นตัวเลือกการบูตเริ่มต้น