Làm cách nào để máy tính xách tay HP của tôi khởi động vào grub từ tệp efi mới của tôi?


28

Tôi có một máy tính xách tay HP Pavilion Sleekbook 14 mà tôi đã cài đặt khởi động kép Ubuntu 12.10 với các cửa sổ ban đầu 8. Tôi đã sử dụng sửa chữa khởi động để được thiết lập để khởi động vào grub.

Vấn đề của tôi là tôi đã không thể làm cho nó khởi động thẳng ra khỏi tệp efi mới được tạo. Tôi đã xem xét các tùy chọn khởi động trong màn hình bios, nhưng nó không cho tôi lựa chọn nào cho Ubuntu. Cách duy nhất tôi có thể khởi động vào Ubuntu là nhấn F9 khi bật nguồn hệ thống và sau đó điều hướng thủ công đến tệp efi Ubuntu. Điều này hoạt động nhưng nếu tôi không chú ý, nó sẽ khởi động vào windows.

Sau khi tôi chạy xong boot-Repair, nó bảo tôi khởi động từ sda2 / EFI / ubfox / shimx64.efi Tôi đã thấy một số gợi ý rằng tôi nên di chuyển tệp này thay cho windows bootmgfw.efi, nhưng tôi lo ngại rằng tôi sẽ phá vỡ mọi thứ và không thể khởi động cài đặt windows 8. Mặc dù tôi đã không thích win8 thậm chí nhiều hơn win7, thỉnh thoảng tôi vẫn cần nó cho một vài nhiệm vụ ...

Các chi tiết về sửa chữa khởi động của tôi có ở đây: http://paste.ubfox.com/1418009/


shimx64.efi đã làm việc cho tôi, mặc dù trong trường hợp của tôi, Ubuntu Gnome đã không khởi động sau khi cài đặt và phải chọn tệp bằng cách tạo tùy chọn khởi động mới trong BIOS.
timkofu

Có rất nhiều câu trả lời về Windows ở đây, bạn đang cố gắng khởi động vào Linux hay Windows?
Evan Carroll

Rất nhiều câu trả lời xấu phức tạp không cần thiết vì các mối quan tâm của cửa sổ chỉ cần đổi tên efi của grub sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efitừ câu trả lời của @Vitor Abella
Evan Carroll

Câu trả lời:


29

Tôi gặp vấn đề tương tự với HP Pavilion g6 của tôi khi thử khởi động kép Ubuntu 12.04.3 LTS và Windows 8. Đó là, ngay cả sau khi "chạy" thành công Boot-Repair, tôi vẫn có máy tính xách tay khởi động trực tiếp vào Windows 8. Nếu tôi nhấn F9 trước khi biểu tượng HP xuất hiện, tôi có thể vào Menu khởi động (menu của HP? Tôi không biết ...) và từ đó, để chọn mục "Ubuntu", từ đó đưa tôi đến GRUB 2 và cuối cùng là cài đặt Ubuntu của tôi.

Tuy nhiên, tôi muốn có khả năng máy tính khởi động trực tiếp lên Linux mà không cần bất kỳ sự can thiệp nào của người dùng.

Cuối cùng, câu trả lời của Rod Smith ở trên , kết hợp với thông tin mà tôi tìm thấy trong một diễn đàn khác, đã lừa tôi. Tôi đã tắt Secure Boot và Legacy Boot cũng bị tắt.

Đây là những gì tôi đã làm:

  • Tôi đã khởi động vào bản cài đặt Ubuntu của mình bằng thủ thuật phím F9 khi khởi động để có thể chọn bộ tải khởi động.
  • Khi ở Ubuntu, tôi đã mở một thiết bị đầu cuối.
  • Sử dụng lệnh bên dưới, tôi đã kiểm tra vị trí bộ tải khởi động Windows:

    $ sudo efibootmgr -v
    
  • Trong trường hợp của tôi, bộ tải khởi động ban đầu đã ở đây : /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi. Xin lưu ý rằng trong máy tính của bạn, nó có thể ở một nơi khác. Nếu vậy, bạn sẽ cần điều chỉnh các lệnh bên dưới.

  • Theo khuyến nghị của Rod trong câu trả lời của anh ấy (câu hỏi về cách sửa chữa bộ tải khởi động bằng tay), tôi đã tạo một bản sao lưu của tệp đó bằng cách di chuyển nó lên một cấp:

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • Cuối cùng, tôi đã sao chép bộ tải khởi động của GRUB2 ở nơi đó, "đánh lừa" hệ thống để tải bộ tải khởi động mà tôi muốn thay vì bộ tải khởi động ban đầu của Windows.

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

