Câu hỏi Làm cách nào để đặt Windows khởi động làm mặc định trong bộ tải khởi động?


Làm cách nào để thiết lập bộ nạp khởi động sao cho trong bo mạch kép của tôi với Windows 7 / Ubuntu 11.04, Windows khởi động như là chuẩn thay vì Ubuntu?


218
2017-07-13 17:13


gốc




Các câu trả lời:


Tùy chỉnh /etc/default/grub tập tin

Có hai cách để thực hiện việc này bằng cách chỉnh sửa tệp grub. Chúng được mô tả trong Trang tài liệu cộng đồng Ubuntu Grub2

Hai cách là:

  • Khởi động hệ điều hành nào bạn đã khởi động lần trước, "phương thức đã lưu"
    • Đây là cái tôi dùng. Nó cho phép tôi quyết định cái nào tôi sẽ sử dụng và sẽ cho phép tôi khởi động lại vào hệ thống đó, tiện dụng khi tôi cập nhật.
  • Khởi động một hệ điều hành cụ thể theo mặc định.
    • Câu trả lời cho câu hỏi chính xác của bạn.

Tìm menuentry để đặt làm mặc định mới

Để bắt đầu, chúng ta cần phải tìm hiểu những gì chúng ta đang khởi động hoặc muốn khởi động. Mở một thiết bị đầu cuối với Ctrl+Alt+t và nhập

grep menuentry /boot/grub/grub.cfg

