Làm cách nào để GRUB trở thành trình tải khởi động mặc định thay vì Windows Boot Manager trên máy tính xách tay UEFI?


109

Tôi đã có một máy tính xách tay HP Pavilion Touchsmart đi kèm với Windows 8. Tôi đã nâng cấp lên 8.1 và bây giờ tôi muốn khởi động kép bản phân phối Ubuntu với Windows 10. Khi khởi động kép với Windows 8.1, Trình quản lý khởi động Windows luôn luôn được ưu tiên, ngay cả sau khi cài đặt GRUB. Tôi cần làm gì để GRUB trở thành trình tải khởi động mặc định thay vì Windows Boot Manager?

Câu trả lời:


195

Đây là bài viết dài nhất tôi từng thực hiện trên trang web StackExchange, nhưng quá trình này đòi hỏi rất nhiều lời giải thích và chú ý đến chi tiết. Nó cũng hơi cụ thể đối với phần cứng được đề cập, đòi hỏi phải giải thích nhiều hơn.

Sau rất nhiều lần đau đầu, hai lần cải tổ ổ cứng tình cờ và rất nhiều thất vọng với việc triển khai phần mềm lỗi của HP, cuối cùng tôi đã có Xubfox và Windows 10 chạy song song. Tôi đã làm điều này với Windows 10, nhưng nó cũng sẽ hoạt động với Windows 8.1. Cả hai hệ điều hành mới hơn này đều sử dụng hệ thống phần mềm UEFI (ish) mới, thay vì hệ thống BIOS truyền thống, nơi mà hầu hết các nhầm lẫn với khởi động kép dường như xuất hiện. Tôi đã đọc rất nhiều thứ từ nhiều nơi với hướng dẫn khởi động kép với hệ thống BIOS, nói về UEFI như thể nó chỉ là một loại BIOS khác, hoặc một lớp tùy chọn giữa BIOS và HĐH. UEFI và BIOS không giống nhau; UEFI không phải là BIOS và BIOS không phải là UEFI. Chúng hoàn toàn khác nhau.

Thứ nhất, không sử dụng EasyBCD . Tôi đã thấy rất nhiều lỗi thờiCác hướng dẫn khởi động kép khuyến nghị EasyBCD, nhưng nó được thiết kế để hoạt động với phần sụn BIOS truyền thống được sử dụng bởi Windows 7 và Windows Vista, và nó không hoạt động tốt với phần sụn UEFI mới hơn (Windows 8, 8.1 hoặc 10). Nếu bạn đã sử dụng EasyBCD, đừng lo lắng - điều tồi tệ nhất có thể xảy ra là tạo ra sự lộn xộn trong các mục khởi động EFI của bạn bằng cách viết mọi thứ vào MBR. Chúng tôi sẽ dọn sạch nó ở bước 4. Nói về MBR, tránh điều đó như bệnh dịch hạch. Master Boot Record là những gì được sử dụng trong phần sụn BIOS truyền thống như một danh sách các bộ tải khởi động được lưu trữ trong phân vùng khởi động (hoặc, nếu được viết bởi Windows, trong bất kỳ phân vùng nào là đầu tiên) của ổ cứng của bạn. Nó có nghĩa là liệt kê các hệ điều hành trên ổ cứng và báo cho phần sụn cái nào được khởi động trước. Điều này không hoạt động tốt với phần mềm UEFI của HP. Có vẻ như nếu có '

Những gì bạn cần:

  • Một USB trực tiếp hoặc CD cài đặt với bản phân phối Ubuntu ưa thích của bạn.
  • Phương tiện cài đặt cho hệ điều hành Windows của bạn. Nếu bạn đang nâng cấp từ Windows 8.1, bạn có thể làm điều đó mà không cần tải xuống toàn bộ 3+ GB .iso cho Windows 10 - có một trình cài đặt web tải xuống khi cài đặt - nhưng, đối với phương pháp này, bạn cần giải nén .iso vào ổ đĩa CD hoặc USB. Đó cũng là một ý tưởng tốt để có nó trong tương lai, vì vậy bạn cũng có thể tạo ra nó ngay bây giờ. Vì câu hỏi này là về khả năng khởi động kép với hệ thống UEFI, bạn sẽ cần HĐH 64 bit.
    • Đảm bảo bạn có Mã khóa sản phẩm hoặc bạn sẽ không thể nâng cấp / cài đặt.
  • Tùy chọn, nhưng rất khuyến khích : Một ổ đĩa đủ lớn để sao lưu các tệp Windows hiện tại của bạn.
  • Đủ dung lượng trên ổ cứng của bạn cho cả hai hệ điều hành, phân vùng khởi động (chỉ 200 MB) và phân vùng trao đổi linux (thường có cùng kích thước với RAM vật lý của bạn).

Bước 1: Tạo bản sao lưu

Sao lưu tất cả các tệp và thư mục Windows mà bạn không muốn mất. Miễn là bạn có đủ dung lượng ổ cứng trống cho phân vùng Ubuntu mới của mình, quá trình này không nên can thiệp vào các tệp Windows. Nên là một từ rủi ro, mặc dù.

Windows 8.1 có công cụ "tạo đĩa khôi phục", nhưng tôi thấy nó vô dụng và không hoạt động khi khôi phục lại bản sao lưu mà tôi đã tạo với nó. Cách đơn giản nhất để bảo vệ các tệp bạn không muốn mất là chỉ mở Windows Explorer và sao chép chúng vào đĩa sao lưu. Nó mất mãi mãi, nhưng nó đáng giá.

Bước 2: Vô hiệu hóa Khởi động nhanh và tắt máy tính của bạn

Bạn sẽ cần phải đăng nhập như một quản trị viên để làm điều này.

