Tiny Core Linux
General TC => International Talk => Topic started by: Rob on June 27, 2018, 01:41:26 PM
-
hallo,
Ich versuche grade 2 Betriebssysteme auf einer Festplatte zum laufen zu bringen. Komme aber irgendwie nicht weiter...
ich habe es geschafft Windows 7 auf einer Partition zu installieren, aber wenn ich auf der anderen Tinycore installiere kann ich nicht mehr Windows 7 Booten.
Habe es schon mit einem Programm von Windows 7 versucht... hat nicht geklappt.
jetzt versuche ich es mit Tinycore, aber komme leider auch nicht weiter.
Ich schätze ich müsste nur befehle im terminal bei Tinycore mit Syslinux eingeben aber ich weiß nicht wie...
vielen Dank im vorraus
-
Der Boot Loader von Windows wurde vermutlich bei der Installation von TinyCore überschrieben.
Ich glaube standardmäßig wird Syslinux bzw. Extlinux als Boot Loader installiert. In diesem Fall müsste die entsprechende Konfigurationsdatei auf der Platte zu finden sein.
zum Beispiel
/mnt/sda1/boot/syslinux/syslinux.cfg
/mnt/sda1/syslinux/syslinux.cfg
/mnt/sda1/boot/syslinux.cfg
/mnt/sda1/boot/extlinux.cfg
Ich bin mir grad nicht zu 100% sicher, ob folgender Eintrag richtig ist, jedenfalls muss zumindest ähnliches zur Konfigurationsdatei des Boot Loaders hinzugefügt werden.
LABEL windows
MENU LABEL Windows 7
KERNEL chain.c32
APPEND hd0 2
"hd0" ist die Festplatte. Startet bei "0".
"2" ist die Partition. Startet bei "1".
Also ggf. entsprechend deiner Installation ändern.
-
hallo,
wie änder ich denn den Eintrag in syslinux?
was muss ich im terminal genau eingeben?
-
Ich hab jetzt die syslinux Datei entsprechend geändert... Hat leider nicht funktioniert...
-
Wenn etwas nicht funktioniert, wäre es sinnvoll mitzuteilen, was genau versucht oder geänderet wurde.
Zeig doch mal den Eintrag den du erstellt hast und die Ausgabe folgenden Befehls:
fdisk -l /dev/sda
Wenn ich mich recht erinnere, kann Syslinux gar nicht direkt Betriebsysteme starten, die sich nicht auf der selben Partition befinden wie Syslinux selbst. In diesem Fall müsste zusätzlich zum Boot Loader im MBR (Master Boot Record) auch noch ein Boot Loader auf der entsprechendedn Partition im PBR (Partition Boot Record) installiert werden, plus separater Konfigurationsdatei.
Evtl. wäre es einfacher, einen anderen Boot Loader zu installieren. Zum Beispiel GRUB2.
-
fdisk -l /dev/sda gibt das aus:
-
GRUB2 würde ich gerne installieren...
wie genau geht das?
was muss ich wo eingeben?
-
Das ist die Partition auf dem Windows 7 Bootet:
-
meine Syslinux.cfg - Datei:
-
Dann wäre es nicht
APPEND sda 1
sondern
APPEND hd0 1
Aber, wie auch immer, mit einem anderen Boot Loader, wie GRUB2, geht man möglichen Problemen aus dem Weg, die auftreten können, wenn man sich um mehrere installierte Boot Loader auf mehreren Partitionen kümmern muss.
Was die Nutzung von Erweiterungen angeht: In den meisten Fällen macht es sinn, sich die .info Datei zu einer Erweiterung anzusehen.
Im Fall von GRUB2 entweder hier: http://tinycorelinux.net/9.x/x86/tcz/grub2-multi.tcz.info
oder im APPS GUI Browser bzw. tce-ab im Terminal.
Die .info Dateien beinhalten oft grundlegende Beispiele und wichtige Anmerkungen.
Für die GRUB2 Erweiterung und die Installation des Boot Loaders, sollte Dir das schon mal weiterhelfen. Ansonsten ergibt eine Web- und/oder Forum-Suche natürlich auch diverse resultate.
Übrigens, damit Dir besser geholfen werden kann, ist es oft sinnvoll mitzuteilen, welche TinyCore Version du nutzt.
Unter TC-9 x86 heißt die GRUB2 Erweiterung grub2-multi.tcz .
Unter TC-7 x86 gibt es grub2.tcz (für BIOS) und grub2-efi.tcz (für (U)EFI).
-
Also...
Wenn ich die befehle von der Info Datei in der app eingebe bekomme ich keine Datei namens grub.cfg
Also kann ich den Befehl cat /mit/sda1/boot/grub/grub.cfg nicht ausführen...
Ich hab übrigens den grub:
Grub2-multi.tcz
-
Wo genau soll den grub2 installiert werden? Auf der Partition auf der Windows 7 installiert ist oder auf der auf der tinycore installiert ist?
-
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.