คำสั่งด้านล่างเป็นคำทั่วไปสำหรับเคอร์เนลเวอร์ชัน 3.13.0-35 เท่านั้น
1. เมานต์พาร์ติชัน efi และคัดลอกไฟล์เคอร์เนลที่นั่น
$ mount /dev/sda3 /boot/efi
$ mkdir -pv /boot/efi/EFI/ubuntu/
$ cp -uv /boot/vmlinuz-* /boot/initrd.img-* /boot/efi/EFI/ubuntu/
'/boot/vmlinuz-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic'
'/boot/initrd.img-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/initrd.img-3.13.0-35-generic'
2. เปลี่ยนชื่อไฟล์เคอร์เนล
ทำให้ชื่อไฟล์เคอร์เนลสั้นลงโดยการลบออก-generic
เนื่องจากดูเหมือนว่าจะมีขีดจำกัดความยาวพา ธ 39 ตัวอักษรและเปลี่ยนชื่อไฟล์เคอร์เนลให้สิ้นสุด.efi
ซึ่งจะช่วยให้มั่นใจได้ถึงความเข้ากันได้กับระบบส่วนใหญ่
$ for f in /boot/efi/EFI/ubuntu/vmlinuz-*-generic; do mv -uv -- "$f" "${f//-generic/}.efi"; done
'/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic.efi'`
ชื่อไฟล์เคอร์เนลชื่อด้านบนการตัดทอนไม่เพียงพอสำหรับเคอร์เนล mainline ที่dpkg
ติดตั้งเนื่องจากตัวอย่างเช่นไม่มีความยาว 40 ตัวอักษร/EFI/ubuntu/vmlinuz-3.16.0-031600rc6.efi
-generic
3. เพิ่มรายการใหม่ลงในเมนูการบูตของ EFI
แทนที่3.13.0-35
ในตัวอย่างนี้ด้วยเคอร์เนลเวอร์ชันเฉพาะของคุณ
$ kv=3.13.0-35;efibootmgr -c -p 3 -L $kv -l \EFI\ubuntu\vmlinuz-$kv.efi -u root=/dev/sda1 initrd=\\EFI\\ubuntu\\initrd.img-$kv-generic ro rootfstype=ext4 debug ignore_loglevel libata.force=dump_id crashkernel=384M-:128M
รายการเมนูการเริ่มระบบใหม่นี้จะกลายเป็นตัวเลือกการบูตใหม่ของคุณ
คุณอาจไม่จำเป็นต้องแก้จุดบกพร่องพารามิเตอร์พิเศษdebug
, ignore_loglevel
, และlibata.force=dump_id
ต้องมีอยู่มิฉะนั้นบูตจะหยุดทำงานที่ " Switched to clockource tsc. " เนื่องจากอุปกรณ์รูท sda1 ไม่สามารถเปิดได้crashkernel=384M-:128M
Initrd