Linbo ohne pxe klappt nicht

Hallo zusammen,

starte ich einen Rechner nicht über PXE, sondern von der lokalen Festplatte lande ich im Grubmenü und kann dort aber nur das Betriebssystem (Windows 10) starten. Linbo bzw. synchronisierter Start geht leider nicht. Wird dies ausgewählt erscheint kurz ein schwarzer Bildschirm und dann erscheint wieder das Grubmenü. Sollte das nicht auch lokal funktionieren?

Wir setzen linuxmuster.net 6.2 ein.

Danke und Gruß
Veit

Hallo Veit,

das klappt bei uns. Vielleicht hast Du einen Fehler in der start.conf?

Gruß

Alois

Hier meine start.conf:

# LINBO start.conf Beispiel mit
# Windows 10 auf Partition 1 (NTFS)
# Cache auf Partition 2
# Daten auf Partition 3
# Festplatte 160G

[LINBO]                  # globale Konfiguration
Cache = /dev/sda3        # lokale Cache Partition
Server = 10.16.1.1       # IP des Linbo-Servers, der das Linbo-Repository vorhaelt
Group = win10           # Name der Rechnergruppe fuer die diese Konfigurationsdatei gilt
# Achtung: Server und Group werden beim Workstationsimport automatisch gesetzt!
SystemType = bios                   # moeglich ist bios|bios64|efi32|efi64 (Standard: bios fuer bios 32bit)
RootTimeout = 600        # automatischer Rootlogout nach 600 Sek.
AutoPartition = no       # automatische Partitionsreparatur beim LINBO-Start
AutoFormat = no          # kein automatisches Formatieren aller Partitionen beim LINBO-Start
AutoInitCache = no       # kein automatisches Befuellen des Caches beim LINBO-Start
DownloadType = torrent   # Image-Download per torrent|multicast|rsync, default ist rsync
BackgroundFontColor = white         # Bildschirmschriftfarbe (default: white)
ConsoleFontColorStdout = white # Konsolenschriftfarbe (default: white)
ConsoleFontColorStderr = red     # Konsolenschriftfarbe fuer Fehler-/Warnmeldungen (default: red)
KernelOptions = quiet splash          # Beispiele:
#KernelOptions = acpi=noirq irqpoll # LINBO Kerneloptionen (z. B. acpi=off), m. Leerz. getrennt
#KernelOptions = server=10.16.1.5   # Abweichende Linbo-Server-IP als Kerneloption gesetzt
                                    # falls gesetzt wird diese IP beim Workstationsimport verwendet 

[Partition]              # Start einer Partitionsdefinition fuer ein Betriebssystem (Windows)
Dev = /dev/sda1          # Device-Name der Partition (sda1 = erste Partition auf erster Platte)
Size = 40G               # Partitionsgroesse 30G, ist keine Einheit (M, G oder T) angegeben, wird kiB angenommen
Id = 7                   # Partitionstyp (83 = Linux, 82 = swap, c = FAT32, 7 = NTFS, ...)
FSType = ntfs            # Dateisystem ext4
Bootable = yes           # Bootable-Flag
Label = windows          # Partitionslabel

[Partition]              # Start einer Partitionsdefinition, Cachepartition
Dev = /dev/sda2          # Device-Name der Partition (sda2 = zweite Partition auf erster Platte)
Size = 10G               # Partitionsgroesse 30G
Id = 7                  # Partitionstyp (83 = Linux, 82 = swap, c = FAT32, 7 = NTFS, ...)
FSType = ntfs            # Dateisystem ext4
Bootable = no           # Bootable-Flag
Label = daten            # Partitionslabel

[Partition]              # Definition der Swap-Partition
Dev = /dev/sda3          # Device-Name der Partition (sda3 = dritte Partition auf erster Platte)
Size =                   # Partitionsgroesse (Rest der Platte)
Id = 83                   # Partitionstyp (83 = Linux, 82 = swap, c = FAT32, ...)
FSType = ext4            # Dateisystem swap
Bootable = yes            # Bootable-Flag
Label = cache            # Partitionslabel

[OS]                       # Beginn einer Betriebssystemdefinition
Name = Windows 10          # Name des Betriebssystems
Version =                  # Version (unbenutzt, leer lassen)
Description = Windows 10   # Beschreibung
IconName = win10.png       # Icon fuer den Startbutton, muss unter /var/linbo/icons abgelegt sein
Image =                    # differentielles Image (Erweiterung .rsync, Verwendung nicht empfohlen)
BaseImage = win10.cloop    # Dateiname des Basisimages (Erweiterung .cloop)
Boot = /dev/sda1           # Bootpartition (unbenutzt, immer gleich Rootpartition)
Root = /dev/sda1           # Rootpartition, in die das BS installiert ist
Kernel = grub.exe              # Windows: auto (LINBO & Grub erkennen die Startparameter automatisch)
Initrd =                   # Windows: leer
Append =                   # Windows: leer
StartEnabled = yes         # "Start"-Button anzeigen
SyncEnabled = yes          # "Sync+Start"-Button anzeigen
NewEnabled = yes           # "Neu+Start"-Button anzeigen
Hidden = yes               # verstecke OS-Reiter (unbenutzte Option, auf "yes" lassen)
Autostart = no             # automatischer Start des Betriebssystems (yes|no)
AutostartTimeout = 5       # Timeout in Sekunden fuer Benutzerabbruch bei Autostart
DefaultAction = sync       # Standardaktion bei Autostart: start|sync|new

und meine cfg Datei für Grub:

# global part of group specific grub.cfg template for linbo net boot
# thomas@linuxmuster.net
# 20160804
#