Điều rất quan trọng là vô hiệu hóa Khởi động nhanh trước khi cài đặt GRUB, bởi vì trình cài đặt Ubuntu có thể phát hiện sự hiện diện của Windows hay không phụ thuộc vào cách Windows thể hiện chính nó trong phân vùng khởi động. Với Fast Startup bị vô hiệu hóa đúng cách, nó sẽ được phát hiện. Phát hiện sẽ được đề cập trong bước 4.

Windows 8, 8.1 và 10 sử dụng một thứ mới lạ mắt này có tên là Khởi động nhanh, cho biết phần sụn của bạn tải bộ tải khởi động đặc biệt giúp khôi phục hệ thống về trạng thái tắt trước rất nhanh. Khá tuyệt nhỉ? Chà, vì nó thay đổi tùy chọn khởi động tiếp theo của hệ thống EFI, tính năng này sẽ phải bị tắt trong khi bạn cài đặt GRUB. Điều này có thể được thực hiện bằng cách làm như sau:

  1. Bảng điều khiển mở (Windows + X-> Bảng điều khiển từ máy tính để bàn trong Windows 8+) (rõ ràng Microsoft ghét người dùng có quyền lực, vì vậy tìm kiếm Menu bắt đầu cho "Bảng điều khiển" bây giờ là cách nhanh nhất để mở)
  2. Điều hướng đến Tùy chọn nguồn
  3. Nhấp vào "Chọn những gì nút nguồn làm"
  4. Nhấp vào "Thay đổi cài đặt hiện không khả dụng"
  5. Đảm bảo hộp "Bật khởi động nhanh (Được khuyến nghị)" ở phía dưới không được chọn.

Hướng dẫn chi tiết hơn có thể được tìm thấy ở đây . Bạn có thể kích hoạt lại Khởi động nhanh sau khi cài đặt GRUB và dường như không gây ra bất kỳ sự cố nào khi khởi động Ubuntu / GRUB. Chỉ cần chắc chắn rằng nó bị vô hiệu hóa trong quá trình cài đặt.

Sau khi bạn đã tắt Khởi động nhanh, hãy tắt máy tính của bạn. Vì Fast Startup bị vô hiệu hóa, Windows sẽ tắt hoàn toàn và không thay đổi tùy chọn khởi động tiếp theo trong trình quản lý EFI của phần sụn. .

Bước 3: Thiết lập phân vùng với gparted

Trước khi cài đặt Ubuntu, bạn sẽ muốn sử dụng CD / USB trực tiếp của mình để tạo một phân vùng riêng cho nó. Bằng cách đó, nó * sẽ không ghi đè lên Windows.

* Hãy chắc chắn rằng bạn đã có một bản sao lưu. Không đảm bảo - điều này phụ thuộc vào những gì Windows đã quyết định làm trong phân vùng khởi động của bạn và nó cũng có thể phụ thuộc vào phiên bản / phân phối Ubuntu mà bạn đang sử dụng - Tôi chưa sử dụng tất cả.

