Ich habe kürzlich CentOS 7 auf einem Computer installiert, auf dem Windows 7 ausgeführt wurde. Ich habe eine Dual-Boot-Installation durchgeführt und CentOS auf einer Partition installiert. Aber wenn ich meinen Computer hochfahre, habe ich nur zwei CentOS-Optionen. Es gibt mir nicht die Möglichkeit, Windows 7 zu starten. Wie kann ich Windows 7 wieder zu den Startoptionen hinzufügen?
HINWEIS: Ich lese diesen Beitrag mit dem Titel: CenTOS 7 Dual Boot mit Windows , aber in meinem /grub
Ordner scheint sich nur eine splash.xpm.gz
Datei ohne andere Dateien zu befinden. Außerdem bin ich neu in Linux und brauche Schritt für Schritt etwas mehr.
EDIT # 1
In der Befehlszeile werden die folgenden Ergebnisse angezeigt:
[root@localhost home]# sudo update-grub
sudo: update-grub: command not found
[root@localhost home]# sudo grub-mkconfig
sudo: grub-mkconfig: command not found
Außerdem untersuche ich derzeit die Möglichkeit, dass diese Befehle möglicherweise nicht für CentOS gelten. Zum Beispiel in diesem U & L Q & A Titel: " ? Equivalent von update-grub für RHEL / Fedora / CentOS - Systeme ", sowie das Q & A Titel: " Installierte Centos 7 , nachdem Windows und kann nicht starten Sie in CentOS " scheinen , dass ich implizieren sollte grub2 neu installieren. Aber wie mache ich das? Ich lerne gerade Linux.
EDIT # 2
Der folgende Befehl funktioniert. Hier ist die Ausgabe:
[root@localhost home]# sudo grub2-mkconfig 2>/dev/null
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
set pager=1
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="${saved_entry}"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
terminal_output console
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux, with Linux 3.10.0-123.el7.x86_64' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-123.el7.x86_64-advanced-77a053a9-a71b-43ce-a8d7-1a3418f5b0d9' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint- efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5' 589631f1-d5aa-4374-a069-7aae5ca289bc
else
search --no-floppy --fs-uuid --set=root 589631f1-d5aa-4374-a069-7aae5ca289bc
fi
linux16 /vmlinuz-3.10.0-123.el7.x86_64 root=UUID=77a053a9-a71b-43ce-a8d7-1a3418f5b0d9 ro rd.luks.uuid=luks-a45243be-2514-4a81-b7a1-7e4eff712d2d vconsole.font=latarcyrheb-sun16 crashkernel=auto vconsole.keymap=us rd.luks.uuid=luks-5349515e-a082-4ff2-b035-54da7b8d4990 rhgb quiet
initrd16 /initramfs-3.10.0-123.el7.x86_64.img
}
menuentry 'CentOS Linux, with Linux 0-rescue-369d0c1b630b48cc8ef010ceb99bc668' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-369d0c1b630b48cc8ef010ceb99bc668-advanced-77a053a9-a71b-43ce-a8d7-1a3418f5b0d9' {
load_video
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5' 589631f1-d5aa-4374-a069-7aae5ca289bc
else
search --no-floppy --fs-uuid --set=root 589631f1-d5aa-4374-a069-7aae5ca289bc
fi
linux16 /vmlinuz-0-rescue-369d0c1b630b48cc8ef010ceb99bc668 root=UUID=77a053a9-a71b-43ce-a8d7-1a3418f5b0d9 ro rd.luks.uuid=luks-a45243be-2514-4a81-b7a1-7e4eff712d2d vconsole.font=latarcyrheb-sun16 crashkernel=auto vconsole.keymap=us rd.luks.uuid=luks-5349515e-a082-4ff2-b035-54da7b8d4990 rhgb quiet
initrd16 /initramfs-0-rescue-369d0c1b630b48cc8ef010ceb99bc668.img
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-386ED4266ED3DB28' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2' 386ED4266ED3DB28
else
search --no-floppy --fs-uuid --set=root 386ED4266ED3DB28
fi
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
quelle
Antworten:
Dies wird normalerweise behoben, indem die Skripte die installierten Betriebssysteme erkennen und die Konfigurationsdatei des Bootloaders (
grub2
in diesem Fall) generieren . Auf CentOS 7 sollte das so seingrub2-mkconfig
.Überprüfen Sie, ob Windows erkannt wird. Führen Sie
grub2-mkconfig
die Ausgabe aus, aber verwerfen Sie sie:Die Ausgabe sieht ähnlich (aber nicht identisch) aus wie oben gezeigt. Stellen Sie sicher, dass Windows aufgelistet ist.
Wenn Windows im vorherigen Schritt aufgeführt war, fahren Sie fort und speichern Sie die neue Konfigurationsdatei. Erstellen Sie zuerst eine Sicherungskopie, nur für den Fall.
Wenn alles gut gegangen ist, sollten Sie jetzt in der Lage sein, Windows neu zu starten.
quelle
grub2-mkconfig > /dev/null
, den ich verwenden sollte? Funktioniert dies auch im Rettungsmodus, wenn Linux nicht bootet?> /dev/null
verwirft die ausgabe. In diesem Schritt wird nur geprüft, ob Windows erkannt wird. Es macht nichts. Es istsudo grub2-mkconfig -o /boot/grub2/grub.cfg
das, was die neue Konfigurationsdatei schreibt. Beachten Sie auch, dass der Befehl auf Debian-basierten Systemen einfach istsudo update-grub
. Das Ausführen von einem Rettungssystem aus kann funktionieren, aber Sie benötigen zuerst einige andere Dinge. Schauen Sie sich hier meine Antwort an .Im Anschluss an die Antwort von @terdon - wenn Sie den Test-Schritt tun, und grub2-mkconfig ist nicht die Windows - Partition finden. Stellen Sie als Nächstes sicher, dass Sie das Paket "ntfs-3g" installiert haben, damit Ihr Linux-System die Windows-Partition (en) lesen kann.
Nach der Installation, wenn Sie ausführen
... sollte der Windows-Boot angezeigt werden. Wenn der andere Eintrag / die anderen Einträge in Ordnung sind, schreiben Sie ihn.
quelle
--enablerepo epel
Schalter für den ersten Befehl hinzufügenIch bin auf dieses Problem gestoßen, als ich CentOS 7.0 installiert habe. Windows war ursprünglich nicht in der Ausgabe von grub2-mkconfig aufgeführt.
Um ntfs-3g wie in einer anderen Antwort vorgeschlagen zu installieren, musste ich zuerst die epel-Version installieren:
Ein einfacher Versuch
sudo yum --enablerepo epel install ntfs-3g
führte zu einer Meldung , dass das Repository nicht gefunden wurde.Die Installation von epel-release ermöglichte die Installation von ntfs-3g. Von dort wurde die Windows-Partition in grub2-mkconfig aufgelistet. Die Schritte in den vorherigen Antworten gaben dann die Option, Windows beim Booten auszuwählen.
quelle
Zusammenfassung der Antworten von @terdon @JosephK und @clk zur Formalisierung des gesamten Verfahrens.
Fügen Sie das Epel-Repository hinzu
Installieren Sie das ntfs-3g-Paket
Führen Sie den
grub2-mkconfig
Befehl aus und prüfen Sie, ob der Windows-Eintrag erkannt wird.Aktualisieren Sie die
grub.cfg
Datei.quelle