ฉันติดตั้ง Ubuntu 14.10 ใน VirtualBox ด้วย UEFI แต่ตอนนี้ฉันได้รีบูตระบบปฏิบัติการนี้และตอนนี้มันบูทเป็น UEFI Interactive Shell v2.0 ฉันจะบูตเข้าสู่ Grub ได้อย่างไร?
efibootmgr
จะหายไปหลังจากปิดเครื่อง
ฉันติดตั้ง Ubuntu 14.10 ใน VirtualBox ด้วย UEFI แต่ตอนนี้ฉันได้รีบูตระบบปฏิบัติการนี้และตอนนี้มันบูทเป็น UEFI Interactive Shell v2.0 ฉันจะบูตเข้าสู่ Grub ได้อย่างไร?
efibootmgr
จะหายไปหลังจากปิดเครื่อง
คำตอบ:
ฉันพบปัญหาเดียวกันและพบว่าหากฉันออกคำสั่งต่อไปนี้ในเชลล์แบบโต้ตอบเครื่องเสมือนจะบูตเข้าสู่ Ubuntu:
fs0:\efi\ubuntu\grubx64.efi
(ใช้เครื่องหมายแบ็กสแลชเครื่องหมายสแลชไม่ทำงานคำสั่งในเชลล์แบบโต้ตอบ UEFI ไม่คำนึงถึงขนาดตัวพิมพ์)
เวอร์ชั่น VirtualBox ของฉันคือ 4.3.20 r96997, Ubuntu เวอร์ชั่น 14.10 AMD64 ฉันไม่รู้ว่าทำไมสิ่งนี้จึงเกิดขึ้นและจะแก้ไขได้อย่างไร เพิ่งพบสิ่งนี้ไม่หรูหราและยังคงมีวิธีแก้ปัญหาเล็กน้อย
อัปเดต 1:
ผมอ่านนี้ติดตามลงไปรายงานข้อผิดพลาดและพบวิธีแก้ปัญหาที่ดีกว่า
อัปเดต 2:
วิธีแก้ปัญหาในการอัปเดต 1 ล้มเหลว ฉันปิดเครื่องเสมือนเปิดตัว และมันก็บูทเข้าไปใน UEFI Interactive shell อีกครั้ง ตามนี้ปัญหาอาจเกิดจากข้อผิดพลาด VirtualBox ฉันยังคงมองหาวิธีการแก้ไขเพิ่มเติมนี้
อัปเดต 3:
ในที่สุดก็พบทางออก ตามนี้คุณต้องสร้างสคริปต์ startup.nsh ด้วยตนเอง ยกเว้นวิธีการในโพสต์ที่กล่าวถึงคุณสามารถทำได้:
$ sudo mount /dev/sda1 /mnt
$ cd /mnt
$ sudo sh -c "echo '\EFI\ubuntu\grubx64.efi' > startup.nsh"
\EFI\boot\bootx64.efi
ฟังดูเหมือนทางออกที่ดีกว่าสำหรับฉัน . หมายเหตุ: คุณสามารถกด F12 ระหว่างการบู๊ตหรือเข้าสู่exit
เชลล์ EFI เพื่อเข้าถึงการตั้งค่าเฟิร์มแวร์และแก้ไขสิ่งต่าง ๆ รวมถึงความละเอียดเทอร์มินัล แต่การดัดแปลงเหล่านี้จะไม่ถูกจัดเก็บอย่างถาวร
refind
เพื่อแก้ไข EFI
edit startup.nsh
ง่ายดาย +1 มันกำลังมองหาที่\EFI\boot\bootx64.efi
จะข้าม 5sec
ฉันมีปัญหาเดียวกัน (ด้วยการเปิดใช้งาน EFIเพราะฉันไม่สามารถให้มันทำงานได้) แปลก; แม้ว่าการติดตั้ง Ubuntu 14.04.2 จะไม่มีข้อผิดพลาด แต่การติดตั้ง Kubuntu 15.04 ไม่สามารถจบการทำงานได้ มันแข็งที่สุดเมื่อถูกขอให้เอา DVD ออก หลังจากรีเซ็ตแล้วมันก็สามารถบู๊ตได้ดี แต่หลังจากปิดเครื่องมันก็นำเปลือกขึ้นมา
ดังนั้นเพื่อหลีกเลี่ยงประเภทของเปลือก:
fs0:
แก้ไข startup.nsh
และในหน้าต่างที่เปิดเพิ่ม 2 บรรทัดเหล่านี้:
FS0:
\ EFI \ ubuntu \ grubx64.efi
กดCtrl+ sและEnterเพื่อบันทึกและCtrl+ qเพื่อออก จากนั้นรีสตาร์ท VM
หรือคุณสามารถใช้ 2 บรรทัดเหล่านี้เพื่อออกจาก shell และ boot OS ได้ตลอดเวลา startup.nsh
แต่ครั้งที่สองที่คุณเริ่มต้นคุณจะอยู่ในเปลือกอีกครั้งและจะหลีกเลี่ยงได้แก้ไข
ls
ในเชลล์ UEFI เช่นls FS0:\EFI
จากนั้นls FS0:\EFI\redhat
เพื่อเรียนรู้เส้นทางที่อยู่FS0:\EFI\redhat\grub.efi
บน CentOS
FS0:\EFI\Slackware\elilo.efi
ของฉันมันเป็น
อีกตัวเลือกหนึ่งคือยกเลิกการตรวจสอบตัวเลือกคุณสมบัติเพิ่มเติมที่เรียกว่า 'เปิดใช้งาน EFI' ภายใต้ 'เมนบอร์ด' สำหรับ VM ของคุณ
มีปัญหานี้เกิดขึ้นสำหรับการติดตั้ง Gnome Ubuntu 12.04.2 amd64bit
ค้นพบสิ่งนี้หลังจากต้องเปลี่ยนการตั้งค่าสำหรับการเร่งด้วยฮาร์ดแวร์ ฉันถูกทิ้งไว้โดยมี VT-x / AMD-V เปิดใช้งานการซ้อนเพจ VM ของฉันมี 2 CPU, 8GB RAM สำหรับการอ้างอิง
หลังจากยกเลิกการตรวจสอบปัญหา Gnome Ubuntu ก็ไม่ผ่านการตรวจสอบโดยสมบูรณ์ ใช้งาน Virtual Box 4.3.18 r96516 บน Windows 7 64-bit Host
คัดลอกgrubx64.efi
ไปยัง/EFI/boot/bootx64.EFI
VirtualBox ใช้bootx64.efi
เพื่อบู๊ต
Ref .: Archlinux Virtualbox wiki
ฉันสามารถแก้ปัญหานี้ได้โดยการเปลี่ยนอุปกรณ์ cdrom ภายใน virtualbox จาก IDE เป็น SATA ฉันลบการแมปมาตรฐานของไดรฟ์ซีดีรอมเสมือนภายในการกำหนดค่าอุปกรณ์
เพียงเพิ่มอุปกรณ์ cdrom ไปยังคอนโทรลเลอร์ SATA ที่มีอยู่ซึ่งจะใช้สำหรับสื่อการติดตั้งของคุณ
และ, ไม่มีปัญหาเพิ่มเติมกับ EFI
ฉันเพิ่งพบปัญหานี้ โปรดตรวจสอบการตั้งค่าระบบปฏิบัติการเสมือนของคุณ คลิกขวาที่ระบบปฏิบัติการเสมือน -> ระบบ -> คุณสมบัติเพิ่มเติม -> เปิดใช้งาน EFI (ยกเลิกการเลือกนี้)
สำหรับสิ่งนี้คุณต้องเขียนเหมือนดังต่อไปนี้:
fs0:
cd EFI
cd ubuntu
grubx64
นี่คือวิธีที่ฉันได้มันไปทำงานถ้าคุณเขียนมันด้วยวิธีอื่นมันจะไม่ทำงาน
งานอื่นรอบ ๆ :
ในเชลล์ uefi ให้บูตชั่วคราวไปที่ ubuntu โดยใช้:
fs0:
cd EFI
cd ubuntu
grubx64
จากนั้นในอูบุนตูให้แก้ไขไฟล์ startup.nsh ดังนี้
เปิด terminal Ctrl+ +AltT
ประเภท:
sudo nano /boot/efi/startup.nsh
ใส่รหัสผ่านของคุณ
ตอนนี้ลบทั้งหมดที่อยู่ในนั้นโดยใช้ปุ่ม del หรือ backspace
จากนั้นให้พิมพ์สิ่งนี้อย่างแน่นอน: ( FS0
- นั่นคือตัวเลข0
ไม่ใช่ตัวอักษรO
)
FS0:
\EFI\ubuntu\grubx64.efi
ตอนนี้กดCtrl+ O(นั่นคือตัวอักษรO)
จากนั้น, Alt+ D(หากต้องการเปลี่ยนข้อความเป็นรูปแบบ msdos)
Enter
จากนั้นกดปุ่ม
แล้ว+CtrlX
รีบูตตอนนี้
sudo reboot
ตอนนี้ทุกอย่างควรจะดี
การใช้ Ubuntu 16.04.4 เมื่อเปิดใช้งาน EFI และในขณะที่เริ่มต้นเครื่องเสมือนฉันพบว่ามันไม่สามารถบู๊ตได้และยังคงอยู่ในเชลล์เชิงโต้ตอบของ EFI
นี่คือวิธีที่ฉันแก้ไขการบู๊ต:
ก่อนอื่นฉันพบว่า grubx64.efi ตั้งอยู่ใน BLK2 ดังนั้นสำหรับการบู๊ตครั้งเดียวฉันเพิ่งพิมพ์สิ่งต่อไปนี้ในเชลล์เชิงโต้ตอบ:
BLK2:/EFI/ubuntu/grubx64.efi
และวิโอลา Ubuntu ก็เปิดใช้งานแล้ว
ฉันจะสั่งซื้อเพื่อแก้ไขปัญหานี้อย่างถาวรเมื่อระบบของฉันขึ้นฉันสะท้อนบรรทัดต่อไปนี้เป็น /boot/efi/startup.nsh
sudo echo 'BLK2:/EFI/ubuntu/grubx64.efi' > /boot/efi/startup.nsh
เพียงเท่านี้ระบบจะบู๊ตอย่างถูกต้อง
หลังจากติดตั้ง Kubuntu15.10 ใน VirtualBox5 ด้วย UEFI การรีบูตของ VM ล้มเหลว
การเพิ่มสาย
FS0: \ EFI \ อูบุนตู \ grubx64.efiใน UEFI-Shell ไม่ได้ช่วยอะไร
และวิธีแก้ปัญหาด้วยการสร้างไฟล์ startup.nsh ใหม่ใน Kubuntu15.10 ในสภาพแวดล้อม chroot ด้วย
sudo echo '\ EFI \ ubuntu \ grubx64.efi'> startup.nshทำให้ยังไม่มีการปรับปรุง
ฉันพบวิธีแก้ปัญหา:
ปัญหาคือว่าไม่มีไดเรกทอรี / boot / efi / EFI / ubuntu พร้อมไฟล์ grubx64.efi
หลังจากบูท Live-CD และเปลี่ยนเป็นสภาพแวดล้อม chroot ฉันติดตั้งแพ็กเก็ตที่หายไปและสร้างรายการ NVRAM ที่ต้องการด้วย:
sudo apt-get install shub-efi-amd64-shim-signed sudo update-grub
สำหรับการกำหนดหรือเปลี่ยนแปลงไดเร็กทอรีบูต efi จำเป็นต้องรันคำสั่งนี้ก่อน นี่เป็นการแก้ไขปัญหาของฉัน
sudo grub-install /dev/sda --target=x86_64-efi --efi-directory=/boot/efi/
หมายเหตุ: /dev/sda
เป็นฮาร์ดดิสก์ระบบ
efibootmgr
หรือติดตั้งด้วงใหม่โดยอัตโนมัติ) เพื่อบู๊ต Ubuntu ทันทีอีกครั้ง