SDA ist Linux mint, SDB Windows 7 und SDC mit Windows 10.
Nun habe ich von "Linux mint 20.2" nur durch Neuinstallation upgraten können und wurde vom Installationsprogramm im manuellen Partitionsmodus genötigt, eine EFI-Partition einzurichten, welche ich zuvor nicht brauchte. Ich hätte die Installation sonst nicht fortsetzen können. Also gibt es die Reihenfolge | efi | swap | / | /home |
Ein anderer Computer wurde ohne diesen Umweg von "Linux mint 20.3" mit Konsolenbefehl updatet und braucht diese auch nicht.
So habe ich manuell, weil die User-Partition erhalten bleiben musste die /swap und / gelöscht, eine 512MB EFI-Partition eingerichtet, dann 8GB swap und vom Rest des Festplattenspeichers / .
Nun ist "Linux mint 21 vanessa Mate" installiert und auf /home ist noch alles da. Aber der Bootmanager bietet mir weder der Start von "Windows 7", noch den von "Windows 10" an.
Der Grub-customizer ist auch wieder installiert und "auf andere Systeme testen" aktiv. Er findet diese aber nicht.
Hingegen kann ich aus dem BIOS-Bootmenü heraus "Windows 10" starten. Bei "Windows 7" kommt eine Fehlermeldung
grub> no such partition found
Sehr komisch finde ich das. Wieso ist der alte "grub" von Version 20.2 da drauf auf sdb und nicht auf sda?
Und wie behebe ich den gesamten Fehler nun manuell? Ich habe keine Ahnung davon, wie.
Den Bootsektor von Windows 7 kann ich mit der zugehörigen Reparatur-CD wiederherstellen.
Auf dem Referenzrechner, wo das alles läuft und als Zweitsystem nur "Windows 7" vorhanden ist, habe ich mir die Datei /boot/grub/grub.cfg angeschaut, aber werde daraus auch nicht schlau, was ich davon übernehmen sollte.
Da ist sda Linux und sdc Windows.
An diesem PC schreibe ich gerade.
Bei diesem voll funktionierenden PC, wo das Upgrade über den Konsolenbefehl ausgelöst wurde steht drin:
Code: Select all
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${initrdfail}" = 2 ]; then
set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
set next_entry="${prev_entry}"
set prev_entry=
save_env prev_entry
if [ "${next_entry}" ]; then
set initrdfail=2
fi
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
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 initrdfail {
if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
if [ -z "${initrdfail}" ]; then
set initrdfail=1
if [ -n "${boot_once}" ]; then
set prev_entry="${default}"
save_env prev_entry
fi
fi
save_env initrdfail
fi; fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; 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
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 3d30b0a2-7e73-4801-8c2e-ee668a0f0a83
else
search --no-floppy --fs-uuid --set=root 3d30b0a2-7e73-4801-8c2e-ee668a0f0a83
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=640x480
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=de_DE
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=5
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 5 ; then
set timeout=0
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux_proxy ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if [ ${grub_platform} != pc ]; then
set linux_gfx_mode=keep
elif hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
### END /etc/grub.d/10_linux_proxy ###
### BEGIN /etc/grub.d/40_custom_proxy ###
menuentry "Linux mint 21 vanessa" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3d30b0a2-7e73-4801-8c2e-ee668a0f0a83' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 3d30b0a2-7e73-4801-8c2e-ee668a0f0a83
else
search --no-floppy --fs-uuid --set=root 3d30b0a2-7e73-4801-8c2e-ee668a0f0a83
fi
linux /boot/vmlinuz-5.15.0-46-generic root=UUID=3d30b0a2-7e73-4801-8c2e-ee668a0f0a83 ro quiet splash $vt_handoff
initrd /boot/initrd.img-5.15.0-46-generic
}
### END /etc/grub.d/40_custom_proxy ###
### BEGIN /etc/grub.d/42_linux_zfs ###
### END /etc/grub.d/42_linux_zfs ###
### BEGIN /etc/grub.d/43_linux_xen ###
### END /etc/grub.d/43_linux_xen ###
### BEGIN /etc/grub.d/44_os-prober_proxy ###
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
menuentry "Windows 7 professional (on /dev/sdc2)" --class windows --class os $menuentry_id_option 'osprober-chain-307ACB0E7ACAD030' {
insmod part_msdos
insmod ntfs
set root='hd2,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos2 --hint-efi=hd2,msdos2 --hint-baremetal=ahci2,msdos2 307ACB0E7ACAD030
else
search --no-floppy --fs-uuid --set=root 307ACB0E7ACAD030
fi
parttool ${root} hidden-
chainloader +1
}
### END /etc/grub.d/44_os-prober_proxy ###
### BEGIN /etc/grub.d/45_uefi-firmware ###
### END /etc/grub.d/45_uefi-firmware ###
### BEGIN /etc/grub.d/46_fwupd ###
### END /etc/grub.d/46_fwupd ###
### BEGIN /etc/grub.d/47_custom_proxy ###
# 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/47_custom_proxy ###
### BEGIN /etc/grub.d/48_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 /et
c/grub.d/48_custom ###
Was wäre zu tun, damit der andere Rechner in das Bootmenü die beiden anderen Betriebssysteme mit aufnimmt?