Để tạo các phân vùng, bạn cần khởi động vào CD / USB trực tiếp và mở gparted. Có rất nhiều hướng dẫn về cách sử dụng gparted, và nó khá dễ để tìm ra, vì vậy tôi sẽ để lại thông tin cụ thể cho bạn và Internet.

  • Bạn sẽ cần 4 phân vùng:

    1. Một phân vùng khởi động. Nếu bạn đã cài đặt Windows, bạn không cần phải làm gì cả - đó phải là một trong những phân vùng đầu tiên trong ổ đĩa của bạn. Đôi khi Windows cũng tạo một phân vùng nhỏ khác ở đầu đĩa có tên Recovery . Chỉ cần để điều này một mình.

      • Nếu bạn đang thực hiện cài đặt mới và bạn muốn bắt đầu mọi thứ từ đầu ( điều này sẽ xóa sạch tất cả dữ liệu của bạn ), hãy tiếp tục và xóa tất cả các phân vùng trên ổ đĩa của bạn, sau đó tạo phân vùng này. Nó phải là phân vùng đầu tiên ; định dạng của nó phải là FAT32 ; và nó phải có kích thước tối thiểu 200 MB . Nếu gparted có một tùy chọn để gắn nhãn, chỉ cần gọi nó boot. Nếu không có tùy chọn nhãn, đừng lo lắng về nó. Bạn phảituy nhiên, đặt cờ "boot" và "đặc biệt" trên phân vùng này; không có chúng, trình cài đặt Ubuntu sẽ bỏ qua nó và sử dụng cài đặt chế độ cũ và Windows (10) sẽ từ chối cài đặt hoàn toàn với lỗi "chúng tôi không thể tạo phân vùng mới hoặc tìm một phân vùng hiện có". Hay không. Nó dường như phụ thuộc vào cách Windows cảm thấy ngày hôm đó ...
    2. Một phân vùng Windows. Một lần nữa, nếu bạn đã cài đặt Windows, phân vùng này rõ ràng sẽ ở đây, sau các phân vùng khởi động và Recovery. Đây là nơi bạn muốn, nhưng bạn cần thay đổi kích thước để nhường chỗ cho phân vùng Ubuntu và phân vùng linux-exchange. Sử dụng tùy chọn thay đổi kích thước / di chuyển của gparted để làm điều này. Ubuntu cần ít nhất 5 GB và phân vùng trao đổi linux phải có kích thước tối thiểu bằng một nửa RAM vật lý của bạn, vì vậy hãy thay đổi kích thước phân vùng windows để có đủ chỗ cho điều đó. gparted sẽ cảnh báo bạn về việc mất dữ liệu tiềm năng - thu nhỏ phân vùng của bạn không được phá hủy hoặc làm hỏng bất kỳ dữ liệu nào, miễn là bạn không thu nhỏ nó vào không gian đang sử dụng.

      • Nếu cài đặt cả hai hệ điều hành từ đầu ( một lần nữa, điều này sẽ xóa sạch tất cả dữ liệu của bạn ), Microsoft cho biết bạn sẽ cần ít nhất 20 GB cho HĐH 64 bit, vì vậy phân vùng này cần tối thiểu 20 GB . Mặc dù vậy, bạn có thể muốn nhiều hơn thế: Tôi chỉ sử dụng một nửa dung lượng sau phân vùng khởi động cho Windows và một nửa trong số đó cho Ubuntu và linux-exchange. Nếu bạn đang đi từ đầu, phân vùng này cần được định dạng là FAT32. Khi bạn cài đặt Windows, nó sẽ định dạng thành NTFS. Đừng làm điều này với gparted; Việc triển khai NTFS của Windows khác với triển khai của gparted và Windows có thể không nhận ra được phân vùng. Trong trình cài đặt Windows 10, bạn nên có tùy chọn chọn phân vùng để đặt Windows 10. Nếu nó được định dạng là FAT32, Windows sẽ có thể nhìn thấy nó và cài đặt chính nó ở đó. Nếu bạn có thể gắn nhãn phân vùng này, hãy gắn nhãn cho nó Windows. Điều đó sẽ giúp bạn dễ dàng hơn trong quá trình cài đặt Windows. Nói về trình cài đặt Windows - chưa bắt đầu điều đó. Nếu bạn đang thực hiện cài đặt mới cho cả Ubuntu và Windows cùng một lúc, thay vì nâng cấp từ 8 hoặc 8.1 lên 10, việc cài đặt Ubuntu trước sẽ dễ dàng hơn nhiều .
    3. Một phân vùng Linux. Giống như phân vùng Windows, điều này có thể khác nhau về kích thước, nhưng trang web của Ubuntu khuyến nghị ít nhất 5 GB . Một lần nữa, có lẽ bạn sẽ muốn nhiều hơn thế. Nếu bạn đang nâng cấp thay vì cài đặt mới cả hai hệ điều hành, bạn sẽ có thể tạo phân vùng này trong không gian "chưa phân bổ" mới được hiển thị trong gparted. Làm cho nó lớn như bạn muốn nhưng nhớ để lại không gian cho phân vùng trao đổi linux nếu bạn định sử dụng một phân vùng . Nó nên được định dạng là ext4. ext2 hoặc ext3 cũng nên hoạt động, nếu bạn thích những thứ đó vì một số lý do.
      • Nếu cài đặt từ đầu, hãy tạo phân vùng Ubuntu của bạn như mô tả ở trên. Hãy chắc chắn rằng nó được định dạng là ext4, ext3 hoặc ext2 . Điều này sẽ cho phép Ubuntu sử dụng nó, nhưng giữ cho trình cài đặt Windows 10 không nhận ra nó, điều này sẽ khiến nó mặc định với phân vùng FAT32 mà bạn đã thực hiện ở bước 3, có thể đọc được.
    4. Tùy chọn, nhưng được khuyến nghị: phân vùng linux-exchange . Ít nhất một nửa kích thước của RAM vật lý của bạn là một khởi đầu tốt, nhưng tôi khuyên bạn nên đọc chi tiết . Tôi đã có 8 GB RAM và ổ cứng 1TB, vì vậy tôi chỉ tạo phân vùng này có cùng kích thước với RAM vật lý của mình.

Bước 4: Cài đặt Ubuntu trước

Cho dù bạn đang nâng cấp lên Windows 10 từ HĐH Windows hiện tại hoặc cài đặt cả Windows 10 và phân phối Ubuntu lên ổ cứng mới hoặc mới được phân phối lại, việc cài đặt Ubuntu trước sẽ dễ dàng hơn rất nhiều. Ubuntu sử dụng GRUB 2 làm trình tải khởi động của nó, hoạt động theo cách mà trình tải khởi động EFI nên làm. Windows 10 sử dụng Windows Boot Manager, thực hiện mọi thứ ... tốt, cách Windows thực hiện chúng ... Nếu bạn cài đặt Windows trước, bạn có thể sẽ không thể khởi động Ubuntu mà không cần giữ một phím đặc biệt trong quá trình khởi động để ngăn Windows Boot Manager tải, vì Windows Boot Manager không tôn trọng GRUB khi nó được thêm vào danh sách các bộ tải khởi động. Vì vậy, thay vào đó, hãy cài đặt Ubuntu và GRUB trước, sau đó thêm một mục vào GRUB cho Trình quản lý khởi động Windows.

Bước 4.1: Dọn dẹp các mục EFI cũ (tùy chọn)

Xin hãy cẩn thận ở đây. Xóa những điều sai có thể gây ra vấn đề lớn.

