ฉันจะให้แล็ปท็อป HP บูตเข้าด้วงจากไฟล์ efi ใหม่ของฉันได้อย่างไร


28

ฉันมีแล็ปท็อป HP Pavilion Sleekbook 14 ที่ฉันติดตั้ง Ubuntu 12.10 dual boot กับ windows 8 ฉันใช้ boot-repair เพื่อตั้งค่าให้บู๊ตเป็นด้วง

ปัญหาของฉันคือฉันไม่สามารถบูตไฟล์ efi ใหม่ที่สร้างขึ้นได้ทันที ฉันดูรอบ ๆ ตัวเลือกการบูตในหน้าจอ BIOS แต่ไม่ได้ให้ทางเลือกสำหรับ Ubuntu วิธีเดียวที่ฉันสามารถบูตเข้าสู่ Ubuntu ได้คือการกด F9 เมื่อฉันเปิดระบบและจากนั้นไปที่ไฟล์ ubuntu efi ด้วยตนเอง มันใช้งานได้ แต่ถ้าฉันไม่ใส่ใจมันก็จะบูทเข้า windows

หลังจากฉันเสร็จสิ้นการรัน boot-repair มันบอกให้ฉันบูตจาก sda2 / EFI / ubuntu / shimx64.efi ฉันเห็นคำแนะนำบางอย่างแล้วว่าฉันควรย้ายไฟล์นี้แทนที่ windows bootmgfw.efi แต่ฉันกังวลว่าฉันจะ ขัดข้องและไม่สามารถบู๊ตการติดตั้ง windows 8 ได้ ในขณะที่ฉันไม่ชอบ win8 มากกว่า win7 ฉันต้องการมันเป็นครั้งคราวสำหรับงานสองสามอย่าง ...

รายละเอียดของการซ่อมแซมการบูตของฉันอยู่ที่นี่: http://paste.ubuntu.com/1418009/


shimx64.efi ทำงานให้ฉันได้ แต่ในกรณีของฉัน Ubuntu Gnome ไม่บูตหลังจากติดตั้งและต้องเลือกไฟล์ด้วยการสร้างตัวเลือกการบูตใหม่ใน BIOS
timkofu

มีคำตอบมากมายเกี่ยวกับ Windows ที่นี่คุณพยายามบูตเข้าสู่ Linux หรือ Windows หรือไม่?
Evan Carroll

คำตอบที่ไม่ดีจำนวนมากมีความซับซ้อนโดยไม่จำเป็นเนื่องจากหน้าต่างมีความกังวลเพียงแค่ทำการเปลี่ยนชื่อ efi ของ grub sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efiจาก @Vitor Abella คำตอบ
Evan Carroll

คำตอบ:


29

ฉันมีปัญหาเดียวกันนี้กับ HP Pavilion g6 ของฉันเมื่อพยายามบูตคู่ Ubuntu 12.04.3 LTS และ Windows 8 นั่นคือแม้หลังจากที่ "ประสบความสำเร็จ" ในการใช้งานการซ่อมแซมการบูตฉันก็ยังมีการบูตโน้ตบุ๊คเข้าสู่ Windows 8 โดยตรงถ้าฉัน กด F9 ก่อนที่สัญลักษณ์ HP จะปรากฏขึ้นฉันสามารถเข้าไปที่ Boot Menu (เมนูของ HP ได้หรือไม่ฉันไม่รู้ ... ) และจากตรงนั้นเพื่อเลือกรายการ "Ubuntu" ซึ่งจะพาฉันไปที่ GRUB 2 และในที่สุดการติดตั้ง Ubuntu ของฉัน

ถึงกระนั้นฉันต้องการที่จะสามารถบูตเครื่องคอมพิวเตอร์ไปยัง Linux ได้โดยตรงโดยไม่จำเป็นต้องมีการแทรกแซงจากผู้ใช้

ในท้ายที่สุดคำตอบของ Rod Smith ด้านบนเมื่อรวมกับข้อมูลที่ฉันพบในฟอรัมอื่น ฉันปิดใช้งาน Secure Boot แล้วและ Legacy Boot ก็ปิดใช้งานด้วย

นี่คือสิ่งที่ฉันทำ:

  • ฉันบูทเข้าสู่การติดตั้ง Ubuntu โดยใช้เคล็ดลับของปุ่ม F9 ในการเริ่มต้นเพื่อให้สามารถเลือกบูตโหลดเดอร์
  • ครั้งหนึ่งใน Ubuntu ฉันเปิดเทอร์มินัล
  • จากการใช้คำสั่งด้านล่างฉันได้ตรวจสอบตำแหน่งที่บูตของ Windows ตั้งอยู่:

    $ sudo efibootmgr -v
    
  • ในกรณีของฉันบูตเดอร์ดั้งเดิมอยู่ที่นี่: /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi. โปรดทราบว่าในคอมพิวเตอร์ของคุณอาจอยู่ในที่อื่น ถ้าเป็นเช่นนั้นคุณจะต้องปรับคำสั่งด้านล่าง

  • ตามคำแนะนำของ Rod ในคำตอบของเขา (อันที่เกี่ยวกับวิธีการซ่อมแซม boot loader ด้วยตนเอง) ฉันทำการสำรองข้อมูลของไฟล์นั้นโดยเลื่อนมันขึ้นหนึ่งระดับ:

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • ในที่สุดฉันก็คัดลอกบูทโหลดเดอร์ของ GRUB2 ในตำแหน่งนั้น "หลอก" ระบบให้โหลดโหลดเดอร์บูตที่ฉันต้องการแทนบูตเดอร์ดั้งเดิมของ Windows

    $ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

ในที่สุดฉันก็มีการบูทคู่ของฉันทำงานกับ GRUB2 ในกรณีที่ Windows เขียนทับบูทโหลดเดอร์อีกครั้งหลังจากอัปเดต (เช่นเดียวกับฉัน) ฉันรู้ขั้นตอนในการดึงด้วงกลับคืนที่เดิม

