Khởi động kép Ubuntu 12.10 trên UEFI dọc theo Windows 8 (GRUB - lỗi: không thể tìm thấy bản đồ lệnh)


8

Xin chào sau khi cài đặt thành công Ubuntu 12.10 amd64, giờ tôi không thể khởi động Windows 8.

Đây là hành động của tôi:

  1. Tạo phòng (15 GB) cho Ubuntu từ Quản lý máy tính Windows 8
  2. Khởi động Ubuntu 12.10 amd64 LiveUSB bằng EFI và bật Khởi động an toàn
  3. Đã tạo 2 phân vùng mới ở cuối (13 GB Ext4 Root amd 2 GB Swap)
  4. Phân vùng hệ thống EFI Windows 8 được chọn để cài đặt bộ tải khởi động

Grub cho tôi lúc khởi động:

  1. Ubuntu (hoạt động không có vấn đề)
  2. Môi trường phục hồi Windows (rất nhiều lỗi)
  3. Windows 8 (2 thông báo lỗi mô tả ngay bên dưới)

2 thông báo lỗi là:

  • error: can't find command drivemap.
  • error: invalid EFI file path

Chỉnh lưu Tôi đã chọn "Phân vùng hệ thống EFI mới được tạo" để cài đặt bộ tải khởi động, nhưng thực tế, nó đã cài đặt bộ tải khởi động trên Windows 8 EFS ...
Kouros

Bạn đã làm một bản sao lưu trước? tức là phân vùng khởi động / hệ thống windows 8 là một cái gì đó nhỏ như 150-350 MB, vậy có lẽ bạn đã làm dd if=/dev/sda1 of=/media/some_usb_pendrive/backupfile? Nếu một bản sao lưu như vậy tồn tại, tôi sẽ khôi phục hệ thống windows / bắt đầu partitio có thể đã bị "hỏng".
nhân

Xin lỗi, không có bản sao lưu nhưng tôi đã quản lý để lấy lại Windows 8 bằng Môi trường phục hồi (bằng cách nhấn nút hỗ trợ thay vì nút bật nguồn)
Kouros

bạn đã nghiêm túc thực hiện một bản sao của câu hỏi của riêng bạn? Cài đặt Ubuntu 12.10 trên UEFI dọc theo Windows 8
duxk.gh

LƯU Ý: nâng cấp lên 13.04 đã loại bỏ thay đổi này trong cài đặt của tôi.
gcb

Câu trả lời:


6

Tôi tìm thấy một giải pháp tạm thời.

Thêm một mục tùy chỉnh vào bootmenu GRUB

Nối mã dưới đây vào /etc/grub.d/40_custom.

menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

Bạn có thể sử dụng Ctrl+ Alt+ Tđể mở một thiết bị đầu cuối và chạy sudo nano /etc/grub.d/40_custom, sau đó sao chép và dán mã. Cuối cùng, sau đó nhấn Ctrl+ Ođể lưu và Ctrl+ Xđể lại.

Cảnh giác: hd0,gpt1 đây là ID của Phân vùng hệ thống EFI (ESP) của tôi. Nếu ESP của bạn không phải là phân vùng đầu tiên trên ổ cứng đầu tiên của bạn trong khi khởi động , thì của bạn sẽ khác! Ví dụ hd1,gpt2cho phân vùng thứ hai trên ổ đĩa thứ hai.

Thay thế part_gptvới part_msdosnếu ổ đĩa sử dụng MBR và phân vùng di sản và cũng có thể thay đổi hd0,gpt1để hd0,msdos1tương ứng.

Áp dụng thay đổi cho GRUB

Chỉ cần chạy lệnh sau, sẽ tạo ra cấu hình GRUB mới, bao gồm cả mục tùy chỉnh mới:

sudo update-grub

Bây giờ khởi động lại, bạn sẽ có thể khởi động Windows 8 ngay bây giờ. Nếu không, và Windows phàn nàn về cấu hình BCD bị hỏng, sau đó tiếp tục trên superuser: Làm cách nào tôi có thể sửa chữa Bộ tải khởi động EFI của Windows 8?


Cảnh báo: Trong một số trường hợp, nếu bạn khởi động Windows 8, GRUB sẽ được thay thế bởi Windows Boot Manager làm trình quản lý khởi động mặc định.


Tôi nên 'nhắm' để làm gì? Tôi nghĩ đó là phân vùng dữ liệu windows (gpt4 ở đây) nhưng nó hoạt động với gpt1, đây là phân vùng EFI duy nhất tôi có. Tôi mặc dù cài đặt Ubuntu sẽ ghi đè lên nội dung windows của phân vùng EFI, giống như grub làm với MBR ...
gcb