Trước khi cài đặt Ubuntu, chúng tôi muốn đảm bảo rằng bóng ma của các cài đặt hệ điều hành trong quá khứ sẽ không quay trở lại ám ảnh chúng tôi trong tương lai. Trong một hệ thống UEFI, các hệ điều hành sử dụng các tệp EFI (giao diện phần sụn có thể mở rộng) để nói với phần sụn: "Này, tôi tồn tại. Đây là nơi bạn có thể tìm thấy tôi." Khi một hệ điều hành mới được cài đặt, nó sẽ thêm một mục vào danh sách của Trình quản lý khởi động EFI, cung cấp cho nó một số mục nhập duy nhất và báo cho Trình quản lý khởi động EFI nơi (các) tệp EFI của nó (Windows đăng ký một số tệp EFI khác nhau- một cho khởi động thường xuyên, một cho khởi động phục hồi, một cho khởi động nhanh - có thể nhiều hơn tùy thuộc vào chương trình cơ sở và phiên bản hệ điều hành của bạn). Trình quản lý khởi động EFI cũng theo dõi thứ tự khởi động: một danh sách các số mục nhập chỉ định những gì được khởi động trước. Nếu bạn đã và đang sử dụng EasyBCD; bcdedit; Các cửa sổ' Công cụ sửa chữa khởi động hoặc khôi phục; sửa chữa khởi động trong hệ điều hành Linux; hoặc ngay cả khi bạn đã cập nhật Windows hoặc cài đặt lại, rất có thể danh sách mục nhập EFI của bạn hiện có một số bản sao. Ít nhất, đó là trường hợp của tôi. Có các bản sao ở đây có thể làm hỏng quá trình khởi động của bạn, vì phần sụn sẽ chuyển qua các mục nhập lỗi thời hoặc sai tệp cho đến khi tìm thấy bộ tải khởi động hoạt động. Nó cũng có thể gây ra một vòng lặp khởi động, trong đó bộ nạp khởi động A trỏ phần sụn vào bộ nạp khởi động B, nó quay lại A, và sau đó mọi thứ bắt đầu mất một thời gian rất, rất lâu ... khi chương trình cơ sở chuyển qua các mục nhập lỗi thời hoặc sai tệp cho đến khi tìm thấy bộ tải khởi động hoạt động. Nó cũng có thể gây ra một vòng lặp khởi động, trong đó bộ nạp khởi động A trỏ phần sụn vào bộ nạp khởi động B, nó quay lại A, và sau đó mọi thứ bắt đầu mất một thời gian rất, rất lâu ... khi chương trình cơ sở chuyển qua các mục nhập lỗi thời hoặc sai tệp cho đến khi tìm thấy bộ tải khởi động hoạt động. Nó cũng có thể gây ra một vòng lặp khởi động, trong đó bộ nạp khởi động A trỏ phần sụn vào bộ nạp khởi động B, nó quay lại A, và sau đó mọi thứ bắt đầu mất một thời gian rất, rất lâu ...

Dù sao, để xem danh sách mục nhập EFI của bạn và xem những gì cần được làm sạch, hãy sử dụng efibootmgrgói với CD / USB trực tiếp của bạn. Bạn sẽ cần cài đặt nó bằng sudo apt-get install efibootmgrthiết bị đầu cuối, sau đó chạy nó bằng cách sử dụng sudo efibootmgr. Theo mặc định, bạn sẽ nhận được một danh sách các mục giống như thế này:

Hình ảnh danh sách mục nhập EFI Boot Manager từ đầu ra của efibootmgr

Khi tôi lần đầu tiên sử dụng công cụ này sau khi sử dụng EasyBCD và bcdedit để cố gắng khởi động mọi thứ theo đúng thứ tự, tôi đã có hơn một trăm mục ở đây, hầu hết đều trùng lặp.

Nếu danh sách trình quản lý khởi động của bạn không quá lộn xộn hoặc nếu bạn không thoải mái khi quyết định những gì có thể bị xóa và những gì không nên xóa, chỉ cần bỏ qua bước 4.2.

Để xóa bất kỳ mục nào bạn không cần, hãy sử dụng efibootmgr -b <hex_number> -B, nơi hex_numberđược thay thế bằng số được liệt kê với mục khởi động. Vì vậy, để xóa USB Drive (UEFI)mục nhập (được đánh số Boot 2001 ) trong hình trên, tôi sẽ sử dụng sudo efibootmgr -b 2001 -B. Bạn sẽ nhận thấy rằng tôi đã để lại một số bản sao (tất cả hơn 3000 mục được đánh số). Bạn có thể sử dụng efibootmgrvới các tùy chọn khác nhau để xem một số thuộc tính khác của các mục, chẳng hạn như đường dẫn tệp mà chúng trỏ đến. Các mục đó trông giống như các bản sao, nhưng tất cả chúng đều trỏ đến các tệp khác nhau được sử dụng bởi máy tính xách tay HP của tôi để cập nhật BIOS của nó. Hãy cẩn thận những gì bạn loại bỏ. Nó có thể rất khó khăn hoặc không thể thay thế mọi thứ ở đây. Bạn cũng có thể sử dụng efibootmgr để thay đổi BootOrder, nó sẽ hiển thị. Xem trang người đàn ông để biết thêm thông tin về công cụ hữu ích này.

Bước 4.2: Cài đặt Ubuntu

Sau khi bạn dọn sạch các mục EFI Boot Manager, nếu bạn chọn làm như vậy, cuối cùng cũng đến lúc cài đặt Ubuntu. Với CD / USB trực tiếp được tải, hãy chọn tùy chọn cài đặt từ menu bootloader hoặc khởi chạy nó từ máy tính để bàn sau khi đăng nhập. Chọn tùy chọn của bạn trên trang đầu tiên của trình cài đặt. Phần thứ hai sẽ trông giống như thế này: (Tôi đang sử dụng Xubfox 14.04, vì vậy trình cài đặt của bạn có thể thay đổi, nhưng các tùy chọn sẽ khá giống nhau.)

Ảnh chụp màn hình của các tùy chọn cài đặt Xubfox 14.04

Nếu trình cài đặt của bạn không phát hiện cài đặt Windows của bạn (như của tôi), bạn sẽ cần chọn tùy chọn "Cái gì khác". Từ đó, bạn sẽ có được một màn hình trông giống như menu gparted bạn đã sử dụng để thiết lập các phân vùng của mình. Chỉ cần chọn các phân vùng bạn đã tạo và gán chúng cho điểm gắn kết chính xác bằng cách chọn phân vùng và nhấp vào "Thay đổi".

  • Nếu bạn đang cài đặt cả hai hệ điều hành từ đầu, hãy làm điều tương tự. Không sử dụng tùy chọn cài đặt tự động. Bạn cần đảm bảo Ubuntu được cài đặt trong phân vùng ext2 / ext3 / ext4 chứ không phải phân vùng Windows FAT32.