หวังว่านี่จะช่วยใครซักคน กรุณาแจ้งให้เราทราบหากมีปัญหาใด ๆ กับการแก้ปัญหาของฉัน


9
ขอบคุณมันช่วยได้ แต่ฉันไม่สามารถบูตเข้าสู่ Windows ได้ เมื่อเริ่มต้นจะเริ่มต้นด้วงและในด้วงตัวเลือก 'ตัวจัดการการบูตของ Windows' จะไปที่เมนูด้วงอีกครั้ง (คาดว่าจะเป็นลิงก์นี้ไปยังไฟล์. fefi เดียวกัน) ดูเหมือนว่าปัญหานี้แม้ว่าฉันจะไม่โชคดีกับการซ่อมแซมการบูต ฉันแก้ไขมันโดยไปที่ Ubuntu ใน /etc/grub.d/ เติมไฟล์ 40_custom โดยคัดลอกรายการ Windows Boot ที่ฉันมีในอูบุนตูของฉันวางและแก้ไข URL ของไฟล์. fii ให้ชี้ไปที่การสำรองข้อมูลของ bootmgfw.efi ดังนั้นผู้ร่วมรายการจึงมีchainloader /EFI/Microsoft/bootmgfw.efi
วินซ์

1
ผู้ร่วมรายการนั้นไม่ได้ผลสำหรับฉัน
Pierre

