Grub không hiển thị tùy chọn Windows 8 sau khi khởi động kép


25

Vì vậy, tôi đã khởi động thành công máy Windows 8 của mình với Ubuntu 12.04. Tuy nhiên, tôi vẫn không có một phương pháp thuận tiện để chọn hệ điều hành nào sẽ tải khi khởi động.

Sau khi cài đặt Ubuntu, máy tính của tôi vẫn tải Windows 8 trực tiếp. Sau đó tôi đã thêm vào grubx64.efidanh sách trắng của bộ tải khởi động của tôi. Nhưng sau đó, máy của tôi tải Ubuntu trực tiếp mà không hề thấy bóng GRUB xuất hiện!

Tôi đã sử dụng sửa chữa khởi động và tôi đã nhận được URL dán này.ubfox : paste.ubfox.com/1326074 . Sau khi chạy boot-Repair (và liệt kê lại grubx64.efitệp trắng ), GRUB hiện hiển thị nhưng không có tùy chọn Windows 8 nào!

Cuối cùng, tôi đã chạy sudo fdisk -lvà nó đã cho tôi điều này:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x6396389f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1465149167   732574583+  ee  GPT
Partition 1 does not start on physical sector boundary.

Tôi đoán vấn đề của tôi có liên quan đến cảnh báo từ fdiskphía trên nhưng tôi không biết phải làm gì với nó. Làm thế nào để tôi tiến hành bây giờ?

Chỉnh sửa

Của tôi etc/default/grublà như sau:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Ngoài ra, chỉ để ghi lại, đây là những gì tôi đã làm trong khi cài đặt khởi động kép của mình. Hướng dẫn (sử dụng, 11.10, tôi phải lưu ý), không đề cập bất cứ điều gì về vấn đề này. Có điều gì tôi không nên làm không?


Đọc câu trả lời này, có thể giúp bạn: askubuntu.com/questions/84501/...
NickTux

Câu trả lời:


17

Đầu tiên, fdisk -lđầu ra của bạn không phải là một vấn đề; chỉ đơn giản xác định đĩa của bạn là sử dụng Bảng phân vùng GUID (GPT) hệ thống phân vùng . Để xem các phân vùng của bạn, thay vào đó, bạn phải sử dụng một công cụ hỗ trợ GPT, chẳng hạn như gdisk, hoặc partedhơn là fdisk, không hiểu GPT.

Thứ hai, bạn có thể có được GRUB để tải chuỗi Windows bằng cách thêm một mục phù hợp /etc/grub.d/40_customvà sau đó thực hiện sudo update-grub. Một mục có thể trông giống như thế này:

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

Các chi tiết có thể phụ thuộc vào cài đặt của bạn, mặc dù.

Thứ ba, nếu bạn coi rEFInd là xấu, bạn luôn có thể thử một chủ đề rEFInd khác hoặc tạo chủ đề của riêng bạn, như được mô tả trong tài liệu rEFInd. Ngoài ra, nếu bạn thích bộ tải khởi động ở chế độ văn bản, bạn có thể đặt textonlytùy chọn trong refind.conf. Bạn có thể đạt được một kết thúc tương tự bằng cách chuyển sang gummiboot.

Thứ tư, nếu rEFInd báo cáo lỗi định kỳ, vui lòng viết chúng xuống hoặc chụp ảnh màn hình bằng máy ảnh kỹ thuật số và báo cáo cho tôi. (Tôi là người bảo trì của rEFInd.) Lỗi không thể sửa nếu không ai báo cáo; hoặc nếu chúng không có lỗi trong rEFInd, các thông báo có thể cung cấp manh mối về cách giải quyết vấn đề.

Cuối cùng, có thể khởi động Linux thông qua rEFInd (hoặc gummiboot) mà không cần sử dụng GRUB; bạn chỉ cần một bộ tải khởi động EFI khác. Sở thích cá nhân của tôi là trình tải sơ khai EFI của nhân Linux . Điều này chỉ có sẵn trong 3.3.0 và các hạt sau này. Vì Ubuntu 12.04 có nhân 3.2.0, bạn sẽ cần tìm bản 3.3.0 dựng sẵn cho Ubuntu 12.04 (Tôi đã nghe nói về những thứ đó, nhưng tôi không có bất kỳ liên kết nào tiện dụng) hoặc xây dựng sở hữu từ mã nguồn. (Bạn cũng có thể cài đặt Ubuntu 12.10, có kèm theo kernel phù hợp, nhưng có lẽ bạn muốn có bản phát hành LTS, vì vậy điều này có thể không tối ưu.) Xem trang tài liệu rEFInd khi khởi động Linuxđể biết thêm chi tiết về cách thiết lập này. Bạn cũng có thể sử dụng ELILO hoặc GRUB Legacy. Nếu bạn chỉ phản đối độ trễ, bạn có thể giảm giá trị thời gian chờ GRUB 2 và đặt nó thành không hiển thị menu theo mặc định.