Bước 5: Cập nhật hoặc cài đặt Windows thứ hai

Bạn nên có đĩa cài đặt cho Windows 10. Trước khi bắt đầu cài đặt, hãy đảm bảo bạn có mã khóa sản phẩm gần đó hoặc bạn sẽ không thể cài đặt / nâng cấp. Khi bạn khởi động CD / USB cài đặt, trình cài đặt khá đơn giản. Một chút quá đơn giản cho sự thoải mái của tôi - nút duy nhất là "Cài đặt Windows 10" hoặc một cái gì đó tương tự, và Windows 8, 8.1 và 10, nổi tiếng với các bản cài đặt phía sau hậu trường, trong đó đơn giản là "Chúng tôi chuẩn bị sẵn sàng "và không cung cấp thông tin chi tiết về những gì nó thực sự làm cho hệ thống của bạn. Nếu bạn đã làm theo các hướng dẫn này cho đến nay, bạn có thể bắt đầu cài đặt thường xuyên.

  • Nếu bạn đang nâng cấp từ Windows 8 hoặc Windows 8.1, bạn không cần phải làm gì đặc biệt với quy trình cài đặt. Nhận qua cài đặt (rất dài) và tiến hành bước 6.

  • Nếu bạn đang thực hiện cài đặt mới, trình cài đặt sẽ hỏi bạn muốn cài đặt Windows 10. Nơi đảm bảo bạn chọn phân vùng FAT32 bạn đã thực hiện ở bước 2 chứ không phải phân vùng khác, hoặc phân vùng đó sẽ bị xóa và định dạng. Vì Ubuntu đã được cài đặt, Windows 10 nên tôn trọng phân vùng khởi động và không định dạng lại nó. Việc các mục rác được dọn sạch khỏi danh sách của Trình quản lý khởi động EFI cũng sẽ giải phóng không gian trong phân vùng khởi động 200 MB nhỏ, làm giảm khả năng Windows sẽ bối rối và tức giận và xóa toàn bộ nội dung.

Bước 6: Cập nhật và (tùy chọn) tùy chỉnh GRUB

Sau khi cài đặt hoặc nâng cấp lên Windows 10, bạn sẽ cần khởi động lại lên Ubuntu để cập nhật GRUB để nó bao gồm Windows Boot Manager trong danh sách của nó. Trước khi bạn làm điều này, vô hiệu hóa Khởi động nhanh một lần nữa. Điều này được thực hiện rất giống với cách bạn đã làm trong bước 2. Bảng điều khiển và giao diện người dùng cài đặt hơi khác một chút, nhưng hầu hết các tùy chọn vẫn còn đó.

Sau khi bạn vô hiệu hóa Khởi động nhanh một lần nữa, hãy khởi động lại máy tính của bạn.

Nếu Windows khởi động theo mặc định, bạn sẽ cần giữ phím đặc biệt cho máy tính xách tay của mình để vào menu chương trình cơ sở của hệ thống. Trên HP Touchsmart của tôi, phím đó là Esc. Các khóa phổ biến khác là F12, Xóa, F10 ... Hướng dẫn sử dụng máy tính của bạn sẽ có thể giúp bạn ra khỏi đây. Từ menu phần sụn, khởi động vào GRUB. Cần có một tùy chọn để "chọn một thiết bị khởi động" hoặc một cái gì đó tương tự, và Ubuntu hoặc GRUB nên được liệt kê ở đó. Nếu nó không được liệt kê, hãy tìm một tùy chọn để khởi động từ tệp EFI và duyệt đến /EFI/ubfox/grubx64.efi hoặc (nếu bạn đã bật Secure Boot), thay vào đó là EFI / ub Ubuntu / shimx64.efi. Đường dẫn thực tế của các tệp này có thể khác nhau tùy thuộc vào tùy chọn của bạn và cách phân vùng khởi động của bạn được thiết lập, nhưng tên tệp phải giống nhau. Chọn một trong các tệp .efi này sẽ khởi động vào GRUB, nơi bạn có thể khởi động để phân phối Ubuntu. Khi bạn đã đăng nhập, hãy mở một thiết bị đầu cuối và gõsudo update-grub. Điều này sẽ chạy tập lệnh os-prober mà GRUB sử dụng để biên dịch grub.cfg, cho biết tệp EFI của grub bao gồm các mục, màu nào sẽ sử dụng, v.v. Tập lệnh os-prober sẽ xác định Windows Boot Manager và tự động thêm nó vào danh sách.

Tùy chọn, bạn có thể cài đặt Grub Customizer để thay đổi thứ tự của các mục menu và thay đổi hành vi cũng như màu sắc và nền của menu GRUB. Bạn có thể cài đặt cái này từ một thiết bị đầu cuối bằng cách sử dụng sudo apt-get install grub-customizer, và sau đó chạy sudo grub-customizer.

Khi sử dụng GRUB trên hệ thống UEFI được chia sẻ với HĐH Windows, KHÔNG cài đặt vào MBR. Một số hướng dẫn liệt kê đây là một bước quan trọng để sử dụng tùy chọn "Cài đặt vào MBR" của Grub Customizer trong menu Tệp. Bạn không nên làm điều này trên hầu hết các hệ thống UEFI. MBR (Master Boot Record) được thiết kế cho các phần cứng BIOS và vẫn được Windows Boot Loader sử dụng ở một mức độ nào đó. Thêm GRUB vào MBR, khi nó đã có trong danh sách nhập EFI, có thể gây ra nhiều bóng tóc. Nếu bạn cần đảm bảo GRUB là mục đầu tiên trong danh sách thứ tự khởi động (nghĩa là nếu Windows luôn khởi động, mặc dù bạn đã làm mọi thứ đúng), hãy sử dụng efibootmgr (xem bước 4.1) để xem / chỉnh sửa thứ tự khởi động của Trình quản lý EFI .