user@YourComputer:~$ grep menuentry /boot/grub/grub.cfg
menuentry 'Ubuntu, with Linux 2.6.35-31-generic' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 2.6.35-31-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 2.6.35-30-generic' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 2.6.35-30-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Windows NT/2000/XP (loader) (on /dev/sda1)" {
menuentry "Ubuntu, with Linux 2.6.32-34-generic (on /dev/sdb1)" {
menuentry "Ubuntu, with Linux 2.6.32-34-generic (recovery mode) (on /dev/sdb1)" {
menuentry "Ubuntu, with Linux 2.6.32-33-generic (on /dev/sdb1)" {
menuentry "Ubuntu, with Linux 2.6.32-33-generic (recovery mode) (on /dev/sdb1)" {
menuentry "Windows Vista (loader) (on /dev/sdc1)" {

Bạn có thể thấy rằng phương thức "đã lưu" có thể có ích khi khởi động nhiều hệ điều hành. Lưu tên của mục nhập bạn muốn, ví dụ: Windows NT/2000/XP (loader) (on /dev/sda1), chúng ta cần nó sau.

Chỉnh sửa /etc/default/grub tập tin

Nhập vào thiết bị đầu cuối

sudo nano -B / etc / mặc định / grub

và mật khẩu của bạn nếu được hỏi. Các nano trình chỉnh sửa sẽ mở.

A. Phương thức đã lưu - Theo cách ưa thích của tôi, tôi đã thực hiện các thay đổi sau từ tệp grub chuẩn.

  • Tôi đã thay đổi giá trị của GRUB_DEFAULT đến saved:

    GRUB_DEFAULT=saved
    
  • Tôi đã bật Hàm SAVEDEFAULT bằng cách thêm dòng sau:

    GRUB_SAVEDEFAULT=true
    

B. Trình đơn cụ thể - Theo cách bạn đang yêu cầu

  • Thay đổi giá trị của GRUB_DEFAULT vào tên của hệ thống Windows bạn muốn luôn khởi động. Tên của trình đơn Grub tương ứng có thể được tìm thấy như được mô tả trong phần trước.
  • Tôi muốn có Window XP luôn được thiết lập mặc định khi khởi động, tôi sẽ thiết lập GRUB_DEFAULT đến "Windows NT/2000/XP (loader) (on /dev/sda1)":

    GRUB_DEFAULT="Windows NT/2000/XP (loader) (on /dev/sda1)"
    

    Lưu ý: Một số phiên bản của Ubuntu yêu cầu báo giá kép (') báo giá kép (").

Bạn cũng có thể đặt GRUB_DEFAULT đến số dòng trong danh sách mục nhập (với 0 là đầu tiên), nhưng khi hạt nhân trong Ubuntu được cập nhật grub thêm hạt nhân mới vào đầu danh sách, bạn sẽ phải thay đổi số, vì Windows là cuối cùng một trong danh sách mục nhập. Bạn có thể thấy điều này trong danh sách mục nhập của tôi.

Cập nhật cấu hình khởi động

Bây giờ bạn phải chạy

sudo update-grub

để cập nhật hệ thống được tạo grub.cfg tập tin trong /boot/grub/ danh mục.

user@YourComputer:~$ sudo update-grub
Generating grub.cfg ...
Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga
Found linux image: /boot/vmlinuz-2.6.35-31-generic
Found initrd image: /boot/initrd.img-2.6.35-31-generic
Found linux image: /boot/vmlinuz-2.6.35-30-generic
Found initrd image: /boot/initrd.img-2.6.35-30-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows NT/2000/XP (loader) on /dev/sda1
Found Ubuntu 10.04.3 LTS (10.04) on /dev/sdb1
Found Windows Vista (loader) on /dev/sdc1
done

Phụ lục

Ghi chú về nano

nano là đặc biệt dễ sử dụng trong thiết bị đầu cuối. Di chuyển xung quanh bằng các phím mũi tên. Nhập bạn vào phần bổ trợ, xóa những phần không mong muốn.

Các -B hoặc là --backup tùy chọn sao lưu phiên bản trước của nó vào tên tệp hiện tại được gắn liền với một ~. Rất tiện dụng trong trường hợp sợ hãi Fat pfinger effect.

Khi bạn trải qua, Ctrl+o sẽ cho phép bạn lưu các chỉnh sửa của mình bằng cách nhấn Đi vào và Ctrl+x sẽ đóng lại. Các tùy chọn này và các tùy chọn khác được hiển thị ở cuối màn hình thiết bị đầu cuối với ^ chỉ ra Ctrl.

^G Get Help    ^O WriteOut    ^R Read File   ^Y Prev Page   ^K Cut Text    ^C Cur Pos
^X Exit        ^J Justify     ^W Where Is    ^V Next Page   ^U UnCut Text  ^T To Spell

Lưu ý về nano, sudoeditor và các trình soạn thảo khác

Một số người trong cộng đồng Ubuntu đề xuất sudoedit thay vì nano. Tôi khuyên bạn nên nano - đó là trình soạn thảo sudoedit mặc định trong các bản phân phối sau của Ubuntu - thay vì sudoedit, bởi vì mặc định có thể được ghi đè theo những cách không rõ ràng, trừ khi bạn là quản trị viên. sudoedit an toàn hơn ở chỗ nó sẽ tự động lưu một bản sao lưu của tệp đã chỉnh sửa, nhưng -B tùy chọn dòng lệnh trong nano làm điều tương tự. nano trực quan hơn các biên tập viên như vi hoặc là emacs, rất linh hoạt nhưng yêu cầu học nhiều lệnh, phím tắt hoặc các chế độ khác nhau.

Nếu bạn không muốn sử dụng nano trình soạn thảo và thích Trình chỉnh sửa văn bản Gnome, thay vì sudo nano -B sử dụng gksu gedit. Tôi thường làm điều này cho các tệp lớn và /etc/default/grub có thể dễ dàng được coi là một tệp lớn. Do đó, hãy nhập gksu gedit /etc/default/grub thay vì sudo nano -B /etc/default/grub. Lưu ý rằng trình soạn thảo văn bản Gnome không phải tự động tạo bản sao lưu!

Ghi chú trên tệp grub của tôi

Tôi đã thực hiện một số thay đổi để grub cho nhu cầu cá nhân của tôi. Chẳng hạn như hình nền của buổi ra mắt mặt trăng. Làm thế nào để làm điều này được thảo luận tại Trang tài liệu cộng đồng Ubuntu trên Grub2, được khuyến nghị.

Chúc may mắn!


239
2017-11-26 18:53



Giữ nó đơn giản dựa trên trích dẫn của Einstein: "Mọi thứ nên đơn giản nhất có thể, nhưng không quá đơn giản." (Ba từ cuối cùng được bỏ qua khi một số trích dẫn này). Cảm ơn kudo ... - keepitsimpleengineer
yêu nó giúp tôi rất nhiều, nhưng như tôi đã thấy, tùy biến GRUB nó rất dễ dàng: P XD - Ran Shemer
Tùy thuộc vào cấu hình của bạn, bạn có thể gặp sự cố trong đó "Phương thức đã lưu" (A) dường như không hoạt động. Rất có thể là mục trình đơn khởi động của bạn cần một dòng bổ sung savedefault. Xem grub dẫn sử dụng để biết thêm chi tiết. Hi vọng điêu nay co ich. - pdvries
Hãy chắc chắn rằng bạn sử dụng các câu hỏi đơn giản trong Ubuntu 16 khi viết tên hệ điều hành mặc định cho tệp cấu hình! Nếu không update-grub sẽ đưa ra một thông báo lỗi "(" trên dòng đó. Một câu trả lời tuyệt vời và chi tiết bằng cách này! - hubbabubba
@hubbabubba Cảm ơn bạn đã đứng đầu, tôi đã chỉnh sửa câu trả lời :) - keepitsimpleengineer


Với một chút thủ thuật dòng lệnh, bạn có thể nhận được mặc định của grub để luôn luôn là một mục grub cụ thể - ví dụ Windows - không có vấn đề khi một hạt nhân mới được cài đặt.

Trong loại thiết bị đầu cuối:

fgrep menuentry /boot/grub/grub.cfg

Điều này sẽ hiển thị tất cả các mục grub của bạn - ví dụ

enter image description here

Đánh dấu mục bạn muốn mặc định - ví dụ Windows 7 trong ảnh chụp màn hình. Nhấp chuột phải và chọn copy

Kiểu

gksu gedit /etc/default/grub

Thay đổi mục nhập

GRUB_DEFAULT=0

đến

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda2)"

tức là dán mục nhập bạn muốn (bao gồm cả dấu ngoặc kép)

Lưu, sau đó nhập

sudo update-grub

nguồn


74
2017-07-13 20:51



Làm việc trên Ubuntu 16.04, với một phương sai nhỏ (thay đổi báo hiệu tín hiệu thành hai qoute) - WiredIn


Bạn cần chỉnh sửa /etc/default/grub tệp để đặt Windows làm hệ điều hành mặc định của bạn.

Bước đầu tiên. Xác định vị trí của hệ điều hành Windows trong menu grub. Để thực hiện việc này, hãy mở một thiết bị đầu cuối bằng cách nhấn Ctrl+Alt+T và nhập như sau:

grep menuentry /boot/grub/grub.cfg

Điều này sẽ liệt kê các mục trình đơn grub. Tôi sẽ sử dụng trình đơn grub của tôi làm ví dụ:

menuentry 'Ubuntu, with Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 2.6.38-8-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {

Sau đó bạn sẽ chọn phân vùng Windows, trong trường hợp của tôi là "Windows 7 (bộ nạp) (trên / dev / sda1)" bao gồm cả dấu ngoặc kép và sao chép nó.

Bước thứ hai. Mở /etc/default/grub tập tin. Để thực hiện việc này, hãy nhập thông tin sau vào thiết bị đầu cuối:

gksudo gedit /etc/default/grub

Nó sẽ mở tập tin / etc / default / grub bằng gedit. Tìm kiếm GRUB_DEFAULT=0 và thay đổi giá trị của nó từ 0 sang mục nhập Windows đã chọn bằng cách dán nó. .

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda1)"

Ngoài ra, bạn có thể sử dụng giá trị số nguyên xác định vị trí chỉ mục của hệ điều hành Windows, lưu ý rằng chỉ số bắt đầu đếm ở 0, vì vậy trong ví dụ của tôi, giá trị Windows OS sẽ là 4, do đó bạn cũng có thể đặt

GRUB_DEFAULT=4

Sau đó, bạn cần cập nhật grub bằng cách nhập

sudo update-grub

21
2017-07-12 11:51





Bạn có thể theo dõi điều này câu trả lời nitstorm ở đây,

Bạn sẽ phải thêm Grub-customizer xuyên qua

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

Sau đó khởi động nó từ dấu gạch ngang, ống kính ứng dụng.

enter image description here

menu trên sẽ khác với menu của bạn, vì vậy hãy chọn một cách khôn ngoan và chọn mục nhập Windows 7 và từ thanh Menu trên cùng, chọn ^ mũi tên để di chuyển lên trên để có vị trí trên cùng, trong khi khởi động.

Để khởi động vào Windows, hãy chọn trực tiếp preference  và giảm thời gian khởi động để tải các cửa sổ.

enter image description here


16
2017-07-12 06:31





Nó có thể được thực hiện dễ dàng với một công cụ GUI gọi là "Grub Customizer".

Tùy biến Grub là gì?

Grub Customizer là một giao diện đồ họa để cấu hình grub2. Ứng dụng cho phép người dùng thêm, xóa, đóng băng, đổi tên và sắp xếp lại các mục menu khởi động

Cài đặt thế nào?

Đánh Alt+Ctrl+T để mở thiết bị đầu cuối và chạy các lệnh sau từng cái một:

sudo add-apt-repository ppa: danielrichter2007 / grub-customizer
sudo apt-get update
sudo apt-get cài đặt grub-customizer

Làm thế nào để sử dụng?

  • Sau khi cài đặt, nhấn phím Super (phím Windows) để mở dấu gạch ngang Unity và tìm kiếm "" và mở nó.
  • Chọn nhóm Linux bằng cách nhấp vào Linux và di chuyển nó xuống bằng cách nhấp vào mũi tên xuống trong thanh công cụ. Sau khi hoàn tất, nhấp vào lưu. Đó là nó!

enter image description here

Hãy nhớ rằng bạn không thể di chuyển các mục đơn lẻ ra khỏi nhóm tương ứng của chúng như Ubuntu không thể di chuyển ra khỏi nhóm Linux.


14
2018-05-17 04:05



Nice, không biết có một GUI cho cấu hình GRUB2. +1 trên cái này;) - ruffEdgz


Sử dụng trình quản lý khởi động, bạn có thể bắt đầu từ dấu gạch ngang. Ở đó bạn có thể sử dụng hệ điều hành để bắt đầu với trong trình đơn thả xuống.

startup manager


11
2017-11-26 17:24



Xin lỗi tôi chỉ thấy rằng bạn nói rằng người quản lý khởi động không hoạt động trong phiên bản 64bit. bạn có thể thử thay thế grub customizer Cài đặt Grub Customizer trong ubuntu Mở terminal và chạy lệnh sau sudo add-apt-repository ppa: danielrichter2007 / grub-customizer sudo apt-get cập nhật sudo apt-get install grub-customizer Khi bạn cài đặt, bạn có thể mở từ Ứng dụng -> Hệ thống Toiols -> Grub Customize - dago


Thay đổi giá trị của GRUB_DEFAULT trong /etc/default/grub đến bất kỳ cửa sổ nào trên danh sách grubs của các hệ điều hành có sẵn khi bạn khởi động. Ví dụ trong trường hợp của tôi, tôi sẽ phải thay đổi dòng đó từ

GRUB_DEFAULT=0

đến

GRUB_DEFAULT=5

Sau đó, chạy sudo update-grub.


10
2017-11-26 16:52



Phương pháp này cần phải được sửa đổi để luôn luôn đúng xác định mục menu chính xác (dành cho cửa sổ). Phương pháp này sẽ chỉ hoạt động trong cài đặt đơn giản nhất và có thể KHÔNG PHẢI tồn tại bản cập nhật hạt nhân hoặc các thay đổi khác. Xem: ubuntuforums.org/showthread.php?t=1195275 - david6
Hôm nay chỉ có hạt nhân mới nhất có 2 mục (phục hồi và khởi động bình thường), tất cả các hạt nhân khác được nhóm trong "hạt nhân khác" (hoặc một cái gì đó tương tự, tôi không nhớ tên). Vì vậy, tôi phải không đồng ý, nó sống sót cập nhật hạt nhân. - imbaer
Tôi đã thêm nhận xét vì ví dụ của bạn được sử dụng = 6 - david6
Đúng vậy, nó phải là = 5. - imbaer


Xác định tên của mục nhập Windows

Trên GRUB, sẽ có một mục như Windows 7 (loader) (/dev/sda1). Chúng tôi cần biết tên đó trên máy của bạn, vì vậy hãy mở Thiết bị đầu cuối và chạy lệnh sau:

$ fgrep menuentry /boot/grub/grub.cfg

Đầu ra phải là một cái gì đó như thế này:

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Linux Mint 14 Cinnamon 64-bit, 3.5.0-17-generic (/dev/sda6)' --class linuxmint --class gnu-linux --class gnu --class os {
menuentry 'Linux Mint 14 Cinnamon 64-bit, 3.5.0-17-generic (/dev/sda6) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry 'Windows 8 (loader) (en /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-06B66EA8B66E97C7' {
menuentry 'Microsoft Windows XP Embedded (en /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-7246B3A846B36C0B' {

Nhìn vào dòng chúng tôi đã nói về! Trong máy của tôi, nó là Windows 8 (loader) (en /dev/sda1). Viết tên của mục nhập của bạn ở đâu đó, và bây giờ chúng ta hãy đặt là mặc định.

Đặt mục Windows làm mặc định

Thật dễ dàng!

Trước tiên, hãy mở tệp cấu hình của chúng tôi bằng gedit (một trình soạn thảo văn bản) dưới dạng root, chạy lệnh này:

$ gksudo gedit /etc/default/grub

Tìm kiếm dòng này:

GRUB_DEFAULT = 0

Và sửa đổi 0 với tên của mục nhập Windows của bạn. Trong máy tính của tôi:

GRUB_DEFAULT = "Windows 8 (loader) (en /dev/sda1)"

Bây giờ chỉ cần lưu tệp, đóng geditvà cập nhật grub.

Đang cập nhật GRUB

Chỉ cần chạy lệnh này:

$ sudo update-grub

Bây giờ chỉ cần khởi động lại, và mục Windows sẽ được đánh dấu làm mặc định!


7
2018-01-26 19:34





Grub-Customizer:

Là một trình quản lý cài đặt GRUB2 đồ họa rất dễ sử dụng. Hiện tại, nó chỉ cho phép bạn chỉnh sửa các mục menu GRUB2: sắp xếp lại, đổi tên hoặc thêm / xóa các mục nhập. Nó cũng sẽ cho phép thay đổi hình nền và thời gian chờ menu. Vì đây thực sự là các kịch bản tạo tệp boot.cfg, Grub Customizer thay đổi thứ tự kịch bản thực tế và sau đó tạo boot.cfg mới nên nếu bạn chạy "sudo update-grub", tùy chỉnh của bạn sẽ không bị ghi đè.


2
2017-07-13 23:21





Từ kinh nghiệm của tôi, tôi nhận thấy rằng nó không phải là dễ dàng như vậy để thay đổi ưu tiên khởi động cho Win7 / Ubuntu 11.04. Tiện ích, như Startup Manager có vẻ như isctrying để thay đổi hệ thống khởi động mặc định, nhưng không có gì xảy ra sau khi khởi động lại (11.04 tiếp tục khởi động theo mặc định). Tôi có thể đề nghị Grub Customiser Grub Tùy chỉnh trên WebUpd8, hoạt động tốt với Grub2. Tôi chỉ cần loại bỏ tất cả các tùy chọn khởi động tuyệt đối (có rất nhiều), chỉ để lại 11.04 và Win7. Và sau đó thay đổi ưu tiên khởi động. Bây giờ, mọi thứ hoạt động tốt :)

Chúc may mắn.


1
2017-07-13 20:06



Tôi đã sử dụng Startup Manager trên Windows XP và Ubuntu 10.04 LTS cho máy tính để bàn của bố mẹ tôi, và ngoài thực tế là bạn phải chạy lại nó mỗi khi bạn nâng cấp lên một hạt nhân mới, nó đã hoạt động tốt. - Christopher Kyle Horton
Chào ! Tôi cho rằng đó là vấn đề về cách Grub2 xử lý các cài đặt hạt nhân mới. Nó không đưa vào tài khoản mới grub2 trình đơn chèn :) - Vincenzo


Điều này thực sự khá dễ dàng để làm. Đầu tiên, bạn cần tìm hiểu xem Grub đặt tên cho mục Windows của bạn. Bạn có thể làm điều đó bằng cách nhìn vào /boot/grub/grub.cfg hoặc bằng cách chạy lệnh này:

sudo cat /boot/grub/grub.cfg | grep -i Windows | sed -e 's/^.* "//g' -e 's/".*$//g'

Lệnh đó làm gì là tìm kiếm Windows trong /boot/grub/grub.cfg và xóa văn bản bên ngoài " nhân vật.

Lệnh sẽ xuất ra một cái gì đó như Microsoft Windows XP Professional (on /dev/sdb2).

Bây giờ mở /etc/default/grub bằng cách chạy:

gksudo gedit /etc/default/grub

và thay đổi:

GRUB_DEFAULT=0

đến

GRUB_DEFAULT="Name of your Windows menu entry"

Cuối cùng, chạy:

sudo update-grub

để tạo lại menu Grub. Và đó là nó! Nâng cấp trong tương lai sẽ không làm hỏng điều này. Mục menu Windows của bạn sẽ luôn được chọn theo mặc định.


1
2017-07-13 20:54