WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Syslinux - windows hinzufügen  (Read 299 times)

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Syslinux - windows hinzufügen
« on: June 27, 2018, 10:41:26 AM »
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

Offline Misalf

  • Hero Member
  • *****
  • Posts: 1652
Re: Syslinux - windows hinzufügen
« Reply #1 on: June 27, 2018, 12:43:34 PM »
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.

Code: [Select]
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.
Download a copy and keep it handy: Core book ;)

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Re: Syslinux - windows hinzufügen
« Reply #2 on: June 27, 2018, 09:42:13 PM »
hallo,

wie änder ich denn den Eintrag in syslinux?

was muss ich im terminal genau eingeben?

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Re: Syslinux - windows hinzufügen
« Reply #3 on: June 28, 2018, 02:34:32 AM »
Ich hab jetzt die syslinux Datei entsprechend geändert... Hat leider nicht funktioniert...

Offline Misalf

  • Hero Member
  • *****
  • Posts: 1652
Re: Syslinux - windows hinzufügen
« Reply #4 on: June 28, 2018, 03:44:10 AM »
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:
Code: [Select]
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.
Download a copy and keep it handy: Core book ;)

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Re: Syslinux - windows hinzufügen
« Reply #5 on: June 29, 2018, 01:15:21 AM »
fdisk -l /dev/sda gibt das aus:

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Re: Syslinux - windows hinzufügen
« Reply #6 on: June 29, 2018, 01:16:38 AM »
GRUB2 würde ich gerne installieren...

wie genau geht das?

was muss ich wo eingeben?

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Re: Syslinux - windows hinzufügen
« Reply #7 on: June 29, 2018, 01:19:22 AM »
Das ist die Partition auf dem Windows 7 Bootet:

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Re: Syslinux - windows hinzufügen
« Reply #8 on: June 29, 2018, 01:20:33 AM »
meine Syslinux.cfg - Datei:

Offline Misalf

  • Hero Member
  • *****
  • Posts: 1652
Re: Syslinux - windows hinzufügen
« Reply #9 on: June 29, 2018, 03:59:50 AM »
Dann wäre es nicht
Code: [Select]
APPEND sda 1
sondern
Code: [Select]
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).
Download a copy and keep it handy: Core book ;)

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Re: Syslinux - windows hinzufügen
« Reply #10 on: July 10, 2018, 09:54:55 PM »
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

Offline Rob

  • Jr. Member
  • **
  • Posts: 88
Re: Syslinux - windows hinzufügen
« Reply #11 on: July 10, 2018, 10:01:53 PM »
Wo genau soll den grub2 installiert werden? Auf der Partition auf der Windows 7 installiert ist oder auf der auf der tinycore installiert ist?

Offline Misalf

  • Hero Member
  • *****
  • Posts: 1652
Re: Syslinux - windows hinzufügen
« Reply #12 on: July 11, 2018, 03:08:22 AM »
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:
Code: [Select]
set UUID1=
set UUID2=
set UUID3=
muss die UUIDs deiner Partitionen enthalten.
zu erlangen durch:
Code: [Select]
blkid -s UUID /dev/sda*

Code: [Select]
set gfxmode=1280x800
sollte der Auflösung deines Displays entsprechen.

Und gewisse Pfade
Code: [Select]
set tcdir="/boot/tce-7.x"
set tcboot="${tcdir}/boot"

set root=(hd0,msdos3)

Code: [Select]
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.
Download a copy and keep it handy: Core book ;)