Ghi chú

Tôi chưa đề cập đến Khởi động an toànbởi vì nó thường không ảnh hưởng đến cài đặt của Ubuntu. Nhiều hướng dẫn khởi động kép nói về việc vô hiệu hóa nó, nhưng điều đó thường không cần thiết với trình cài đặt 64 bit hiện tại. Tuy nhiên, mỗi PC là khác nhau và Secure Boot khá mới (2012), vì vậy các phần cứng khác nhau có thể triển khai mọi thứ khác nhau. Ví dụ: phiên bản phần sụn HP của tôi bao gồm tùy chọn "khởi động kế thừa", vô hiệu hóa Secure Boot và xử lý các hệ điều hành đã cài đặt như thể đó là phần sụn BIOS: một số người khuyên nên bật tùy chọn này để cài đặt cho khởi động kép. Cài đặt Ubuntu ở chế độ khởi động cũ trên hệ thống của tôi đã ngăn GRUB tự thêm vào danh sách mục nhập EFI, vì vậy tất cả những gì có thể làm là tự thêm vào MBR, mà Windows Boot Manager có toàn quyền kiểm soát. Windows Boot Manager đã chỉnh sửa rất nhiều để thậm chí hiển thị danh sách các mục,

Xem tại đây để biết thêm thông tin về Ubuntu và Secure Boot và Legacy Boot, và thông tin về sự khác biệt giữa cài đặt UEFI và BIOS nói chung.


11
IMHO quá dài để trở thành một câu trả lời tốt trên trang web này. Đừng quên đối tượng bạn đang viết cho: người dùng trung bình không biết sự khác biệt giữa GPU và CPU ... Bạn có quan tâm nếu tôi làm nó im lặng một chút không? (bạn có biết cách hoàn nguyên các chỉnh sửa không?)
Fabby

4
Xin hãy tiếp tục! Dao cạo của Ockham, hả? Tôi đấu tranh để đơn giản hóa điều này mà không cảm thấy như tôi đang bỏ qua các chi tiết quan trọng, vì vậy bất kỳ trợ giúp nào đều được đánh giá cao.
Michael Hoffmann

24
+1 cho lời giải thích tốt nhất tôi đã đọc về UEFI. Tôi nghĩ rằng đó là một loại "bios mới"
SuperSluether

5
Một trong những câu trả lời hay nhất tôi từng thấy. Sẽ thử nó sớm với Ubuntu sắp tới.
Mosh

11
Đây là một hướng dẫn đáng kinh ngạc. Tôi hiểu mong muốn được đề cập trước đây để đơn giản hóa điều này, nhưng tôi không nghĩ có một câu trả lời đơn giản cho vấn đề này. Vâng, bạn có thể giả thuyết thu nhỏ nó thành một danh sách gạch đầu dòng "làm điều này, sau đó làm điều này", nhưng tôi nghĩ rằng điều này là không cần thiết. Lộn xộn với các ổ đĩa phải được thực hiện với sự cẩn thận; không muốn một người dùng trung bình cố gắng theo dõi danh sách gạch đầu dòng và thất bại ở đâu đó ở giữa.
vaindil 30/03/2016

8

Tôi không muốn sao chép một bài đăng vì vi phạm chính sách tiềm năng vì vậy tôi sẽ liên kết câu trả lời của mình cho vấn đề này. Nói tóm lại, tôi có một máy tính xách tay Samsung đã cài đặt Windows 10 và tôi đã cố gắng cài đặt linux với nhiều phiên bản; Ubuntu 12.04, 14.04 và 16.04. Tôi đã sử dụng Boot-Repair và thay đổi Ưu tiên khởi động trong BIOS thiết lập của mình , điều này dẫn đến việc tải GRUB chức năng, nhưng lộn xộn trước tiên. Trả lời bởi người dùng Michael Hoffmann cung cấp giải thích tốt cho việc cài đặt trên ổ đĩa trống và cách dọn sạch GRUB , nhưng tôi không muốn xóa cài đặt Windows 10 của mình.

Giải thích chi tiết có thể được tìm thấy trong bài viết của tôi TẠI ĐÂY .


1
Hey, cảm ơn vì đã tuân thủ các chính sách của trang web! Điều đó giữ cho mọi thứ sạch sẽ và có tổ chức và giúp mọi người tìm thấy câu trả lời. Câu trả lời của bạn cực kỳ hữu ích, và liên quan đến câu hỏi của tôi và câu trả lời của tôi, vì vậy tôi rất vui khi bạn đặt nó ở đây với nó. Cảm ơn các liên kết!
Michael Hoffmann

6

Tôi có thể trình bày cho bạn một bản hack đơn giản cho vấn đề này, sử dụng nó nếu không có giải pháp hợp pháp nào giải quyết được vấn đề của bạn.

Vì Windows liên tục thay đổi thứ tự khởi động, nên hack là để lừa Windows nhận ra Ubuntu grub là tệp khởi động Windows, tức là bootmgfw.efi

Phần 1: Truy cập thư mục EFI trên Windows

Mở cmd với tư cách quản trị viên và gắn thư mục EFI để truy cập nó. Thực hiện các lệnh sau từng cái một. Dưới đây tôi đã gán chữ g cho mount, đảm bảo bạn gán một chữ cái chưa được gán trong PC.

mountvol g: /s
g:
cd EFI\

