Richtig. Auf anderen Distros würde die grub.cfg mit einem GRUB2-eigenen Befehl erstellt werden, nachdem alle Partitionen automatisch auf bekannte installierte Betriebssysteme geprüft wurden. In unserem Fall machen wir das allerdings von Hand, da TinyCore z.Z. nicht zu den von GRUB2 erkennbaren Betriebssystemen gehört.
Der cat Befehl in der .info Datei gehört übrigens nicht zur Installation des Boot Loaders. Er zeigt lediglich den eins-zu-eins-Zustand einer Beispiel-Datei.
Die erste Partition, also sda1 , würde sich wunderbar als Boot-Partition eignen.
Auf welcher Partition die GRUB2-Dateien installiert werden, ist in den meisten Fällen egal. Ich würde allerdings sda1 wählen, da es vorkommen kann, je nach Größe der vorhergehenden Partitionen, dass der GRUB2 Boot Loader nicht mehr in der Lage ist die GRUB2-Dateien (Module für Dateisysteme etc.) zu "sehen".
Hier ist meine grub2.cfg . Evtl. kannst Du sie als Vorlage nutzen, allerdings ist wichtig dass Du diverse Variablen änderst, sonst läuft nix.
Zum Beispiel:
set UUID1=
set UUID2=
set UUID3=
muss die UUIDs deiner Partitionen enthalten.
zu erlangen durch:
blkid -s UUID /dev/sda*
set gfxmode=1280x800
sollte der Auflösung deines Displays entsprechen.
Und gewisse Pfade
set tcdir="/boot/tce-7.x"
set tcboot="${tcdir}/boot"
set root=(hd0,msdos3)
set default=0
function load_video {
insmod all_video
#insmod efi_gop
#insmod efi_uga
insmod efiemu
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}
loadfont unicode
#insmod efi_gop
set UUID1="A02425A224257C82"
set UUID2="24E44A9BE44A6EDC"
set UUID3="7f3b465a-efeb-47d6-9deb-d72ed12c960d"
search --no-floppy --fs-uuid --set=root "${UUID1}"
#set gfxmode=auto
set gfxmode=1280x800
set gfxpayload=keep
load_video
insmod gfxterm
set gfxterm_font=unicode
terminal_output gfxterm
insmod gettext
insmod part_msdos
insmod ext2
insmod fat
insmod gfxmenu
set timeout=20
set menu_color_normal=light-gray/black
set menu_color_highlight=white/dark-gray
set color_normal=light-gray/black
set color_highlight=white/dark-gray
function gfxmode {
set gfxpayload="keep"
set vt_handoff=vt.handoff=7
}
set linux_gfx_mode=keep
export linux_gfx_mode
## --- Grub2 Themes - start
insmod biosdisk
insmod vbe
insmod videotest
insmod png
insmod gfxmenu
#menuviewer="text"
menuviewer="gfxmenu"
theme="/grub/themes/theme/theme.txt"
export theme
default_theme=$theme
export default_theme
# --- Grub2 Themes - end
#background_image /boot/grub/image.png
#menuentry "Boot .ISO via GRUB" {
# loopback loop /path/to/cd-rom.iso
# linux (loop)/path/to/kernel params
# initrd (loop)/path/to/init-file
#}
#menuentry "Boot .ISO via MEMDISK" {
# set isofile="/path/to/image.iso"
# linux16 /boot/memdisk/memdisk raw iso ro
# initrd16 (hd0,msdos1)$isofile
#}
### BEGIN 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 custom ###
menuentry "Tiny Core Linux 7.x" --class core-screw --class core --class gnu-linux --class gnu {
set gfxpayload=keep
color_normal="yellow/black"
#set onboot_lst="base norestore"
set stuff="logo.nologo quiet nodhcp cron loglevel=3 mydata=mydata laptop splash override"
set desktop="desktop=openbox"
#set keys="kmap=qwertz/de-latin1-nodeadkeys lang=de_DE@euro"
#set keys="kmap=qwertz/de-latin1"
#set time="noutc tz=CET-1CEST,M3.5.0,M10.5.0/3"
set time="noutc"
set blacklist="blacklist=ssb,b43,bcma"
### :: - TC Drive: [ tce=sdxY | tce=LABEL="FOOBAR" | tce=LABEL="FOOBAR/some/tce-dir" | tce=UUID="01234567-89ab-cdef-ghij-klmnopqrstuv" | tce=UUID="0123-5678/some/tce-dir" ]
### :: - Get UUID via: $ blkid -s UUID /dev/sdxY
set idby="UUID"
#set idby="LABEL"
set tcdrv="${UUID3}"
#set tcdrv="VOYBOOT"
### :: - Wait sec. for slow USB drives: [ waitusb=5 | waitusb=5:LABEL="FOOBAR" | waitusb=5:UUID="01234567-89ab-cdef-ghij-klmnopqrstuv" ]
#set waitusb=waitusb=5:${idby}="${tcdrv}"
set tcdir="/boot/tce-7.x"
set tcboot="${tcdir}/boot"
set tce=tce=${idby}="${tcdrv}${tcdir}"
insmod ext2
set root=(hd0,msdos3)
search --no-floppy --fs-uuid --set=root "${UUID3}"
set kernel="${tcboot}/vmlinuz"
set rimage="${tcboot}/rootfs.gz"
set modulesgz="${tcboot}/modules.gz"
if cpuid -l ; then
if [ -f ${tcboot}/vmlinuz64 -a -f ${tcboot}/rootfs.gz -a -f ${tcboot}/modules64.gz ]; then
echo "Core 64 (64-bit Kernel + 32-bit User Space)"
set kernel="${tcboot}/vmlinuz64"
set rimage="${tcboot}/rootfs.gz"
set modulesgz="${tcboot}/modules64.gz"
#else [ -f ${tcboot}/vmlinuz64 -a -f ${tcboot}/rootfs64.gz -a -f ${tcboot}/modules64.gz ]; then
# echo "Core Pure 64"
# set kernel="${tcboot}/vmlinuz64"
# set rimage="${tcboot}/rootfs64.gz"
# set modulesgz="${tcboot}/modules64.gz"
fi
fi
set bootdrv="(${root})${tcboot}"
linux ${kernel} ${waitusb} ${tce} ${stuff} ${blacklist} ${onboot_lst} ${desktop} ${keys} ${time} ${custom_stuff} xexec="${XEXEC}"
initrd ${rimage} ${bootdrv}/xorg.gz ${bootdrv}/more.gz ${bootdrv}/fonts.gz ${modulesgz}
}
menuentry "" {
echo ""
}
menuentry "Windows 10" --class windows {
insmod part_msdos
insmod ntfs
set root=(hd0,msdos1)
search --no-floppy --fs-uuid --set=root "${UUID1}"
chainloader +1
}
#submenu ">> Tiny Core - DEBUG" --class core {
# menuentry "core" --class core {
# set root=(hd0,msdos3)
# search --no-floppy --fs-uuid --set=root "${UUID3}"
# linux /tce-7.x/boot/vmlinuz quiet text tce=UUID="${UUID3}"/tce-7.x waitusb=10:UUID="${UUID3}"
# initrd /tce-7.x/boot/rootfs.gz /tce-7.x/boot/modules.gz
# }
#
# menuentry "core64" --class core {
# set root=(hd0,msdos3)
# search --no-floppy --fs-uuid --set=root "${UUID3}"
# linux /tce-7.x/boot/vmlinuz64 quiet text tce=UUID="${UUID3}"/tce-7.x waitusb=10:UUID="${UUID3}"
# initrd /tce-7.x/boot/rootfs.gz /tce-7.x/boot/modules64.gz
# }
#
# menuentry "corepure64" --class core {
# set root=(hd0,msdos3)
# search --no-floppy --fs-uuid --set=root "${UUID3}"
# linux /tce-7.x/boot/vmlinuz64 quiet text tce=UUID="${UUID3}"/tce64-7.x waitusb=10:UUID="${UUID3}"
# initrd /tce-7.x/boot/rootfs64.gz /tce-7.x/boot/modules64.gz
# }
#
# menuentry "corepure64 base" --class core {
# set root=(hd0,msdos3)
# search --no-floppy --fs-uuid --set=root "${UUID3}"
# linux /tce-7.x/boot/vmlinuz64 quiet text tce=UUID="${UUID3}"/tce64-7.x waitusb=10:UUID="${UUID3}" base norestore
# initrd /tce-7.x/boot/rootfs64.gz /tce-7.x/boot/modules64.gz
# }
#}
menuentry "" {
echo ""
}
menuentry "Boot next device (hd1)" --class hdd {
echo Booting first internal hard disk
echo
echo Doing stuff, wait...
set root=(hd1)
drivemap -s (hd0) (hd1)
chainloader +1
}
menuentry "" {
echo ""
}
menuentry "Reboot" --class reboot {
echo Attempting to reboot...
reboot
}
menuentry "Power off" --class quit {
echo If you can read this, press power button.
halt
}
Sollte dir das zu viel sein, möchte ich dich bitten, erstmal die Suchfunktion des Forums zu nutzen, um Beispiele für Dual-Booting von TinyCore und Windows zu finden.