1
Đầu tiên, wow, tôi đã không nhận ra rằng bạn là người duy trì rEFInd. Tiếp theo, liên quan đến menu GRUB ... Tôi đã thử nhưng nó không hoạt động. Trong số các ảnh chụp trong bóng tối khác, tôi đã thử cài đặt phân vùng ESP nhưng không có kết quả. Thậm chí đã thử sử dụng một trong những trình soạn thảo GRUB đồ họa đó (quên tên). Cuối cùng, liên quan đến rEFInd, các lỗi mà nó đang báo cáo không nghiêm trọng (sẽ chỉnh sửa bài đăng của tôi để lưu ý rằng) --- khi bắt đầu, nó chỉ cho tôi biết rằng nó không thể tìm thấy .efi's. Tôi không biết họ đến từ đâu.
skytreader

Kiểm tra sự hiện diện của tệp được chỉ định trên ESP. Cũng hãy chắc chắn rằng trường hợp của tên tệp là chính xác. (Không thành vấn đề, nhưng tôi biết một lỗi EFI xảy ra ở đâu!) Nếu điều đó không có ích, GRUB sẽ trả về thông báo lỗi nào (nếu có) khi bạn thử khởi chạy Windows thông qua mục này?
Rod Smith

8

Khởi động vào Ubuntu bằng CD,
chọn "Dùng thử Ubuntu",
Kết nối với internet,
Mở cửa sổ đầu cuối bằng cách sử dụng Ctrl- Alt- tvà sau đó chạy:boot-repair

Nếu không tìm thấy sửa chữa khởi động, sau đó cài đặt nó:

sudo add-apt-repository ppa:yannubuntu/boot-repair &&
sudo apt-get update &&
sudo apt-get install -y boot-repair &&
boot-repair

Nhấp vào Đề nghị sửa chữa. Viết trên giấy một URL mới sẽ xuất hiện. Khởi động lại máy tính, bạn sẽ nhận được một menu GRUB có quyền truy cập vào cả Ubuntu và Windows. Nếu có vấn đề, chỉ ra URL mới.


7

Cả hai câu trả lời /EFI/Microsoft/Boot/bootmgfw.efisẽ làm. Tuy nhiên tôi đã hack như địa ngục để có được các cài đặt phù hợp set root='(hd0,gpt1)'. Nếu bạn biết nó rất đơn giản

Khi GRUB bắt đầu: nhấn c đưa ra lệnh lstrên dấu nhắc.
Bạn nhận được một danh sách các phân vùng trên ổ cứng tương tự (hd0, gpt1) vv
Loại ls(hd0, gpt1) và thử những người khác.
Nhìn vào nhãn và nếu nó ghi EFI bạn biết bạn đã có một hit.

Cảnh báo: có thể có nhiều phân vùng được gắn nhãn EFI, tùy thuộc vào cách bạn cài đặt Ubuntu. Hãy thử tất cả chúng.


6

Hãy thử chạy sudo update-grub. Điều này hy vọng sẽ tự động nhận ra Windows 8 và thêm nó vào GRUB và cấu hình lại menu.

Nếu thất bại, vui lòng chia sẻ /etc/default/grubtệp của bạn ở đây, chúng tôi sẽ xem xét.


1
Chào. sudo update-grubđã không làm điều đó. Tôi chỉnh sửa câu hỏi của tôi để bao gồm của tôi /etc/default/grub. Trong khi đó, tôi đang nghiên cứu câu trả lời NikTh liên kết.
skytreader

3

Hãy thử tạo một tệp có tên /etc/grub.d/30_windowsnày:

#! /bin/bash
cat << EOF
menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
EOF
Sau đó chạy sudo update-grubvà khởi động lại.

Hướng dẫn đầy đủ


1
  1. Vui lòng tải xuống siêu Grub và làm theo hướng dẫn của nó. Tôi không bao giờ rời khỏi nhà mà không có nó. Rất hữu ích khi menu grub không hiển thị.

  2. Bạn sẽ phải tải vào một đĩa CD và khởi động nó. Chỉ cần làm theo các hướng dẫn đi kèm với nó.

  3. Nó cũng có thể được sử dụng để sửa chữa các cửa sổ là tốt. Vì bạn chỉ có thể khởi động vào windows 8 nên bạn muốn chọn bản sửa lỗi linux.

Chơi xung quanh với điều này nhưng đọc qua hướng dẫn. Bạn sẽ cảm thấy như một chuyên gia sau một thời gian. RS


0

Cách giải quyết cuối cùng của tôi

(* Vì Tom không hoạt động và liên kết của NikTh quá phức tạp. Nhưng này, cảm ơn vì đã làm phiền!)

Cài đặt rEFInd .


Tôi chấp nhận câu trả lời của riêng mình cho đến khi ai đó chỉ ra một lỗ hổng có thể có và khắc phục nó hoặc giải quyết các vấn đề của tôi (thật không may, chỉ cần đặt câu hỏi "Làm cách nào để đưa Windows 8 vào GRUB dễ dàng ?").