Bạn sẽ thấy một thư mục Microsoft và thư mục Ubuntu trong EFI.

Phần 2: Sao chép grubx64.efi từ Ubuntu sang Microsoft \ Boot \ dưới dạng bootmgfw.efi

Đầu tiên tạo bản sao lưu của bootmgfw.efi

cd Microsoft\Boot\
rename bootmgfw.efi bootmgfw_.efi

Bây giờ làm bản sao và đổi tên.

copy g:\EFI\ubuntu\grubx64.efi g:\EFI\Microsoft\Boot\
rename grubx64.efi bootmgfw.efi

Phần 3: Ngắt kết nối thư mục EFI

Thực hiện các lệnh sau từng cái một.

c:
mountvol g: /d

Bây giờ khởi động lại PC của bạn và bạn sẽ thấy Ubuntu GRUB tải lên, trong đó cũng có tùy chọn trình tải Windows UEFI để khởi động Windows.


Điều này hoạt động, nhưng các bản cập nhật Windows có thể thay thế tệp .efi, do đó đôi khi có thể cần phải làm lại. Cảm ơn sự đóng góp!
Michael Hoffmann

1
Đúng vậy, một số bản cập nhật Windows thay thế tệp .efi, vì vậy, điều tốt nhất nên làm nếu bạn không sử dụng Windows thường là vô hiệu hóa các bản cập nhật từ các dịch vụ cục bộ và cập nhật Windows khi bạn cảm thấy thích và lặp lại các bước được đề cập.
Ghen tị

Điều này hoạt động nhưng bây giờ làm thế nào để tôi khởi động trở lại Windows của tôi? Bây giờ nó khởi động trực tiếp vào Linux của tôi. Xin tư vấn.
martti d 17/03/2017

@marttid grub được cho là cũng hiển thị tùy chọn Windows. Đảm bảo 'bootmgfw_.efi' tồn tại trong thư mục khởi động của Microsoft.
Ghen tị

1
Hoặc trong một lệnh bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efinhư được đề xuất ở đây
newandlost

2

Một giải pháp dễ dàng hơn một chút cho vấn đề trên.

  1. Nhấn F10trong khi khởi động để đi qua cài đặt BIOS nâng cao
  2. Trong cài đặt BIOS Boot Order cho phép thứ tự Legacy Boot sẽ cho phép cả UEFI và Legacy Boot Order.
  3. Tăng độ trễ khởi động lên 5 giây sẽ cho một chút thời gian trong quá trình lựa chọn hệ điều hành thời gian khởi động.
  4. Lưu các thiết lập BIOS và thoát.
  5. Trong lần khởi động tiếp theo, bạn sẽ được hỏi về tùy chọn lựa chọn khởi động. Nhấn F9để nhập và chọn tùy chọn khởi động thích hợp (Windows OS Boot Manager hoặc Ubuntu)

1
Tôi đoán đó là một giải pháp, nhưng nó hoàn toàn không phải là hệ thống hỗ trợ GRUB thân thiện với người dùng mà hầu hết mọi người đang tìm kiếm khi họ nói về khởi động kép. Phải vào các menu chương trình cơ sở - nơi rất dễ phá vỡ mọi thứ - mỗi khi bạn khởi động máy tính là điều cần tránh. Việc kích hoạt Legacy Boot cũng yêu cầu vô hiệu hóa Secure Boot (ít nhất là trên phần sụn của tôi), điều này có thể khiến hệ thống dễ bị tổn thương hơn khi tiêm firmware - bất kỳ người lạ nào cũng có thể đặt USB với hệ điều hành độc hại homebrew trong máy tính của bạn và khởi động trong vài giây.
Michael Hoffmann

1
Ít nhất trong kịch bản của tôi, tôi thấy nó thân thiện và nhanh chóng hơn nhiều so với giải pháp số 1 và là giải pháp để đối phó với chế độ khởi động Windows UEFI vốn ban đầu hạn chế khởi động kép. Đúng. Thật vậy, cách giải quyết này dành cho những người có thể kích hoạt tính năng khởi động kế thừa và có quyền kiểm soát PC / máy tính xách tay của họ không bị tiếp xúc với người lạ và biết họ đang làm gì. Ngoài ra, nhiều người muốn khởi động PC của họ sau khi họ đã cài đặt / cập nhật lên Windows 10 và họ có thể không có đủ tài nguyên hoặc thời gian cần thiết cho giải pháp # 1.
vishal yadav

0

Tôi tìm thấy một giải pháp đơn giản hơn nhiều , hoạt động trên máy tính xách tay HP (355 G2) đã cài đặt windows 10

  1. Nhấn thoát trong khi khởi động
  2. Nhấn F9 để tùy chọn khởi động
  3. Chọn tùy chọn USB không phải là UEFI (theo tôi, đó là phần dưới cùng trong danh sách) và nhấn Enter
  4. Sau đó, bạn sẽ nhận được một màn hình thông báo lỗi. Tuy nhiên, bạn chỉ cần gõ 'live' để dùng thử HĐH hoặc 'live-install' và nhấn enter để cài đặt nó, và tất cả nên đi bơi ....

Bạn có thể tìm ra phiên bản firmware nào bạn đang chạy không? Nếu cài đặt bây giờ hoạt động như dự định, điều đó thật tuyệt vời, nhưng nó có thể chỉ là mô hình cụ thể đó. Có thể một bản cập nhật firmware sẽ đơn giản hóa quy trình trên mô hình của tôi. Tôi sẽ cài đặt lại cả hai hệ điều hành để tôi có thể sắp xếp lại các phân vùng của mình và thử phân phối khác vào tuần này và tôi đã lên kế hoạch sử dụng hướng dẫn của mình, nhưng nếu phiên bản phần sụn của bạn khác với tôi, tôi có thể thử nâng cấp trước.
Michael Hoffmann