Vì vậy, cuối cùng tôi đã có khởi động kép của tôi làm việc với GRUB2. Trong trường hợp Windows ghi đè lên bộ tải khởi động một lần nữa sau khi cập nhật (như đã làm với tôi), tôi đã biết các bước để đưa grub trở lại vị trí của nó.

Hy vọng điều này sẽ giúp được ai đó. Xin vui lòng cho tôi biết nếu có bất kỳ vấn đề với giải pháp của tôi.


9
Cảm ơn, nó đã giúp, tuy nhiên tôi không thể khởi động vào Windows. Khi khởi động, nó khởi động GRUB và trong GRUB, tùy chọn 'Windows Boot Manager' lại vào menu GRUB (có thể dự đoán là liên kết này đến cùng một tệp .efi). Có vẻ như vấn đề đó mặc dù tôi không may mắn với việc sửa chữa khởi động. Tôi đã giải quyết nó bằng cách truy cập Ubuntu, trong /etc/grub.d/ điền vào tệp 40_custom bằng cách sao chép mục nhập Windows Boot mà tôi có trong dán ub Ubuntu của mình và chỉnh sửa url của tệp .efi để trỏ đến bản sao lưu của bootmgfw.efi. Vì vậy, thực đơn chứachainloader /EFI/Microsoft/bootmgfw.efi
Vince

1
thực đơn đó không phù hợp với tôi
Pierre