( Chỉnh sửa 8/6/17: Cuối cùng tôi đã sử dụng rEFInd để giải quyết vấn đề này (xem câu trả lời được chấp nhận ở trên).)

Khác xa với một giải pháp hoàn hảo, sử dụng rEFInd có vẻ như là một công việc rất hack. Đối với một người, nó trông xấu xí (xin lỗi rEFInd) và cho tôi biết quyền truy cập đã bị từ chối trên một số .efi's ({ext2_x64, hfs_x64, iso9660_x64, reiserfs_x64} .efi) khi khởi động --- mặc dù không có gì quan trọng nhấn*. Và cuối cùng, chọn Ubuntu efi vẫn tải GRUB, đây là một bước hoàn toàn không cần thiết, ít nhất là vì tôi sẽ không bận tâm đến việc giữ nhiều phiên bản kernel.

Tóm tắt...

Ưu điểm: hệ thống của tôi bây giờ ít nhiều hoạt động giống như đôi ủng trước UEFI của tôi. Nhược điểm: trông xấu xí cộng với thời gian khởi động lâu hơn.

* Tôi phải lưu ý rằng rEFInd này đã được cài đặt install.shtại phân vùng Ubuntu của tôi. Các trải nghiệm trước đây với rEFInd (thiết lập qua Windows) không gặp phải vấn đề này.


Nếu cài đặt rEFInd trước đó qua Windows không phát sinh lỗi về các tệp không thể tìm thấy nhưng cài đặt hiện tại của bạn từ Linux thì linh cảm của tôi là một trong hai điều đang diễn ra: 1) Bạn đã có một bo mạch chủ với một lỗi phân biệt chữ hoa chữ thường, trong trường hợp mucking với trường hợp tệp hoặc thư mục có thể cải thiện vấn đề; hoặc 2) Có điều gì đó kỳ lạ về ESP của bạn (ví dụ: FAT16 so với FAT32 hoặc một số hư hỏng hệ thống tệp nhỏ). Một số EFI dường như rất cầu kỳ về hệ thống tập tin trên các máy nhắn tin điện tử của họ. Tên tệp chính xác có thể hữu ích trong việc thu hẹp vấn đề.
Rod Smith

Được. Lỗi của tôi. Nó không nói rằng nó không thể tìm thấy một số efis nhất định, chỉ là quyền truy cập của nó đã bị từ chối trên một số efis nhất định (vì vậy tôi cho rằng các efis đã nói ở đó, chỉ là không thể truy cập?). Tôi đã lưu ý các tệp này ngay bây giờ mặc dù tôi vẫn không biết chúng đến từ đâu.
skytreader

"Truy cập bị từ chối" là một lỗi bất thường trên EFI, theo kinh nghiệm của tôi. AFAIK, EFI không hỗ trợ quyền sở hữu hoặc quyền như Linux, vì vậy nó không thực sự có ý nghĩa trừ khi có lỗi đọc đĩa. Tôi đã thấy các lỗi ghi đĩa kỳ lạ theo EFI đã bốc hơi trong lần khởi động lại tiếp theo. Nếu sự cố này vẫn còn, bạn có thể cân nhắc chạy thử nghiệm SMART trên đĩa của mình trong trường hợp có lỗi phần cứng, sao lưu và viết lại ESP trong trường hợp có một số hư hỏng hệ thống tệp lạ mà dosfsck không thể khắc phục. Ngoài ra, báo cáo tệp nào đang gây ra sự cố có thể hữu ích.
Rod Smith

1
Thông báo "truy cập bị từ chối" gần như chắc chắn liên quan đến Secure Boot. Thông báo như vậy xảy ra nếu rEFInd cố tải một tệp nhị phân EFI không dấu trong khi ở chế độ Khởi động an toàn. Điều khó hiểu về điều này là bạn hoàn toàn có thể khởi chạy rEFInd, vì nó chưa được ký. Linh cảm của tôi là bạn đã có một số loại cài đặt Khởi động an toàn được kích hoạt một nửa lỗi trong phần sụn của bạn. Giải pháp đơn giản nhất vào lúc này là vô hiệu hóa Secure Boot, nhưng vẫn có những cách khác. Xem trang web của tôi tại Rodbooks.com/efi-bootloaders/secureboot.html để biết thêm thông tin.
Rod Smith

Trên máy tính xách tay hp của tôi, tôi phải nhấn f9 và sau đó khởi động, nếu không thì tải windows. Ngoài ra còn có một tùy chọn để khởi động Windows từ grub mặc dù tôi không bao giờ sử dụng nó. Nếu tôi nhàm chán với Windows, tôi chỉ cần bật nó lên và đợi Windows. Nếu tôi có kế hoạch khởi động Ubuntu, tôi chỉ cần nhấn f9 ngay khi bật.
geoffmcc
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.