Yep, cài đặt và khởi động kép dường như hoạt động hoàn hảo. Tôi không chắc chắn chính xác làm thế nào để tìm phiên bản phần sụn của BIOS / bo mạch chủ (nếu đó là những gì bạn muốn). Tôi đã thử 'sudo dmidecode' nhưng nó đã thu được nhiều thông tin hơn mức tôi cần ...
Amphibio

Nếu bạn nhấn ESC trong khi khởi động, cần có một tùy chọn cho cài đặt BIOS hoặc cài đặt chương trình cơ sở. Cần có một Giới thiệu hoặc một cái gì đó trong đó.
Michael Hoffmann

1
Được rồi Phiên bản BIOS là F. 10. Máy tính 'Sinh ra vào ngày' là từ năm 2015 và hệ điều hành được cài đặt tại nhà máy là windows 7, nếu điều đó tạo ra sự khác biệt ....
Amphibio

Umm, đó là để khởi động USB trực tiếp ở chế độ BIOS, khi đó là về chế độ UEFI và có hệ thống khởi động kép trong đó Grub được khởi động trước.
RoundDuckMan

0

Lấy cảm hứng (thành thật mà nói, giống như trích xuất từ ​​câu trả lời và sau đó hợp lý hóa nó vì nó quá phức tạp) từ một câu trả lời nhất định ở đây (cụ thể, câu trả lời siêu chi tiết của bạn ở đây), đây sẽ là cách để đạt được điều này, cũng là mượn từ bài đăng Hỏi & Đáp gần đây của tôi ( Tôi có thể cài đặt Windows sau khi cài đặt Ubuntu trên UEFI không? ).

Cách đầu tiên và dễ nhất, vì có vẻ như UEFI ưu tiên hệ thống được cài đặt đầu tiên (ít nhất là trong các hệ thống HP này, tôi có HP OMEN nơi tôi đạt được điều này) thay vì truyền thống ưu tiên cài đặt mới nhất. Có thể điều này thậm chí có thể xảy ra do UEFI hỗ trợ nhiều bộ tải khởi động nguyên bản.

Điều đó có nghĩa là để ưu tiên Grub của Ubuntu, trước tiên bạn phải cài đặt Ubuntu. Bây giờ đừng lo lắng về điều này, vì Windows 10 sẽ cài đặt độc đáo cùng với Ubuntu sau đó, chỉ cần tạo các phân vùng Windows trong trình cài đặt Windows, sau đó cài đặt.

Sau đó, sau khi mọi thứ được thiết lập, sau đó thử khởi động lại từ Windows, hoặc, tất nhiên bạn nên làm điều này trước khi khởi động vào Ubuntu, tắt tùy chọn khởi động nhanh bằng cách đi tới các tùy chọn nguồn, sau đó sẽ "chọn nút nguồn làm gì , "Và bỏ chọn hộp kiểm" bật khởi động nhanh ".

Bây giờ cách khác là thông qua efibootmgr. Tôi không có nhiều kinh nghiệm với việc này, vì vậy tôi đã quyết định mượn từ một anh chàng tuyệt vời, người hiểu biết về UEFI, Rod Smith tốt bụng. Ông đã đưa ra một câu trả lời cho câu hỏi ở đây: Thay đổi thứ tự khởi động bằng efibootmgr . Đây là những gì ông nói nguyên văn:

Đầu tiên, một khiếu nại rằng các tệp khởi động ở xa đĩa bắt đầu không liên quan trên máy tính khởi động EFI. Có các giới hạn trong BIOS (thay đổi tùy theo tuổi của BIOS), nhưng ngay cả trong BIOS (hiện đại), đĩa 750GB của bạn sẽ không gây ra vấn đề gì.

Thứ hai, bạn có thể thay đổi BootOrderbiến với efibootmgr's -otùy chọn, như trong:

sudo efibootmgr -o 0,1,2

Lệnh này sẽ đặt hai ubuntutrường hợp đầu tiên, tiếp theo là Windows Boot Managermục nhập. Điều đó nên làm các mẹo. Thật không may, một số EFI bị lỗi và "quên" BootOrdermục nhập hoặc hoạt động sai. Nếu bạn gặp vấn đề, tôi khuyên bạn nên thử lệnh sau trong cửa sổ Dấu nhắc lệnh của Quản trị viên Windows:

đường dẫn bcdedit / set {bootmgr} \ EFI \ ub Ubuntu \ shimx64.efi

(Nếu bạn đã tắt Secure Boot, bạn có thể thay thế shimx64.efibằng grubx64.efi, mặc dù chúng sẽ hoạt động với Secure Boot bị tắt.)

Nếu thất bại, phần sụn của bạn có thể bị lỗi. Có thể có một bản cập nhật có sẵn từ HP. Nếu không, hoặc nếu nó không giúp ích, và nếu bạn đang trong thời gian trả lại cho máy tính của mình, hãy trả lại để được hoàn lại tiền và nhận được một cái gì đó không bị hỏng. Nếu bạn không thể làm điều đó, thì bạn đang ở trong lãnh thổ của các cách giải quyết thực sự xấu xí, như đổi tên GRUB để nó giả vờ là trình tải khởi động Windows. Xem ở đây để biết một số thông tin về chủ đề đó, mặc dù được viết riêng cho rEFInd. Các nguyên tắc cơ bản áp dụng cho bất cứ điều gì, mặc dù.

Vì vậy, về cơ bản, sử dụng efibootmgr để thay đổi thứ tự khởi động. Sau khi bạn làm đúng, bạn nên khởi động Ubuntu thay vì khởi động Windows trước. :)

Tôi hy vọng tất cả những gì giúp!

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.