1
Giải pháp này không hiệu quả với tôi. Là nhân vật `xuất hiện trong set root='(hd0,gpt1)'dự định. Nó báo lỗi cho tôi (tôi thử với gpt3) ngay cả khi không có nhân vật đó. Lỗi (hd0,gpt1)là không tìm thấy.
iammilind

3

Các mục Windows sai trong GRUB là do lỗi này: https://bugs.launchpad.net/ubfox/+source/grub2/+orms/1024383

Giải pháp: chạy Boot-Repair 's s Recommended Repairtừ liveCD (hoặc liveUSB).


1
Tôi đã phải tắt "boot an toàn" trong bios trước khi nó hoạt động.
Robin Winslow

@RobinWinslow Có, Boot-Repair cũng hoạt động với tôi (Lenovo Thinkpad S540) nhưng chỉ khi tôi bị vô hiệu hóa SecureBoottrong bios, nếu không Windows 8 vẫn phàn nàn ... Sẽ rất tuyệt nếu điều này có thể hoạt động trong khi vẫn giữ
SecureBoot

0

Tôi tìm thấy một cách để đóng Windows 8 lên. Xem /superuser/499923/preinstalled-windows-8-and-linux-uefi-dual-boot-on-a-l mỏi / 528581

Trong W8, trong cửa sổ lệnh đặc quyền nâng cao, hãy tắt powercfg / h. Vào thời điểm bạn làm điều này, W8 có thể đã ghi đè lên phân vùng EFI. Tôi đã mất vài lần thay đổi bootmgfw.efi và thiết lập lại cho đến khi nó bị kẹt, nhưng bây giờ tôi rất vui.

Tôi không thể biết nếu chỉ khởi động W8 là đủ, hoặc nếu bạn phải đăng nhập và sau đó khởi động lại. Có lẽ ai đó có kiên nhẫn hơn (tôi đã làm việc này hơn nửa ngày) có thể nói.


0

Tôi gặp vấn đề tương tự trên máy tính xách tay Asus-x202 của tôi (chạy W8 & Ubuntu 13.04).

Một công việc hơi khó chịu xung quanh là đủ tốt cho tôi vào lúc này: trong menu khởi động đi đến hệ thống (hoặc bắt đầu bios từ khi bắt đầu sử dụng có lẽ là f2). Nếu bạn sử dụng ghi đè để khởi động, Windows sẽ khởi động như bình thường.


1
Chính xác thì bạn đang đề cập đến điều gì bởi "ghi đè để khởi động"? Tôi không hiểu rằng một phần câu trả lời của bạn.
gertvdijk

0

"Ghi đè để khởi động" là một menu trên tab "khởi động" của menu cấu hình bo mạch chủ. Nó cho phép bạn chọn và bắt đầu ngay lập tức bất kỳ bộ tải khởi động nào được cài đặt trên giàn khoan của bạn.


1
@edwin Câu trả lời này có thể sử dụng mở rộng, nhưng dường như đó là một nỗ lực để trả lời câu hỏi đã được hỏi. cha mẹ : Chào mừng bạn đến hỏi Ubuntu! Tôi khuyên bạn nên chỉnh sửa phần này để thêm thông tin về cách sử dụng tính năng đó, cũng như giải thích kỹ lưỡng hơn về lý do tại sao nó giải quyết vấn đề này. Cảm ơn.
Eliah Kagan

0

Tôi gặp vấn đề tương tự với HP Pavillion Sleekbook mới của tôi, Model 15-b142dx. Nó đi kèm với W8 được tải sẵn. Tôi đã có thể thay đổi kích thước phân vùng Windows từ bên trong Windows, sau đó cài đặt Ubuntu 13.04 64 bit từ ổ USB. Tuy nhiên, khi khởi động lại, W8 khởi động bình thường, không có menu khởi động. Vì vậy, tôi đã sử dụng "sửa chữa khởi động", làm cho hệ thống không thể khởi động được. Khi khởi động, nó sẽ in:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E 
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub

Sau đó nó sẽ tắt.

Sau một số thử nghiệm và lỗi, tôi thấy rằng việc nhấn F10 trong khi khởi động sẽ đưa tôi đến BIOS, nơi tôi có thể tắt Secure Boot. Lần khởi động tiếp theo, tôi đã nhận được một menu LONG từ grub, với rất nhiều mục như:

Windows UEFI bkpbootmgfw.efi
Windows Boot UEFI loader
EFI/HP/BIOSUpdate/CryptRSA32.efi
.
.
.

Tất cả đều được chứa trong một tệp, "/etc/grub.d/25_custom". Tôi đã tạo một bản sao lưu của tệp đó, sau đó loại bỏ tất cả các mục ngoại trừ trình tải UEFI Windows Boot. (Đây là một trong những mục cho phép W8 khởi động). Sau đó tôi đã chạy "update-grub" và tìm kiếm một menu khởi động đẹp hơn nhiều và có thể khởi động cả hệ điều hành.

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.