# if you don't want this file being overwritten by import_workstations remove the following line:

# edit to your needs
set default=1
set timeout=10
set fallback=0

set gfxpayload=800x600x16

# 32bit pae, non pae or 64bit kernel
if cpuid -l; then
 set linbo_kernel=/linbo64
 set linbo_initrd=/linbofs64.lz
elif cpuid -p; then
 set linbo_kernel=/linbo
 set linbo_initrd=/linbofs.lz
else
 set linbo_kernel=/linbo-np
 set linbo_initrd=/linbofs-np.lz
fi

# theme settings (modify for custom theme)
set theme=/boot/grub/themes/linbo/theme.txt
#set font=/boot/grub/themes/linbo/unifont-regular-16.pf2

# load theme
#if [ -e "$theme" -a -e "$font" ]; then
# loadfont "$font"
 export theme
#fi

clear

# linbo part, boot local or net (default #0)
menuentry 'LINBO' --class linux {

 echo LINBO $bootflag for group win10
 echo

 set root="(hd0,2)"
 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 else
  if [ "$grub_platform" = "pc" ]; then
   set ipxe="/ipxe.lkrn"
  fi
  if [ -e "$ipxe" ]; then
   echo -n "Initiating pxe boot ..."
   linux16 $ipxe dhcp
   boot
  fi
 fi

}

# group specific grub.cfg template for linbo net boot, should work with linux and windows operating systems
# thomas@linuxmuster.net
# 20160804
#

# start "Windows 10" directly
menuentry 'Windows 10 (Start)' --class win_start {

 set root="(hd0,1)"
 set win_efiloader="/EFI/Microsoft/Boot/bootmgfw.efi"
 
 if [ -e /vmlinuz -a -e /initrd.img ]; then
  linux /vmlinuz root=/dev/sda1 
  initrd /initrd.img
 elif [ -e /vmlinuz -a -e /initrd ]; then
  linux /vmlinuz root=/dev/sda1 
  initrd /initrd
 elif [ -e /grub.exe -a -e /noinitrd_placeholder ]; then
  linux /grub.exe root=/dev/sda1 
  initrd /noinitrd_placeholder
 elif [ -e /grub.exe ]; then
  linux /grub.exe root=/dev/sda1 
 elif [ -s /boot/grub/grub.cfg ] ; then
  configfile /boot/grub/grub.cfg
 elif [ "$grub_platform" = "pc" ]; then
  if [ -s /bootmgr ] ; then
   ntldr /bootmgr
  elif [ -s /ntldr ] ; then
   ntldr /ntldr
  elif [ -s /grldr ] ; then
   ntldr /grldr
  else
   chainloader +1
  fi
 elif [ -e "$win_efiloader" ]; then
  chainloader $win_efiloader
  boot
 fi

}

# boot LINBO, sync and then start "Windows 10"
menuentry 'Windows 10 (Sync+Start)' --class win_syncstart {

 set root="(hd0,2)"

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo LINBO $bootflag for group win10
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash linbocmd=sync:1,start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

# boot LINBO, format os partition, sync and then start "Windows 10"
menuentry 'Windows 10 (Neu+Start)' --class win_newstart {

 set root="(hd0,2)"

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo LINBO $bootflag for group win10
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash linbocmd=format:1,sync:1,start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

Hallo Veit,

bitte mach mal folgendes:

  1. ändere die Zeile in der start.conf im Bereich windows von:
    Kernel = grub.exe # Windows: auto (LINBO & Grub erkennen
    die Startparameter automatisch)

zu

Kernel = auto # Windows: auto (LINBO & Grub erkennen die
Startparameter automatisch)

Dann sicherst du noch deine /var/linbo/boot/grub/win10.cfg (ich nehem
an, dass es die war, die du gepostet hast).
Fügst du diese Zeile in die win10.cfg ein (irgend wo oben: sagen wir als
8te Zeile

# ### managed by linuxmuster.net ###

Genau so einfügen!

Danach machst du
import_workstations
und dann den Client starten und syncen.

Danach das Bootverhalten testen

LG

Holger

Hallo Holger,

ich hab das so gemacht wie du gesagt hast und das klappt. Ich hab dann aber die Zeile

# ### managed by linuxmuster.net ###

wieder rausgenommen, da ich gerne das grub-menü ein paar Sekunden einblende und dann windows direkt starte. Aber das klappt jetzt auch.

Mir ist nicht ganz klar was jetzt anders ist. Aber es funktioniert.

Danke und Gruß
Veit

Hallo Veit,

ich hab das so gemacht wie du gesagt hast und das klappt. Ich hab dann
aber die Zeile

# ### managed by linuxmuster.net ###

wieder rausgenommen, da ich gerne das grub-menü ein paar Sekunden
einblende und dann windows direkt starte. Aber das klappt jetzt auch.

ja: das kann man machen.
Ich habe das auch so: wobei ich die Zeile nciht entferne, sondern nur
verstümmel (am vorderen Ende).
Bei mir sieht sie so aus

# ### managed NOT by linuxmuster.net ###

Mir ist nicht ganz klar was jetzt anders ist. Aber es funktioniert.

da war was in der grub.cfg Datei der Gruppe falsch.
Jetzt hat linbo sie nochmal neu geschrieben: deswegen geht es wieder.

LG

Holger

Hallo Holger,

ich hab die win10.cfg vorher und nachher verglichen und festgestellt, dass die Zuordnung der Festplatten überhaupt nicht gestimmt hat (ich weiß auch nicht woher ich die win10.cfg hatte). Aber das war wohl mein Fehler, hätte ich es mal lieber linuxmuster selber machen lassen.:slightly_smiling_face:

Danke und Gruß
Veit