Khởi động kép UEFI Windows 7 và Ubuntu 12.04 (cả 64 bit). Mục nhập W7 không xuất hiện trong GRUB


8

Sau khi thử cài đặt cả hai hệ điều hành trong 2 ngày, tôi bối rối và phát điên ... Tôi có SSD 128 GB và ổ cứng 500 GB đều trống. Máy tính xách tay của tôi là Asus K55VM. BIOS hỗ trợ UEFI.

Những gì tôi đã làm xong:

  1. Cài đặt SSD mới (Samsung 830 128GB)

  2. Sử dụng GParted trên liveCD để tạo bảng phân vùng mới (GPT) và tạo 3 phân vùng (trong SSD) cho các mục đích khác nhau:

    • Phân vùng 1: 80 GB (w7);
    • Phân vùng 2: 30 GB (Ubuntu 12.04 -Just / -);
    • Phân vùng 3: 10 GB không được sử dụng (để mở rộng các phân vùng khác trong tương lai)
  3. Cài đặt Windows 7 (với UEFI) trong Phân vùng 1. Điều này tạo ra:

    • / dev / sda1 -> 100 MB cho Hệ thống (Tôi đoán khởi động UEFI) - FAT32
    • / dev / sda2 -> 100 MB aprox. cho MSR
    • / dev / sda3 -> 79.800 MB aprox. cho dữ liệu Windows7

Trong thời điểm này mọi thứ hoạt động tốt. Tôi có W7. Bây giờ tôi cài đặt Ubuntu 12.04 amd64 (với UEFI) như sau:

  1. Cài đặt / trong Phân vùng 2 -> / dev / sda4 30 GB ext4 và trong hdd tôi cài đặt / home và trao đổi.

  2. Tôi chọn bootloader trong / dev / sda1 (trong đó nó được coi là boot UEFI).

  3. Tôi cài đặt bản cập nhật và khởi động lại.

Vấn đề: Bây giờ chỉ xuất hiện menu grub với các mục Ubuntu chứ không phải Windows 7.

Đã tìm thấy giải pháp thay thế : Khi tôi bật máy tính xách tay, trước khi tải GRUB, tôi nhấn phím ESC và xuất hiện BIOS boot, vì vậy tôi có thể chọn khởi động phân vùng Windows, phân vùng Ubuntu, DVD, USB, v.v ... nhưng tôi nghĩ không phải là tốt nhất cách khởi động hệ điều hành khác nhau.

Tôi đã thử: sudo update-grub2 không thành công.

Tôi có thể làm gì??

Câu trả lời:


6

Tìm nơi bộ tải khởi động windows cư trú bằng cách gắn phân vùng efi:

sudo mount -t vfat /dev/sdx1 /mnt/efi/

Và tìm kiếm bootmgfw.efi. Sau đó, tìm UUID của ổ đĩa:

sudo grub-probe --target=fs_uuid /mnt/efi/EFI/Microsoft/Boot/bootmgfw.efi

Thêm UUID này vào /etc/grub.d/40_custom:

menuentry "Windows x86_64 UEFI-GPT" {
    search --fs-uuid --no-floppy --set=root UUID
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Cuối cùng chạy update-grub.


Bạn là anh hùng đẫm máu của tôi !! Cảm ơn rất nhiều mà làm việc khá tốt. Bạn đã tạo ra ngày của tôi =)
Joe

1
Để biết thông tin, Boot-Repair sẽ thêm mục nhập chỉ sau 1 cú nhấp chuột. help.ubuntu.com/community/Boot-Repair
LovinBuntu

Ngoại trừ Sửa chữa khởi động không hoạt động trên hệ thống của tôi ...
fccoelho

3

Giải pháp của jarondl hoàn toàn tốt, nhưng một giải pháp khác là sử dụng chương trình quản lý khởi động riêng để chọn giữa GRUB và bộ tải khởi động Windows. Tôi biết ba trình quản lý khởi động EFI mà bạn có thể cài đặt:

  • rEFIt , có sẵn trong kho của Ubuntu. Lưu ý rằng phiên bản từ trang web của rEFIt sẽ không hoạt động trên các PC dựa trên UEFI, vì nó sử dụng định dạng tệp dành riêng cho máy Mac. Ngay cả phiên bản của Ubuntu cũng có một số trục trặc nhỏ trên các PC dựa trên UEFI. Lý tưởng nhất, rEFIt trình bày một menu khởi động GUI đẹp mắt (mặc dù nó cũng có chế độ văn bản).
  • rEFInd , đây là phiên bản cập nhật của rEFIt với các bản sửa lỗi cho các trục trặc và phần mở rộng UEFI khác nhau để hoạt động với bộ tải khởi động EFI tích hợp của hạt nhân 3.3.0. Lưu ý rằng tôi đã rẽ nhánh / duy trì rEFInd.
  • gummiboot, một trình quản lý khởi động chỉ có văn bản. (Trang web này tiếp tục quên tôi là ai và từ chối cho phép tôi đăng nhiều hơn hai siêu liên kết, hoặc tôi sẽ cung cấp một liên kết.)

Cả rEFIt và rEFInd đều tự động phát hiện các bộ tải khởi động khác, vì vậy khi bạn đã định cấu hình chúng, chúng sẽ phát hiện bất kỳ bộ tải khởi động nào của HĐH và đưa cho bạn một menu. Tôi chưa thử gummiboot, vì vậy tôi không biết cách thiết lập đơn giản như thế nào, nhưng về mặt khái niệm thì tương tự như rEFIt / rEFInd. Việc sử dụng bất kỳ chương trình nào trong số này làm tăng thêm độ phức tạp cho quá trình khởi động, vì vậy nếu GRUB hoạt động và bạn hài lòng với nó, sẽ có rất ít điểm để sử dụng bất kỳ chương trình nào trong số này. Chúng hữu ích nhất nếu GRUB có tính khí thất thường hoặc đơn giản là không hoạt động, như thường thấy với GRUB 2 trên các hệ thống UEFI, theo kinh nghiệm của tôi. Trong tình huống như vậy, bạn có thể bỏ GRUB 2 để ủng hộ ELILO hoặc trình tải sơ khai EFI của hạt nhân 3.3.0 trở lên. Những bộ tải khởi động này không thể chuyển hướng quá trình khởi động sang Windows, làm cho trình quản lý khởi động riêng biệt rất hữu ích.


Refind không hỗ trợ phân vùng ntfs ...
fccoelho

1
Việc rEFInd không đi kèm với trình điều khiển NTFS là không liên quan. Trình tải khởi động EFI của Windows nằm trên Phân vùng hệ thống EFI (ESP), là FAT, vì vậy rEFInd không cần phải truy cập vào ổ đĩa NTFS. Ngoài ra, thật không công bằng khi chỉ ra rEFInd về điểm số này; cả rEFIt và gummiboot đều không có trình điều khiển NTFS.
Rod Smith

0

THANH TOÁN: chỉ dành cho x64

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

Thêm cái này vào /etc/grub.d/40_custom:

menuentry "Boot bootx64.efi, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root UUID

**chainloader (${root})/EFI/Boot/bootx64.efi**
}

Các mã khác không hoạt động.

Đã thử nghiệm trên ASUS N56V

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.