@Pierre Có thể: Có thể sử dụng mục trình đơn sau đây sẽ phù hợp với bạn: menuentry 'Real Windows' {set root = (hd0, gpt2) chainloader /EFI/Microsoft/bootmgfw.efi} (điều này giả sử rằng phân vùng efi của bạn nằm trên đầu tiên ổ cứng, trên sda2. Để chắc chắn, bạn có thể gõ "c" khi bạn ở trong grub và gõ "ls" để xem các phân vùng có sẵn.
tobiasBora 14/12/17

12

Tôi gặp phải vấn đề tương tự trên HP ProBook 4340 với Windows 8 ban đầu đã bị ghi đè bởi Kubfox 15.04 mới (tôi không thích khởi động kép). Trong số các lần thử khác, tôi cũng đã thử Boot-Repair (cả từ HD sau khi cài đặt và thông qua boot-Repair-đĩa ), nhưng bài tập đó có lẽ không cần thiết.

Điều tạo nên mánh khóe là những thay đổi sau trong Thiết lập BIOS (sau khi máy tính khởi động đẩy F10 - đi đến Cấu hình hệ thống - mở Tùy chọn khởi động ):

  1. Kiểm tra khởi động tùy chỉnh

  2. Kiểm tra SecureBoot

  3. Chế độ khởi động : chọn UEFI Hybrid hoặc UEFI Native (Tôi chọn UEFI Native)

  4. Thứ tự khởi động UEFI : đặt Boot tùy chỉnh lên hàng đầu

  5. Xác định tùy chọn khởi động tùy chỉnh : chọn Thêm + đặt cài đặt:\EFI\ubuntu\grubx64.efi

Chúng tôi đã tìm thấy chuỗi đường dẫn chính xác khi mở GRUB thông qua tùy chọn Khởi động từ tệp EFI trong Tùy chọn khởi động nhanh (F9). Ban đầu, danh sách tùy chọn chứa:

  • Quản lý khởi động hệ điều hành
  • Khởi động từ tệp EFI

Sau khi thêm tùy chọn Khởi động tùy chỉnh, nó đã được thêm vào danh sách:

  • Khởi động tùy chỉnh
  • Quản lý khởi động hệ điều hành
  • Khởi động từ tệp EFI

Đã làm chính xác điều đó ở đây trên hp zbook 15, không có may mắn
cmbarbu

Nếu bạn sử dụng một hệ thống UEFI và cài đặt Ubuntu 16.10 sau khi cửa sổ 10 so với câu trả lời này là đúng
leoredi

cảm ơn, tôi đã làm điều nàyDefine Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
m3asmi

6

UEFI của Hewlett-Packard đã khiến tôi đau lòng trong một thời gian. Khắc phục sự cố của bạn đã giúp tôi khởi động lại máy tính xách tay HP của mình trong GRUB một lần nữa - mà không cần nhấn F9 trước.

Tôi gặp một vấn đề: sau khi sửa lỗi, tôi có thể chọn Windows 8 trong GRUB, nhưng Windows 8 sau đó từ chối khởi động và tôi lại thấy menu GRUB.

Sửa chữa của tôi:

  1. Sao chép tệp efi gốc của Microsoft sang /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. Chỉnh sửa /boot/grub/grub.cfgđể nhận ra tệp Microsoft efi đã đổi tên

Máy tính xách tay hiện khởi động lên GRUB, Ubuntu và Windows 8 bây giờ bắt đầu OK từ GRUB.


5

Thông thường, chạy Boot Repair sẽ sao lưu tệp bộ tải khởi động ban đầu của Microsoft ( bootmgfw.efi) bootmgfw.efi.bkpvà thay thế bootmgfw.efitệp gốc bằng bản sao GRUB (hoặc shim) và đầu ra Boot Repair mà bạn đã đăng sẽ hiển thị điều này; tuy nhiên, tôi không thấy một tập tin sao lưu như vậy. Vì vậy, tôi khuyên bạn nên làm một trong ba điều sau:

  • Chạy Boot Repair một lần nữa, nhưng hãy tìm các tùy chọn liên quan đến sao lưu và thay thế bộ tải khởi động của Microsoft. Kích hoạt các tùy chọn đó để tiếp tục quá trình. GRUB có thể hoặc không thể khởi chạy Windows; có vẻ như trúng hoặc bỏ lỡ - và "bỏ lỡ" nhiều hơn nếu bạn để Secure Boot hoạt động.
  • Thực hiện công việc theo cách thủ công: Từ Linux, sao lưu /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi(Tôi khuyên bạn nên chuyển nó xuống một cấp, /boot/efi/EFI/Microsoft/bootmgfw.efithay vì đổi tên thành bootmgfw.efi.bkp, vì cái sau không chuẩn và làm cho các công cụ khác ngoài Boot Repair và GRUB của Ubuntu không thể định vị được nó). Sao chép /boot/efi/EFI/ubuntu/grubx64.efivào vị trí của nó; hoặc nếu bạn có kế hoạch giữ Secure Boot hoạt động, hãy sao chép /boot/efi/EFI/ubuntu/shimx64.efivào vị trí của nó và sao chép grubx64.efivào/boot/efi/EFI/Microsoft/Bootsử dụng tên gốc của nó. Sau đó, bạn sẽ cần sửa đổi cấu hình GRUB của mình để cho phép nó khởi chạy trình tải khởi động Windows ở vị trí mới hoặc dưới tên mới. (Tuy nhiên, tôi nghe nói GRUB chưa thể khởi chạy trình tải khởi động Windows ở chế độ Khởi động an toàn, vì vậy, nếu bạn muốn khởi chạy Windows từ GRUB, bạn có thể cần phải tắt Secure Boot. OTOH, tôi chưa bao giờ thử điều này , vì vậy tôi có thể bị nhầm lẫn về khả năng của GRUB về mặt này.)
  • Vô hiệu hóa Secure Boot, sau đó khởi động Linux và cài đặt trình quản lý khởi động rEFInd của tôi bằng cách sử dụng gói Debian. Khi đã xong, gõ sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. Lệnh sau di chuyển và đổi tên các tệp theo cách tương tự như quy trình thủ công mà tôi vừa mô tả hoặc với Boot Repair làm gì, nhưng nó thiết lập rEFInd làm trình tải khởi động mặc định thay vì GRUB. Nếu bạn muốn sử dụng Secure Boot, bạn sẽ có thể làm như vậy bằng cách tung hứng các tệp và cài đặt phiên bản shim mới (shim của Ubuntu đủ sớm để nó không hoạt động chính xác với rEFInd). Cài đặt rEFInd theo cách này cho phép bạn khởi động mà không cần sử dụng GRUB và sự kết hợp của tập lệnh cài đặt (được thực thi bởi hệ thống gói khi bạn cài đặt gói Debian) và mvrefind.shtập lệnh xử lý các vấn đề bạn gặp phải.

Đối với bản ghi, các sự cố bạn gặp phải có liên quan đến các lỗi đã biết khi triển khai EFI của HP. Về cơ bản, phần sụn được mã hóa cứng để khởi động từ bộ tải khởi động của Microsoft và gây khó khăn hoặc không thể khởi động từ bất cứ thứ gì khác. Tôi thực sự khuyên bạn nên khiếu nại với HP về điều này; họ sẽ không khắc phục những vấn đề như vậy trừ khi mọi người phàn nàn.

Trong ba giải pháp, sử dụng Boot Repair có thể là cách dễ nhất để làm việc; nhưng như tôi đã lưu ý, việc đặt tên không chuẩn mà Boot Repair sử dụng có thể gây ra sự cố cho các tiện ích khác trong tương lai. Các điều chỉnh thủ công sẽ đòi hỏi nhiều nỗ lực hơn để làm việc, nhưng sẽ sạch hơn trong thời gian dài. Một số người đã báo cáo sự cố khiến GRUB tải chuỗi bộ tải khởi động Windows, do đó, tùy chọn này có thể khiến bạn đau đầu về điểm số đó. rEFInd có nhiều khả năng khởi động Linux hoặc Windows mà không gặp vấn đề gì, nhưng như bạn có thể biết từ quy trình, để nó hoạt động có thể sẽ cần một chút nỗ lực hơn so với chạy Boot Repair một lần nữa, mặc dù có lẽ ít hơn so với việc xử lý tệp thủ công. Sử dụng rEFInd kết hợp với Secure Boot đòi hỏi phải nhảy nhiều hơn vào lúc này. (Xem tài liệu của rEFInd để biết chi tiết.

Có rủi ro liên quan đến cả ba giải pháp; Việc triển khai EFI khác nhau quá nhiều giữa chúng, điều đó có nghĩa là một quy trình tự động hoặc thủ công hoạt động tốt trên một máy tính có thể thất bại thảm hại trên máy tính khác. Để bảo vệ bản thân, tôi khuyên bạn nên sao lưu ESP của bạn (thông thường /boot/efitrong Linux); chỉ cần đóng gói các tập tin trong một tarball hoặc sao chép chúng vào một thư mục sao lưu. Nếu có lỗi nghiêm trọng, bạn có thể khởi động bằng đĩa khẩn cấp và khôi phục các tệp. Điều đó có thể sẽ khiến máy tính khởi động lại.


Cảm ơn nhiều! Tôi chưa thử bất kỳ lựa chọn nào của bạn, nhưng sẽ vào cuối tuần này.
maddentim

Trình quản lý khởi động rEFInd của bạn trông thú vị. Vì vậy, bạn đang nói rằng tôi có thể tắt Secure Boot và vẫn sử dụng Win8? Một câu hỏi tôi có là khi tôi cố gắng tar / boot / efi, tar đã cho tôi lỗi trên một số tệp trong thư mục ubfox. Chúng có những cái tên lạ như 'ame = "App.lic'. Xem các dòng 809 đến 817 trong paste.ub Ubuntu.com/1418009 Cài đặt cuối cùng này thực sự là nỗ lực thứ ba của tôi. Tôi nghĩ chúng là rác và có thể được gỡ bỏ. Tôi sẽ đăng lại sau khi tôi hoàn thành một trong các bước của bạn.
maddentim

Tôi đã thấy một số báo cáo về việc mọi người vô hiệu hóa Secure Boot và không gặp vấn đề gì khi khởi động Windows, vì vậy đó không phải là vấn đề. Nếu bạn muốn giữ cho nó được kích hoạt vì lợi ích bảo mật, điều đó có thể hiểu được, nhưng bạn không nên lo lắng về việc Windows sẽ không thể khởi động được. Đối với tarlỗi của bạn , âm thanh đó giống như một tập lệnh có lỗi và tạo các tệp có tên lạ. Tôi đã không nhận thấy các tệp trong đầu ra của bạn trước đây, nhưng có thể hiểu được rằng bất kỳ lỗi nào được tạo ra cũng là nguyên nhân gây ra sự cố khởi động của bạn. Nếu vậy, sử dụng rEFInd có khả năng giải quyết vấn đề, nhưng các giải pháp khác có thể thất bại.
Rod Smith

rEFInd không cài đặt thành công. Tôi nghĩ LovinBfox có vấn đề được xác định. / boot / EFI là chỉ đọc. Đây là một phần của đầu ra: mkdir: không thể tạo thư mục /boot/efi//EFI/refind': Read-only file system cp: cannot create regular file /boot/efi//EFI/refind/refind_x64.efi ': Không có tệp hoặc thư mục như vậy Cài đặt trình điều khiển cho ext4 (ext4_x64.efi) mkdir: không thể tạo thư mục `/ boot / efi // EFI / refind ': Hệ thống tệp chỉ đọc Sao chép các tệp nhị phân
rEFInd

3

Tôi đã dành một ngày cho cùng một vấn đề và cuối cùng tôi đã giải quyết nó. Sau đây là giải pháp chính xác. Toàn bộ bài viết để giải quyết vấn đề là ở đây được viết bởi Rod Smith .

Thông tin hữu ích

Để khởi động vào bảng phân vùng GPT với bộ tải khởi động efi. eficác tệp được tạo bởi các hệ điều hành trong thời gian cài đặt phải được cung cấp cho bios UEFI của máy tính để cung cấp cho nó khả năng khởi động vào các hệ điều hành lõi của chúng.

Để giữ các tệp efi, chúng ta cần có một phân vùng EFI. Đây thường là phân vùng dưới 200 MB có fat32định dạng với nhãn của EFI system. Nó bao gồm .eficác tệp và các phụ thuộc của chúng (Trong hình dạng .dllhoặc .efi) cần thiết để khởi động vào bất kỳ phân vùng có thể khởi động (thường là hệ điều hành). Trong máy tính của tôi, phân vùng này có cấu trúc được hiển thị bởi lược đồ sau:

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

Thông thường .eficác tệp có thể có bất kỳ tên nào nhưng có vẻ như một số máy tính đang tìm kiếm tên cụ thể. Vì vậy, tôi đề cập đến tên tiêu chuẩn quá.

  1. BootThư mục: Được công nhận là tùy chọn khởi động mặc định và nếu NVRAM bị xóa vì một lý do. Điều này sẽ được sử dụng theo mặc định. Tên của trình tải khởi động efi là "bootx64.efi". Khi bạn muốn chọn một trình tải khởi động efi mặc định, sao chép tệp efi của bạn và tất cả các tệp xung quanh nó vào thư mục khởi động và đổi tên tệp efi của nguồn của bạn thành "bootx64.efi".

  2. MicrosoftThư mục: Nó chứa các tệp khởi động efi của windows. Có một số tệp efi nhưng tệp chính là "efibootmgfw.efi". Tôi chắc chắn rằng điều này được sử dụng bởi các cửa sổ để khởi động.

  3. UbuntuThư mục: Nó chứa tệp efi của Ubuntu hoặc Mint. Có một số .efitệp nhưng tệp chính làgrubx64.efi

phải làm sao

Đã có một số tùy chọn khởi động được cài đặt trong thời gian cài đặt hệ điều hành. Tuy nhiên, chúng có thể bị loại bỏ khỏi các tùy chọn khởi động của bios vì các lý do khác nhau như gỡ bỏ và cài đặt lại ổ cứng hoặc cài đặt hệ điều hành mới hoặc thậm chí là pin bo mạch chủ mới. Có hai giải pháp để phục hồi các tùy chọn khởi động.

  1. (Không nên dùng) Vì được mô tả trong một số câu trả lời, chúng tôi có thể thay thế tùy chọn khởi động đang hoạt động bằng tùy chọn không hoạt động. Nhưng vấn đề vẫn là cách khác.

  2. Đăng ký tập tin bộ tải khởi động efi bị thiếu bằng tay.

Làm thế nào để làm gì?

  1. Khởi động từ flash có thể khởi động Linux (Tôi sử dụng flash khả năng khởi động của Linux Mint). Đây phải là một usb EFI. (USB GPT có thể được tạo bởi các chương trình như rufus)

  2. Gắn kết phân vùng EFI, bản phân phối của bạn có thể tự động làm điều này. Bỏ qua bước này nếu /bootcó sẵn và hiển thị một cấu trúc tương tự như ở trên. Ubuntu hiện đại nên làm điều này cho bạn.

    1. Tìm địa chỉ của phân vùng EFI của bạn. Điều này có thể được thực hiện bằng cách sử dụng partedlệnh hoặc Diskschương trình. Nó thường là phân vùng thứ nhất hoặc thứ hai trong đĩa có thể khởi động. ( /dev/sda1Hoặc /dev/sda2) Phân vùng này thường nằm trong khoảng từ 100MB-200MB với FAT32 và loại phân vùng của Hệ thống EFI.

    2. Gắn kết phân vùng EFI. Bạn có thể sử dụng dflệnh để kiểm tra xem phân vùng đã được gắn trước đó chưa.

      df  /boot/efi
      

      Nếu phân vùng không được gắn kết trước (Không được hiển thị trong lệnh trước) Gắn kết phân vùng bằng cách sử dụng mountlệnh:

      mount  /dev/sda1  /boot/efi
      
  3. Bây giờ nếu bạn duyệt, /boot/efibạn sẽ thấy cấu trúc tệp tương tự như cấu trúc của tôi đã giải thích ở trên. Kiểm soát nếu có bạn có thể tìm thấy thư mục của hệ điều hành bị mất của bạn. Trong trường hợp máy tính của tôi, bios chỉ có thể thấy tùy chọn khởi động windows, tuy nhiên tôi cũng có tùy chọn khởi động Grub của linux Mint.

    • . ( bootmgfw.efi) Sau đó, tôi đổi tên thư mục ubuntu vào Microsoft, hôm sau tôi đổi tên grubx64.efiđể bootmgfw.efi. Sau khi khởi động lại, thay vì khởi động vào menu grub của windows, tuy nhiên, lần này việc khởi động vào windows chỉ có thể với grub. Và khởi động trực tiếp vào windows là không thể.

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • ( Cách khuyến nghị ) Chỉ cần viết địa chỉ của tệp efi mà bạn muốn hệ điều hành liên quan của nó được nhìn thấy trong các tùy chọn khởi động của bios. Trong trường hợp của tôi, Linux Mint đã bị thiếu trong danh sách khởi động của BIOS máy tính. Địa chỉ của tệp efi của nó có /efi/ubuntu/grubx64.efiliên quan đến thư mục gốc của phân vùng EFI. Sau đó, tôi đã đăng ký nó vào NVRAM bằng cách sử dụng lệnh efibootmgr .

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

      trong p 1một phần của lệnh, 1 xác định số phân vùng của phân vùng efi trong đĩa đã cho. nameForBootOptionlà một tên tùy chỉnh được đặt cho tùy chọn khởi động

* Hãy cẩn thận để viết địa chỉ chính xác. Khi bạn gắn kết phân vùng trong linux. Nó gắn kết phân vùng vào một số thư mục dưới thư mục gốc, mở rộng địa chỉ thực thành một cái gì đó giống như /media/mint/CC1F-9708/EFI/ubuntuchúng ta chỉ cần cung cấp /EFI/ubuntumột phần.

* Diskschương trình là công cụ đồ họa tuyệt vời có trên flash flash của linux Mint theo mặc định. Nó có thể được sử dụng để kiểm tra và tìm phân vùng EFI và cũng có thể được sử dụng để gắn phân vùng EFI mà không cần sử dụng bất kỳ lệnh mount hoặc parted nào. Bạn chỉ cần tìm kiếm nó trong menu, Preferences, Disks.


Đã đi cách không khuyến khích. Làm việc hoàn hảo.
Evan Carroll

1

Bạn bị ảnh hưởng bởi lỗi này: https://bugs.launchpad.net/ubfox/+source/grub2/+orms/1091477

Dung dịch:

  1. thông qua Gparted, tạo một phân vùng EFI khác (FAT32, 200MB, nằm trong 100GB đầu tiên của đĩa)
  2. di chuyển cờ 'khởi động' trên nó
  3. làm cho Ubuntu sử dụng ESP mới này (ví dụ: thông qua Boot-Repair -> Khuyến nghị sửa chữa).

Chà, tạo ra một ESP khác bên trong 100GB đầu tiên có nghĩa là di chuyển phân vùng win8 trên 200 MB ... Tôi cần phải cẩn thận. Có thể phá vỡ Windows khởi động. Có lẽ tôi nên thổi bay nó đi. Tôi thậm chí không thích nó. Tôi chỉ thực sự cần nó để xem netflix!
maddentim

Vui lòng cập nhật các gói Boot-Repair ('boot-sav' và 'boot-Repair') sau đó chạy Đề xuất sửa chữa và cho biết URL mới sẽ xuất hiện.
LovinBfox


1

Tôi gặp phải vấn đề tương tự sau khi cài đặt Cent-OS 7 trên windows 10. đây là quy trình dưới đây tôi đã làm theo.

  • HĐH ban đầu là windows 10
  • cài đặt cent-os 7 bằng usb uefi được tạo bởi rufus

vấn đề: windows 10 đã tải và menu khởi động cent OS thậm chí không được hiển thị.

  1. Làm thế nào tôi giải quyết:
  2. đã đi đến Bios
  3. kích hoạt khởi động kế thừa (chỉ là một bước bổ sung cho các biện pháp phòng ngừa trong tương lai)
  4. đi đến tùy chọn khởi động
  5. nhấp vào trình quản lý khởi động hệ điều hành
  6. Di chuyển CentOS UEFI trên các cửa sổ: nhấn f10 để lưu
  7. nhấp vào OD bootmanager một lần nữa và xác minh nó.
  8. nhấn f10 để lưu và thoát

Bây giờ hệ thống của bạn sẽ khởi động theo centos UEFI

kể từ khi chúng tôi kích hoạt khởi động kế thừa, chúng tôi có thể chọn khóa esc để đi tới bios hoặc các tùy chọn khởi động khác


1

Tôi đã tìm được cách để HP Pavilion g7-2269wm (UEFI) của tôi khởi động rEFInd (GRUB cũng có thể) mà không cần thay thế bootmgfw.efibằng rEFInd hoặc GRUB

Tôi đã cài đặt rEFInd và thêm rEFInd vào danh sách trình quản lý khởi động bằng cách sử dụng sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

Khởi động lại bằng F9 để chọn rEFInd và sau đó chọn Ubuntu.

Sau đó đổi tên bootmgfw.efiđể bootmgfwms.efisử dụng

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

Sau đó, tôi đã khởi động lại và nó khởi động lại vào rEFInd mà không phải sử dụng F9. Mục nhập Windows 10 hiện bị thiếu nên tôi đã chọn Ubuntu.

Sau đó, để lấy lại mục Windows 10 tôi đã chạy

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

Sau đó, tôi khởi động lại và rEFInd xuất hiện mà không cần nhấn F9 và Windows 10 xuất hiện dưới dạng một mục.


1

Đó là câu trả lời thêm cho mairabc dành cho những người, như Vince hay tôi, không thể khởi động vào cửa sổ. Bạn sẽ cần fs_uuid:

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

và gợi ý:

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

Sau đó, bạn phải chỉnh sửa tệp /etc/grub.d/40_custom như thế:

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
}

Lưu nó và làm một

# update-grub

khởi động lại vào windows ...


1

Trên máy tính xách tay HP của tôi, tôi đã làm như sau, từng bước:

1 - Khởi động vào Ubuntu với F9

2 - Kiểm tra vị trí bộ tải khởi động Windows

sudo efibootmgr -v

Trong trường hợp của tôi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3 - Sao lưu tệp .efi:

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

4 - Thay thế tệp .efi ban đầu bằng tệp ubfox ( thủ thuật ):

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

5 - Thêm windows 10 menu trên grub. Mở /etc/grub.d/40_customvà thêm mục menu này vào cuối tập tin:

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

6 - Lưu 40_customvà:

sudo update-grub

7 - Trên bios Tắt Khởi động an toàn (Tôi không chắc có cần không)

8 - Nếu mọi thứ đều ổn, nó sẽ khởi động trên Ubuntu theo mặc định và windows 10 sẽ là một tùy chọn khác trên grub.

Nó dễ hơn tôi nghĩ.


sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efilàm việc hoàn hảo
Evan Carroll

@EvanCarroll, bạn có nghĩ rằng tôi nên cải thiện câu trả lời của mình không? Đó thực sự là những bước tôi làm.
Vitor Abella

Chà, tôi không chắc câu trả lời này là cần thiết chút nào. Đó là rất nhiều từ nhưng phương pháp của bạn ở đó, là điều tương tự mà Tekin có trong phần không được đề xuất. Nhưng, đối với những người dùng chỉ sử dụng Linux, phương pháp đó rất tốt cho sự đơn giản của nó.
Evan Carroll

1

Tôi đã có một máy tính xách tay HP 2018, 14 inch với khởi động kép Windows 10 và Ubuntu. Tôi đã từng nhấn F9 để chọn hệ điều hành nào tôi muốn và tôi đã thực hiện được vài tuần nay.

Dung dịch:

  • Tắt máy và nhấn F10 để vào BIOS

  • Điều hướng đến phần BIOS liệt kê thứ tự khởi động

  • Nhấn enter trên trình quản lý khởi động hệ điều hành.

  • sử dụng F5 hoặc F6 để chuyển Ubuntu với Windows.

  • Lưu và thoát.


0

Đây KHÔNG phải là vấn đề của Windows! Phần sụn HP hoàn toàn có lỗi vì nó không sử dụng (hoặc thậm chí hỗ trợ đúng cách) biến công ty UEFI "BootOrder". Tôi nghĩ rằng cách khắc phục duy nhất cho vấn đề này là thay thế tệp bộ tải khởi động Windows (như một số đã được đề cập) bằng grub.efi của bạn.


0

Kịch bản của tôi tương tự như của Michal Žarnay ngày 19 tháng 8 lúc 15h20: Tôi đã nhận được một số tháp mini HP Pavillion Slimline 400-314, không cần Windows 8 được cài đặt sẵn, vì vậy ngay lập tức đã phân vùng lại ổ cứng và cài đặt Ubuntu 14.04 và Grub2.

Thật không may, menu BIOS của Pavillion cực kỳ hạn chế về cấu hình khởi động. Nó không có hầu hết các lựa chọn ưa thích mà hầu hết những người khác đang mô tả ở đây. Ngay cả khi cố gắng thay đổi thứ tự khởi động cũng không thành công.

Giải pháp DUY NHẤT tôi đã làm việc là sử dụng cách giải quyết "đặt tên thay thế" như được mô tả trong phần "Giải pháp đặt tên thay thế" của blog này .


1
Chào mừng bạn đến hỏi Ubuntu! Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Đánh dấu Kirby

0

Tôi xác nhận rằng các bước của @Vitor Abella đã giải quyết vấn đề khởi động kép cho máy tính xách tay HP 2000 của tôi, ngoại trừ việc tôi sẽ cần phải thực hiện một trong các cách sau (như đã được đề cập bởi @mairabc):

  • cho phép khởi động kế thừa (theo mặc định, khởi động bảo mật bị tắt)

hoặc là

  • vô hiệu hóa khởi động kế thừa và kích hoạt bảo mật khởi động.

0

Nếu bạn không muốn di chuyển xung quanh các tệp khởi động , bạn có thể thử thay đổi trình tự khởi động theo cách thủ công:

Truy cập vào Ubuntu một cách thủ công và kiểm tra trình tự khởi động hiện tại và ID của chúng bằng cách sử dụng:

sudo efibootmgr -v

sau đó thay đổi trình tự khởi động bằng cách sử dụng -o và ID (theo thứ tự khởi động từ trái sang phải):

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



Ví dụ :
1. Hiển thị cài đặt khởi động hiện tại

$ 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.Thay đổi thứ tự khởi động (trước tiên chúng tôi muốn khởi động Ubuntu, nó sẽ hiển thị menu khởi động khi khởi động):
Lưu ý rằng lần thử đầu tiên đã xảy ra lỗi vì không thể tìm thấy Boot2003 (ổ đĩa floppydisk?), Như bạn có thể thấy được tạo lại sau khi khởi động lại mặc dù.

$ 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. Menu khởi động sẽ xuất hiện. (2003 được thêm lại tự động):

$ 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

Giải pháp của tôi được nhận ra sau khi tôi biết grub4dos đang tải

thực hiện mục này trong men.lst

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

0

Sau khi cài đặt Ubuntu 14.04 64 bit trên máy tính xách tay HP-15-r248nf với Windows 8 được nâng cấp lên 10 cài đặt diễn ra suôn sẻ bên cạnh sự cố với kết nối Wifi bị rớt với trình điều khiển Wifi Realtek (đã giải quyết bằng cách sử dụng echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf), PC vẫn khởi động trong Windows.

Ubuntu thông qua grub chỉ khả dụng khi sử dụng phím ESC trong giai đoạn khởi động. boot-Repair không giúp được gì, nó thực sự đã cài đặt khá nhiều tùy chọn trong grub, nhưng grub vẫn không thể truy cập trực tiếp.

Trong thực tế, nó chỉ đơn giản là cần thiết để thay đổi thứ tự khởi động từ mặc định.

  • Ở bước khởi động sau khi bật PC loại Esc, sau đó F10 để vào thiết lập BIOS.
  • Chuyển đến tab Cấu hình hệ thống, đặt xuống, tùy chọn vào Boot Boot. Nhấn nút Enter. Vô hiệu hóa
  • Đi xuống thứ tự UEFI Boot. Tôi đặt F5 / F6 lên trình quản lý khởi động hệ điều hành (có thể không bắt buộc).
  • Chọn Trình quản lý khởi động OS OS với Enter. Sử dụng F5 / F6, di chuyển Ubuntu lên trên cùng trên Trình quản lý khởi động Windows.
  • Để lại thiết lập Bios với F10 Save / exit và xác nhận những thay đổi bạn đã thực hiện.

Bây giờ bạn sẽ được chuyển đến grub nơi bạn đã chọn tùy chọn Ubuntu được đánh dấu bằng một ngôi sao trên đầu, nó sẽ tự động khởi động sau một thời gian trễ ngắn.


2
Vui lòng định dạng này một chút. Tôi thậm chí không thể nói nếu đó là một câu trả lời.
TheWanderer

0

Đã giải quyết sự cố khởi động EFI của tôi như thế này:

Các efibootmgr -otùy chọn được ghi đè khi bạn khởi động lại, vì vậy nó sẽ không làm việc.

Tuy nhiên, tôi phát hiện ra rằng -ntùy chọn này. Vì vậy, trong quá trình chạy USB-ubfox trực tiếp efibootmgrvà tìm ra số có bốn chữ số cho ubfox và tải số đó với -ntùy chọn. Sau đó, để có thể khởi động lại từ hệ thống của bạn, hãy tạo một tập lệnh như thế này:

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

Thay thế 0000bằng mục ubfox. Chạy crontab -esẽ cho phép bạn chỉnh sửa cron của bạn. Thêm một dòng như thế này vào nó:

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

điều này sẽ thực thi tập lệnh efibootsj(hoặc bất kể tên là gì) khi máy tính của bạn khởi động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.