@Pierre พฤษภาคม: อาจใช้รายการเมนูต่อไปนี้จะทำงานให้คุณ: menuentry 'Real Windows' {set root = (hd0, gpt2) chainloader /EFI/Microsoft/bootmgfw.efi} (นี่ถือว่าเป็นพาร์ติชั่น efi ของคุณเป็นคนแรก ฮาร์ดไดรฟ์ใน sda2 เพื่อให้แน่ใจว่าคุณสามารถพิมพ์ "c" เมื่อคุณอยู่ในด้วงและพิมพ์ "ls" เพื่อดูพาร์ติชันที่มีอยู่
tobiasBora

12

ฉันประสบปัญหาเดียวกันกับ HP ProBook 4340s กับ Windows 8 ดั้งเดิมที่เขียนทับโดย Kubuntu 15.04 ใหม่แล้ว (ฉันไม่ต้องการบูตคู่) ในบรรดาความพยายามอื่น ๆ ฉันก็ลอง Boot-Repair (ทั้งจาก HD หลังจากการติดตั้งและผ่านboot-repair-disk ) แต่การออกกำลังกายนั้นอาจไม่จำเป็นที่สุด

สิ่งที่ทำให้เคล็ดลับคือการเปลี่ยนแปลงต่อไปนี้ในการตั้งค่า BIOS (หลังจากที่คอมพิวเตอร์เริ่มกดF10 - ไปที่การกำหนดค่าระบบ - เปิดตัวเลือกการบูต ):

  1. ตรวจสอบBoot ที่กำหนดเอง

  2. ตรวจสอบSecureBoot

  3. Boot Mode : เลือกUEFI HybridหรือUEFI Native (ฉันเลือกUEFI Native)

  4. UEFI Boot Order : ใส่Boot ที่กำหนดเองไปด้านบน

  5. กำหนดตัวเลือกการบูตที่กำหนดเอง : เลือกเพิ่ม + ใส่การตั้งค่า:\EFI\ubuntu\grubx64.efi

เราพบสตริงพา ธ ที่ถูกต้องเมื่อเปิด GRUB ผ่านตัวเลือกBoot จากไฟล์ EFIในFast Boot Options (F9) ในการเริ่มต้นรายการตัวเลือกที่มี:

  • ตัวจัดการการบูตระบบปฏิบัติการ
  • บูตจากไฟล์ EFI

หลังจากเพิ่มตัวเลือก Boot ที่กำหนดเองมันถูกเพิ่มลงในรายการ:

  • Boot ที่กำหนดเอง
  • ตัวจัดการการบูตระบบปฏิบัติการ
  • บูตจากไฟล์ EFI

ทำตรงนั้นกับ hp zbook 15 ไม่มีโชค
cmbarbu

ถ้าคุณใช้ระบบ UEFI และติดตั้ง Ubuntu 16.10 หลังจากที่ Windows 10 กว่าคำตอบนี้เป็นหนึ่งที่ถูกต้อง
leoredi

ขอบคุณฉันต้องทำเช่นนี้Define Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
m3asmi

6

UEFI ของ Hewlett-Packard ทำให้ฉันปวดใจมาระยะหนึ่งแล้ว การแก้ไขของคุณช่วยให้ฉันรีสตาร์ทแล็ปท็อป HP ในด้วงอีกครั้งโดยไม่ต้องกด F9 ก่อน

ฉันมีปัญหาหนึ่ง: หลังจากการแก้ไขของคุณฉันสามารถเลือก Windows 8 ใน GRUB ได้ แต่ Windows 8 ก็ปฏิเสธที่จะเริ่มและฉันก็แสดงเมนู GRUB อีกครั้ง

การแก้ไขของฉัน:

  1. คัดลอกไฟล์ Microsoft efi ดั้งเดิมไป /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. การแก้ไข/boot/grub/grub.cfgเพื่อจดจำการเปลี่ยนชื่อไฟล์ Microsoft efi

ตอนนี้แล็ปท็อปเริ่มระบบไปที่ GRUB, Ubuntu และ Windows 8 ตอนนี้เริ่มตกลงจาก GRUB


5

ตามปกติแล้วการเรียกใช้ Boot Repair จะสำรองไฟล์บูตตัวโหลดดั้งเดิมของ Microsoft ( bootmgfw.efi) เป็นbootmgfw.efi.bkpและแทนที่bootmgfw.efiไฟล์ต้นฉบับด้วยสำเนาของ GRUB (หรือชิม) และเอาต์พุตซ่อมแซมการบู๊ตที่คุณโพสต์จะแสดงนี้ อย่างไรก็ตามฉันไม่เห็นไฟล์สำรองดังกล่าว ดังนั้นฉันขอแนะนำให้คุณทำหนึ่งในสามสิ่ง:

  • เรียกใช้ Boot Repair อีกครั้ง แต่มองหาตัวเลือกที่เกี่ยวข้องกับการสำรองและแทนที่ตัวบูตระบบของ Microsoft เปิดใช้งานตัวเลือกเหล่านั้นเพื่อดำเนินการต่อ ด้วงอาจหรือไม่สามารถเปิด Windows; ที่ดูเหมือนจะโดนหรือพลาด - และ "พลาด" มากกว่านี้หากคุณเปิดใช้งาน Secure Boot
  • ทำงานด้วยตนเอง: จาก Linux ให้สำรองข้อมูล/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi(ฉันขอแนะนำให้เลื่อนลงไปหนึ่งระดับ/boot/efi/EFI/Microsoft/bootmgfw.efiแทนที่จะเปลี่ยนชื่อเป็นbootmgfw.efi.bkpเนื่องจากหลังไม่ใช่มาตรฐานและสร้างเครื่องมืออื่นที่ไม่ใช่ Boot Repair และ GRUB ของ Ubuntu ไม่สามารถระบุตำแหน่งได้) คัดลอก/boot/efi/EFI/ubuntu/grubx64.efiในสถานที่; หรือถ้าคุณวางแผนที่จะให้ Secure Boot ทำงานต่อไปให้/boot/efi/EFI/ubuntu/shimx64.efiคัดลอกและวางgrubx64.efiลงในนั้น/boot/efi/EFI/Microsoft/Bootใช้ชื่อเดิม จากนั้นคุณจะต้องแก้ไขการกำหนดค่า GRUB ของคุณเพื่อเปิดใช้งานการเปิดตัวบูตเดอร์ Windows ในตำแหน่งใหม่หรือภายใต้ชื่อใหม่ (ฉันได้ยินมาว่า GRUB ยังไม่สามารถเปิดตัวบูตระบบ Windows ในโหมด Secure Boot ได้ดังนั้นหากคุณต้องการเปิดใช้ Windows จาก GRUB คุณอาจต้องปิดใช้งาน Secure Boot OTOH ฉันไม่เคยลองด้วยตัวเอง ดังนั้นฉันอาจเข้าใจผิดเกี่ยวกับความสามารถของด้วงในส่วนนี้)
  • ปิดใช้งาน Secure Boot จากนั้นบู๊ตเป็น Linux และติดตั้งตัวจัดการการบูต rEFIndของฉันโดยใช้แพ็คเกจ Debian sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Bootหลังจากที่ทำประเภท คำสั่งหลังย้ายและเปลี่ยนชื่อไฟล์ในแบบที่คล้ายกับขั้นตอนแบบแมนนวลที่ฉันเพิ่งอธิบายหรือสิ่งที่ Boot Repair ทำ แต่ตั้งค่า rEFInd เป็นบูตโหลดเดอร์เริ่มต้นแทนที่จะเป็น GRUB หากคุณต้องการใช้ Secure Boot คุณสามารถทำได้โดยการเล่นกลไฟล์และติดตั้ง shim เวอร์ชันใหม่ (shim ของ Ubuntu เร็วพอที่จะไม่ทำงานอย่างถูกต้องกับ rEFInd) การติดตั้ง rEFInd ด้วยวิธีนี้ช่วยให้คุณสามารถบูตโดยไม่ต้องใช้ GRUB และการรวมกันของสคริปต์การติดตั้ง (ดำเนินการโดยระบบแพคเกจเมื่อคุณติดตั้งแพคเกจ Debian) และmvrefind.shสคริปต์แก้ปัญหาที่คุณมี

สำหรับบันทึกปัญหาที่คุณมีเกี่ยวข้องกับข้อบกพร่องที่รู้จักในการใช้งาน EFI ของ HP โดยพื้นฐานแล้วเฟิร์มแวร์นั้นยากที่จะบู๊ตจากบูทโหลดเดอร์ของ Microsoft และทำให้ยากหรือเป็นไปไม่ได้ที่จะบูตจากสิ่งอื่น ฉันขอแนะนำให้คุณบ่นกับ HP เกี่ยวกับเรื่องนี้ พวกเขาจะไม่แก้ไขปัญหาดังกล่าวเว้นแต่ว่าผู้คนบ่น

จากสามโซลูชันการใช้ Boot Repair น่าจะง่ายที่สุดในการทำงาน แต่ดังที่ฉันได้กล่าวไว้การตั้งชื่อที่ไม่ได้มาตรฐานซึ่งการใช้ Boot Repair อาจทำให้เกิดปัญหากับยูทิลิตี้อื่น ๆ ในอนาคต การปรับด้วยตนเองจะต้องใช้ความพยายามมากขึ้นในการทำงาน แต่จะสะอาดกว่าในระยะยาว บางคนรายงานปัญหาในการรับ GRUB เพื่อลดโหลดบูต Windows ดังนั้นตัวเลือกใดตัวเลือกหนึ่งอาจทำให้คุณปวดหัวกับคะแนนนั้น rEFInd มีแนวโน้มมากที่จะบูตทั้ง Linux หรือ Windows โดยไม่มีปัญหา แต่อย่างที่คุณสามารถบอกได้จากขั้นตอนการทำให้มันใช้งานได้นั้นต้องใช้ความพยายามมากกว่าการใช้ Boot Repair อีกครั้งแม้ว่าอาจจะน้อยกว่าการเล่นไฟล์ด้วยตนเอง การใช้ rEFInd ร่วมกับ Secure Boot ต้องใช้การกระโดดแบบวนซ้ำมากขึ้นในขณะนี้ (ดูเอกสารประกอบของ rEFInd สำหรับรายละเอียด

มีความเสี่ยงที่เกี่ยวข้องในการแก้ปัญหาทั้งสาม; การใช้งาน EFI นั้นแตกต่างกันมากเกินไปซึ่งหมายความว่ากระบวนการอัตโนมัติหรือด้วยตนเองที่ทำงานได้ดีบนคอมพิวเตอร์เครื่องหนึ่งอาจล้มเหลวได้อย่างน่าสังเวช เพื่อปกป้องตัวคุณเองฉันแนะนำให้คุณสำรอง ESP ของคุณ (โดยปกติ/boot/efiภายใต้ Linux); เพียงแค่แพ็คไฟล์ใน tarball หรือคัดลอกไปยังไดเรกทอรีสำรอง หากมีสิ่งผิดปกติเกิดขึ้นคุณสามารถบูตเครื่องด้วยแผ่นดิสก์ฉุกเฉินและเรียกคืนไฟล์ นั่นอาจทำให้คอมพิวเตอร์บูตได้อีกครั้ง


ขอบคุณมาก! ฉันยังไม่ได้ลองตัวเลือกของคุณเลย แต่จะสุดสัปดาห์นี้หรือไม่
maddentim

ตัวจัดการการบูต rEFInd ของคุณดูน่าสนใจ ดังนั้นคุณกำลังบอกว่าฉันสามารถปิดการใช้งาน Secure Boot และยังคงใช้ Win8 ได้? คำถามหนึ่งที่ฉันมีคือเมื่อฉันพยายามที่จะ tar / boot / efi, tar ให้ข้อผิดพลาดกับฉันบางไฟล์ในโฟลเดอร์ ubuntu พวกเขามีชื่อแปลก ๆ เช่น 'ame = "App.lic' ดูบรรทัด 809 ถึง 817 ในpaste.ubuntu.com/1418009การติดตั้งล่าสุดนี้เป็นความพยายามครั้งที่สามของฉันจริง ๆ ฉันคิดว่าพวกเขาเป็นขยะและสามารถลบออกได้คุณเป็นอย่างไร คิดว่าฉันจะโพสต์กลับมาหลังจากฉันทำหนึ่งในขั้นตอนของคุณ
maddentim

ฉันเห็นรายงานหลายคนเกี่ยวกับการปิดใช้งาน Secure Boot และไม่มีปัญหาในการบูต Windows ดังนั้นจึงไม่ใช่ปัญหา หากคุณต้องการเปิดใช้งานเพื่อความปลอดภัยนั้นเป็นสิ่งที่เข้าใจได้ แต่คุณไม่ควรกังวลว่า Windows จะไม่สามารถบูตได้ สำหรับtarข้อผิดพลาดของคุณฟังดูเหมือนสคริปต์มีข้อบกพร่องและสร้างไฟล์ที่มีชื่อแปลก ๆ ฉันไม่ได้สังเกตเห็นไฟล์เหล่านั้นในผลลัพธ์ของคุณมาก่อน แต่เป็นไปได้ว่าสิ่งใดก็ตามที่สร้างข้อผิดพลาดเหล่านั้นก็เป็นสาเหตุของปัญหาการบูต ถ้าเป็นเช่นนั้นการใช้ rEFInd มีแนวโน้มที่จะแก้ไขปัญหาได้ แต่โซลูชันอื่น ๆ อาจล้มเหลว
ร็อดสมิ ธ

rEFInd ติดตั้งไม่สำเร็จ ฉันคิดว่า LovinBuntu มีปัญหาที่ระบุ / boot / EFI เป็นแบบอ่านอย่างเดียว นี่เป็นส่วนหนึ่งของผลลัพธ์: mkdir: ไม่สามารถสร้างไดเร็กทอรี/boot/efi//EFI/refind': Read-only file system cp: cannot create regular file /boot/efi//EFI/refind/refind_x64.efi ': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าวการติดตั้งไดรเวอร์สำหรับ ext4 (ext4_x64.efi) mkdir: ไม่สามารถสร้างไดเรกทอรี `/ boot / efi // EFI / refind ': ระบบไฟล์แบบอ่านอย่างเดียวคัดลอกไฟล์ไบนารี
rEFInd

3

ฉันใช้เวลาหนึ่งวันสำหรับปัญหาเดียวกันและในที่สุดก็แก้ไขมันได้ ต่อไปนี้เป็นวิธีการแก้ปัญหาที่แน่นอน บทความเต็มรูปแบบในการแก้ปัญหาได้ที่นี่ซึ่งเขียนโดยร็อดสมิ ธ

ข้อมูลที่เป็นประโยชน์

เพื่อที่จะบู๊ตลงในตารางพาร์ติชั่น GPT พร้อม efi boot loader efiไฟล์ถูกสร้างขึ้นโดยระบบปฏิบัติการในช่วงเวลาของการติดตั้งซึ่งจะต้องจัดให้กับไบออส UEFI ของคอมพิวเตอร์เพื่อให้สามารถบู๊ตเข้าสู่ระบบปฏิบัติการที่สอดคล้องกันได้

สำหรับการเก็บไฟล์ efi เราจำเป็นต้องมีหนึ่งพาร์ติชัน EFI นี้มักจะพาร์ทิชันน้อยกว่า 200MB อยู่กับรูปแบบที่มีป้ายของfat32 EFI systemมันมี.efiไฟล์และการขึ้นต่อกันของมัน (ในรูปของ.dllหรือ.efi) ที่จำเป็นสำหรับการบูทเข้าไปในพาร์ติชั่นที่สามารถบู๊ตได้ (โดยปกติคือระบบปฏิบัติการ) ในคอมพิวเตอร์ของฉันพาร์ติชันนี้มีโครงสร้างที่แสดงโดย schema ต่อไปนี้:

\EFI
   |_Boot
     |_fw
   |_Microsoft
     |_Boot
     |_Recovery
   |_Ubuntu
     |_fw

โดยปกติ.efiไฟล์อาจมีชื่อใด ๆ แต่ดูเหมือนว่าคอมพิวเตอร์บางเครื่องกำลังมองหาชื่อเฉพาะ ดังนั้นฉันจึงพูดถึงชื่อมาตรฐานด้วย

  1. Bootโฟลเดอร์: ได้รับการยอมรับว่าเป็นตัวเลือกการบูตเริ่มต้นและหาก NVRAM ถูกลบด้วยเหตุผล สิ่งนี้จะถูกใช้เป็นค่าเริ่มต้น ชื่อตัวโหลดการบูต efi คือ "bootx64.efi" เมื่อคุณต้องการเลือกบูตโหลดเดอ efi เริ่มต้นให้คัดลอกไฟล์ efi ของคุณและไฟล์ทั้งหมดรอบ ๆ ไปยังโฟลเดอร์บูตและเปลี่ยนชื่อไฟล์ efi ของซอร์สของคุณเป็น "bootx64.efi"

  2. Microsoftโฟลเดอร์: มันเก็บไฟล์บูต efi ของ windows มีไฟล์ efi หลายไฟล์ แต่ไฟล์หลักคือ "efibootmgfw.efi" ฉันแน่ใจว่านี่คือหน้าต่างที่ใช้ในการบูต

  3. Ubuntuโฟลเดอร์: เป็นไฟล์ efi ของ Ubuntu หรือ Mint มีหลาย.efiไฟล์ แต่ไฟล์หลักคือgrubx64.efi

จะทำอย่างไร?

มีตัวเลือกการบูตบางตัวที่ติดตั้งในช่วงเวลาของการติดตั้งระบบปฏิบัติการ อย่างไรก็ตามพวกเขาสามารถไปจากตัวเลือกการบูตของไบออสด้วยเหตุผลที่แตกต่างกันเช่นการถอดและติดตั้ง HDD ใหม่หรือติดตั้งระบบปฏิบัติการใหม่หรือแม้แต่แบตเตอรี่เมนบอร์ดใหม่ มีสองวิธีในการกู้คืนตัวเลือกการบูต

  1. (ไม่แนะนำ) ตามที่อธิบายไว้ในคำตอบบางข้อเราสามารถแทนที่ตัวเลือกการบูตในการทำงานด้วยตัวเลือกที่ไม่ทำงาน แต่ปัญหายังคงเป็นอย่างอื่น

  2. ลงทะเบียนไฟล์บูตเดอร์ efi ที่หายไปด้วยตนเอง

วิธีการทำ?

  1. บูตจากแฟลชที่บูตได้ของ Linux (ฉันใช้แฟลชที่บูตได้ของ Linux Mint) นี่ต้องเป็น EFI usb (GPT usb ที่สามารถสร้างได้โดยโปรแกรมเช่นรูฟัส)

  2. เมานต์พาร์ติชัน EFI distro ของคุณอาจทำสิ่งนี้โดยอัตโนมัติ ข้ามขั้นตอนนี้หาก/bootมีและแสดงโครงสร้างที่คล้ายกับโครงสร้างด้านบน Ubuntu สมัยใหม่ควรทำสิ่งนี้เพื่อคุณ

    1. ค้นหาที่อยู่ของพาร์ติชัน EFI ของคุณ สามารถทำได้โดยใช้partedคำสั่งหรือDisksโปรแกรม โดยปกติจะเป็นพาร์ติชันที่หนึ่งหรือสองในดิสก์ที่สามารถบู๊ตได้ ( /dev/sda1หรือ/dev/sda2) พาร์ติชันนี้มักจะอยู่ระหว่าง 100MB-200MB พร้อม FAT32 และประเภทพาร์ติชันของระบบ EFI

    2. เมาท์พาร์ติชัน EFI คุณสามารถใช้dfคำสั่งเพื่อตรวจสอบว่ามีการติดตั้งพาร์ติชันมาก่อนหรือไม่

      df  /boot/efi
      

      หากพาร์ติชันไม่ได้ถูกเมาท์มาก่อน (ไม่แสดงในคำสั่งก่อนหน้า) เมาท์พาร์ติชันโดยใช้mountคำสั่ง:

      mount  /dev/sda1  /boot/efi
      
  3. ตอนนี้ถ้าคุณเรียกดู/boot/efiคุณจะเห็นโครงสร้างไฟล์คล้ายกับของฉันที่อธิบายไว้ข้างต้น ควบคุมหากคุณพบโฟลเดอร์ของระบบปฏิบัติการที่หายไป ในกรณีที่คอมพิวเตอร์ประวัติของฉันเท่านั้นที่สามารถเห็นตัวเลือกการบูต windows แต่ฉันยังมีตัวเลือกการบูต Grub ของลินุกซ์มิ้นต์

    • (ไม่แนะนำ) ตัวเลือกการบูต windows ของฉันใช้งานได้ก่อนอื่นสำหรับวัตถุประสงค์ในการทดสอบฉันทำการสำรองข้อมูลโฟลเดอร์ Microsoft ซึ่งเก็บไฟล์ไว้จำนวนหนึ่งด้วยไฟล์ boot efi ของ windows ( bootmgfw.efi) จากนั้นผมเปลี่ยนชื่อโฟลเดอร์อูบุนตูลงในไมโครซอฟท์ต่อไปที่ผมเปลี่ยนชื่อไปgrubx64.efi bootmgfw.efiหลังจากรีสตาร์ทแทนที่จะโหลดในเมนู windows grub อย่างไรก็ตามเวลานี้การบูตไปยัง windows ทำได้โดยใช้ grub เท่านั้น และไม่สามารถบูตโดยตรงไปยัง windows ได้

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • ( วิธีที่แนะนำ ) เพียงแค่เขียนที่อยู่ของไฟล์ efi ที่คุณต้องการให้ระบบปฏิบัติการที่เกี่ยวข้องเห็นได้ในตัวเลือกการบูตของไบออส ในกรณีของฉัน Linux Mint หายไปจากรายการบูตของ BIOS ของคอมพิวเตอร์ ที่อยู่ของไฟล์ efi นั้น/efi/ubuntu/grubx64.efiสัมพันธ์กับรูตของพาร์ติชัน EFI จากนั้นฉันลงทะเบียนเป็น NVRAM โดยใช้คำสั่งefibootmgr

      efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L nameForBootOption
      

      ในp 1ส่วนของคำสั่งที่ 1 กำหนดหมายเลขพาร์ติชันของ efi พาร์ติชันในดิสก์ที่กำหนด nameForBootOptionเป็นชื่อที่กำหนดเองที่กำหนดให้กับตัวเลือกการบูต

* ระวังที่จะเขียนที่อยู่ที่ถูกต้อง เมื่อคุณติดตั้งพาร์ติชั่นใน linux มันเมาท์พาร์ทิชันไปยังโฟลเดอร์บางอย่างภายใต้รากที่ขยายที่อยู่ที่แท้จริงเป็นสิ่งที่ต้องการ/media/mint/CC1F-9708/EFI/ubuntuแต่เราจะต้องให้/EFI/ubuntuส่วนหนึ่ง

* Disksโปรแกรมเป็นเครื่องมือแบบกราฟิกที่ยอดเยี่ยมที่มีอยู่ในแฟลชที่สามารถบูตลินุกซ์มิ้นท์โดยค่าเริ่มต้น สามารถใช้เพื่อตรวจสอบและค้นหาพาร์ติชัน EFI และยังสามารถใช้สำหรับการติดตั้งพาร์ติชัน EFI โดยไม่ต้องใช้คำสั่ง mount หรือแยก คุณจะต้องค้นหามันในเมนูการตั้งค่าดิสก์


ไปในทางที่ไม่แนะนำ ทำงานได้อย่างสมบูรณ์แบบ
Evan Carroll

1

คุณได้รับผลกระทบจากข้อผิดพลาดนี้: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091477

วิธีการแก้:

  1. ผ่าน Gparted สร้างพาร์ติชัน EFI อื่น (FAT32, 200MB ซึ่งอยู่ภายใน 100GB แรกของดิสก์)
  2. ย้ายการตั้งค่าสถานะ 'เริ่มระบบ' บน
  3. ทำให้ Ubuntu ใช้ ESP ใหม่นี้ (เช่นผ่าน Boot-Repair -> การซ่อมแซมที่แนะนำ)

ทีนี้การสร้าง ESP อีกอันใน 100GB แรกนั้นหมายถึงการย้ายพาร์ติชั่น win8 มากกว่า 200MB ... ต้องระวังที่นั่นฉันคิดว่า อาจทำลายการบูท Windows บางทีฉันควรจะพัดมันออกไป ฉันไม่ชอบมันเลย ฉันแค่ต้องการดู netflix จริงๆเท่านั้น!
maddentim

โปรดอัปเดต Boot-Repair (แพ็คเกจ 'boot-sav' และ 'boot-repair') จากนั้นเรียกใช้การซ่อมแซมที่แนะนำและระบุ URL ใหม่ที่จะปรากฏขึ้น
LovinBuntu

เสร็จแล้ว paste.ubuntu.com/1562554
maddentim

1

ฉันประสบปัญหาคล้ายกันหลังจากติดตั้ง Cent-OS 7 บน windows 10 นี่คือกระบวนการด้านล่างที่ฉันติดตาม

  • ระบบปฏิบัติการเริ่มต้นคือ windows 10
  • ติดตั้ง Cent-OS 7 โดยใช้ uefi usb ที่สร้างโดย rufus

ปัญหา: windows 10 กำลังโหลดและเมนูการบู๊ตระบบปฏิบัติการ OS ก็ยังไม่ปรากฏขึ้น

  1. ฉันจะแก้ไขอย่างไร:
  2. ไปที่ Bios
  3. เปิดใช้งานการบูตแบบดั้งเดิม (เพียงขั้นตอนพิเศษสำหรับข้อควรระวังในอนาคต)
  4. ไปที่ตัวเลือกการบูต
  5. คลิกตัวจัดการการบูตระบบปฏิบัติการ
  6. ย้าย CentOS UEFI เหนือหน้าต่าง: กด f10 เพื่อบันทึก
  7. คลิก OD bootmanager อีกครั้งและตรวจสอบ
  8. กด f10 เพื่อบันทึกและออก

ตอนนี้ระบบของคุณจะบู๊ตเป็น centos UEFI

เนื่องจากเราเปิดใช้งานการบูตแบบดั้งเดิมเราสามารถเลือกปุ่ม esc เพื่อไปยัง BIOS หรือตัวเลือกการบูตอื่น ๆ


1

ฉันพบวิธีรับ HP Pavilion ของฉัน g7-2269wm (UEFI) เพื่อบูต rEFInd (อาจเป็นไปได้ด้วง) โดยไม่ต้องเปลี่ยนbootmgfw.efiด้วย rEFInd หรือ GRUB

ฉันติดตั้ง rEFInd และเพิ่ม rEFInd ลงในรายการตัวจัดการการบูตโดยใช้ sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

รีบูตเครื่องโดยใช้ F9 เพื่อเลือก rEFInd จากนั้นเลือก Ubuntu

แล้วเปลี่ยนbootmgfw.efiไปbootmgfwms.efiใช้

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi

จากนั้นฉันรีบูทใหม่และรีบูทเป็น rEFInd โดยไม่ต้องใช้ F9 ตอนนี้รายการ Windows 10 หายไปดังนั้นฉันจึงเลือก Ubuntu

จากนั้นเพื่อกลับรายการ Windows 10 ที่ฉันวิ่งไป

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

จากนั้นฉันเริ่มระบบใหม่และ rEFInd ก็มาโดยไม่ต้องกด F9 และ Windows 10 จะปรากฏเป็นรายการ


1

มันเป็นคำตอบเพิ่มเติมสำหรับหนึ่ง mairabc สำหรับผู้ที่เช่น Vince หรือฉันไม่สามารถบูตเข้าสู่ windows คุณจะต้องมี fs_uuid:

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/bootmgfw.efi

และ hints_string:

# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/bootmgfw.efi

จากนั้นคุณต้องแก้ไขไฟล์ /etc/grub.d/40_custom เช่นนั้น:

menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --no-floppy --set=root your_hints_string your_fs_uuid
    chainloader /EFI/Microsoft/bootmgfw.efi
}

บันทึกและทำ

# update-grub

รีบูตเป็น windows ...


1

ในแล็ปท็อป HP ของฉันฉันทำดังนี้ขั้นตอน:

1 - บูตเข้าสู่ Ubuntu ด้วย F9

2 - ตรวจสอบตำแหน่งที่โหลดบูตของ Windows

sudo efibootmgr -v

ในกรณีของฉัน /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3 - สำรองข้อมูลไฟล์. efi:

sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi

4 - แทนที่ไฟล์ .efi ดั้งเดิมด้วย ubuntu one ( เคล็ดลับ ):

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

5 - เพิ่ม windowsentry menu 10 บนด้วง เปิด/etc/grub.d/40_customและเพิ่มรายการเมนูนี้ในตอนท้ายของไฟล์:

menuentry "Windows 10 click here!" {
    search --set=root --file /EFI/Microsoft/bootmgfw.efi
    chainloader /EFI/Microsoft/bootmgfw.efi
}

6 - บันทึก40_customและ:

sudo update-grub

7 - ในไบออสปิดการใช้งาน Secure Boot (ฉันไม่แน่ใจว่าจำเป็นหรือไม่)

8 - ถ้าทุกอย่างถูกต้องมันจะบูตบนUbuntuโดยปริยายและwindows 10จะเป็นตัวเลือกอื่นในด้วง

มันง่ายกว่าที่ฉันคิด


sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efiทำงานได้อย่างสมบูรณ์แบบ
Evan Carroll

@EvanCarroll คุณคิดว่าฉันควรปรับปรุงคำตอบของฉันหรือไม่ เป็นขั้นตอนที่ฉันทำจริงๆ
Vitor Abella

ฉันไม่แน่ใจว่าคำตอบนี้จำเป็นต้องซื่อสัตย์ มันมีคำพูดมากมาย แต่วิธีการของคุณมีเหมือนกันกับที่เตคินมีในส่วนที่ไม่แนะนำ แต่สำหรับผู้ใช้ลินุกซ์เท่านั้นวิธีนี้ดีมากสำหรับความเรียบง่าย
Evan Carroll

1

ฉันมีแล็ปท็อป 2018 HP ขนาด 14 นิ้วพร้อม Windows 10 และ Ubuntu ดูอัลบูต ฉันเคยกด F9 เพื่อเลือกระบบปฏิบัติการที่ฉันต้องการและฉันได้ทำไปสองสามสัปดาห์แล้ว

วิธีการแก้:

  • ปิดเครื่องและกด F10 เพื่อเข้าสู่ BIOS

  • นำทางไปยังส่วนของ BIOS ซึ่งแสดงรายการลำดับการบู๊ต

  • กด Enter บนตัวจัดการการบูตระบบปฏิบัติการ

  • ใช้ F5 หรือ F6 เพื่อสลับ Ubuntu กับ Windows

  • บันทึกและออก.


0

นี่ไม่ใช่ปัญหาของ Windows! เฟิร์มแวร์ HP นั้นเป็นรถที่ไม่ได้ใช้งาน (หรือแม้กระทั่งรองรับอย่างเหมาะสม) ตัวแปร UEFI firmare "BootOrder" ฉันคิดว่าวิธีแก้ไขปัญหานี้เพียงอย่างเดียวคือการแทนที่ไฟล์ตัวโหลดบูต Windows (ตามที่กล่าวไว้แล้ว) ด้วย grub.efi ของคุณ


0

สถานการณ์ของฉันคล้ายกับ Michal Žarnayของวันที่ 19 สิงหาคม '15 เวลา 15:20 โพสต์: ฉันได้รับมินิทาวเวอร์ HP Pavillion Slimline 400-314 บางส่วนไม่จำเป็นต้องติดตั้ง Windows 8 ดังนั้นจึงเตรียม HDD และติดตั้ง Ubuntu 14.04 อีกครั้งทันที Grub2

น่าเสียดายที่เมนู BIOS ของ Pavillion มีข้อ จำกัด อย่างมากในการกำหนดค่าการบู๊ต ไม่มีตัวเลือกแฟนซีส่วนใหญ่ที่คนอื่นส่วนใหญ่อธิบายไว้ที่นี่ แม้แต่การพยายามเปลี่ยนลำดับการบู๊ตก็ล้มเหลว

โซลูชันเดียวที่ฉันได้รับจากการทำงานคือใช้วิธีแก้ปัญหา "การตั้งชื่อสำรอง" ตามที่อธิบายไว้ในส่วน "วิธีแก้ไขปัญหาการตั้งชื่ออื่น" ของบล็อกนี้


1
ยินดีต้อนรับสู่ถาม Ubuntu! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
Mark Kirby

0

ฉันยืนยันว่าขั้นตอนของ @Vitor Abella แก้ไขปัญหาการบูตคู่สำหรับโน้ตบุ๊ค HP 2000 ของฉันยกเว้นว่าฉันจะต้องทำสิ่งใดสิ่งหนึ่งต่อไปนี้ (ตามที่ได้รับการกล่าวถึงโดย @mairabc):

  • เปิดใช้งานการบูตแบบดั้งเดิม (โดยค่าเริ่มต้นการบูตเพื่อความปลอดภัยจะถูกปิดใช้งาน)

หรือ

  • ปิดใช้งานการเริ่มระบบแบบดั้งเดิมและเปิดใช้งานการเริ่มระบบความปลอดภัย

0

หากคุณไม่ต้องการย้ายไฟล์บูตคุณสามารถลองเปลี่ยนลำดับการบู๊ตด้วยตนเอง:

เข้าสู่ Ubuntu ด้วยตนเองและตรวจสอบลำดับการบู๊ตปัจจุบันและรหัสของพวกเขาโดยใช้:

sudo efibootmgr -v

จากนั้นเปลี่ยนลำดับการบู๊ตโดยใช้ -o และ ID (ตามลำดับการบูตจากซ้ายไปขวา):

sudo efibootmgr -o 0000,3000,0001,2001,2002,2003



ตัวอย่าง :
1. แสดงการตั้งค่าการบูตปัจจุบัน

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,3000,0000,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

2. เปลี่ยนลำดับการบู๊ต (เราต้องการเริ่ม Ubuntu ก่อนนั่นจะแสดงเมนูบูทเมื่อเริ่มต้น):
โปรดทราบว่าการลองครั้งแรกให้ข้อผิดพลาดเพราะไม่พบ Boot2003 (ไดรฟ์ floppydisk?) อย่างที่คุณเห็นมันคือ สร้างใหม่หลังจากรีบูตแม้ว่า

$ sudo efibootmgr -o 0000,3000,0001,2001,2002,2003
Invalid boot order entry value: 0000,3000,0001,2001,2002,2003
                                                         ^
Boot entry 2003 does not exist

$ sudo efibootmgr -o 0000,3000,0001,2001,2002
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

3.Reboot เมนูการบูตควรปรากฏขึ้น (2003 จะถูกเพิ่มอีกครั้งโดยอัตโนมัติ):

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

0

วิธีแก้ปัญหาของฉันรู้ได้เมื่อฉันรู้ว่า grub4dos กำลังโหลด

ทำรายการนี้ค่ะ men.lst

title Linux
find --set-root /-name.efi
boot /-name.efi

0

หลังจากติดตั้ง Ubuntu 14.04 64 บิตบนโน้ตบุ๊ก HP-15-r248nf ที่มี Windows 8 อัปเกรดเป็น 10 การติดตั้งซึ่งเกิดขึ้นอย่างราบรื่นนอกเหนือจากปัญหาการเชื่อมต่อ Wifi ที่ลดลงพร้อมไดรเวอร์ Realtek Wifi (แก้ไขโดยใช้echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf) พีซียังบูตภายใต้ Windows

อูบุนตูผ่านด้วงนั้นสามารถใช้งานได้เฉพาะเมื่อใช้ปุ่ม ESC ในระหว่างขั้นตอนการบู๊ต การซ่อมแซมการบูตไม่ได้ช่วย แต่จริงๆแล้วมันติดตั้งตัวเลือกจำนวนมากในด้วง แต่ด้วงก็ยังไม่สามารถเข้าถึงได้โดยตรง

ในความเป็นจริงมันจำเป็นเพียงแค่เปลี่ยนลำดับการบู๊ตจากค่าเริ่มต้น

  • ที่ขั้นตอนการบู๊ตหลังจากเปิดพีซีประเภท Esc จากนั้นกด F10 เพื่อเข้าสู่การตั้งค่า BIOS
  • ไปที่แท็บ“ การกำหนดค่าระบบ”, ลงไปที่“ ตัวเลือกการบูต” กดปุ่มตกลง. ปิดใช้งาน“ Secure boot”
  • ลงไปที่คำสั่งบูต UEFI ฉันใช้ F5 / F6 เป็นตัวจัดการการบูตระบบด้านบน (อาจไม่จำเป็น)
  • เลือก“ ตัวจัดการการบูตระบบปฏิบัติการ” ด้วย Enter การใช้ F5 / F6 ย้ายอูบุนตูไปด้านบนเหนือตัวจัดการการบูตของ Windows
  • ออกจากการตั้งค่า Bios ด้วยการบันทึก / ออก F10 และยืนยันการเปลี่ยนแปลงที่คุณทำ

ตอนนี้คุณจะถูกนำไปที่ด้วงซึ่งคุณเลือกตัวเลือก Ubuntu ที่มีเครื่องหมายดาวอยู่ด้านบนซึ่งจะบูตโดยอัตโนมัติหลังจากการหน่วงเวลาสั้น ๆ


2
โปรดจัดรูปแบบนี้เล็กน้อย ฉันไม่สามารถบอกได้ว่ามันเป็นคำตอบหรือเปล่า
TheWanderer

0

แก้ไขปัญหาการบูต EFI ของฉันเช่นนี้

efibootmgr -oตัวเลือกที่ถูกเขียนทับเมื่อคุณรีบูตดังนั้นมันจะไม่ทำงาน

อย่างไรก็ตามฉันพบว่า-nตัวเลือกทำ ดังนั้นใน usb-ubuntu แบบสดๆจะทำงานefibootmgrและค้นหาหมายเลขสี่หลักสำหรับ Ubuntu และโหลดหมายเลขนั้นด้วย-nตัวเลือก จากนั้นเพื่อให้สามารถรีบูตจากระบบของคุณทำสคริปต์เช่นนี้:

#!/bin/sh
/usr/bin/efibootmgr -n 0000

แทนที่0000ด้วยรายการ ubuntu การวิ่งcrontab -eจะช่วยให้คุณแก้ไข cron ของคุณได้ เพิ่มบรรทัดเช่นนี้ลงไป:

@reboot /home/"user"/"path"/efibootsj

การดำเนินการนี้จะเรียกใช้สคริปต์efibootsj(หรือชื่ออะไรก็ตาม) เมื่อคอมพิวเตอร์บูทขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.