Mehrmals Linux auf einer Platte

vox24

Cadet 3rd Year
Registriert
Nov. 2005
Beiträge
44
Hi,
ich habe einen Server mit Suse 10.0 und mehrere Clients auf die Images von Betriebssystemen (Windows XP und Suse 10.1) überspielt werden sollen. Klappt alles ganz gut. Ich starte die Clients mit einer SystemRescueCD (ist ein Mini BS), es wird ein NFS Laufwerk vom Server gemountet und mit Partimage ein ausgewähltes Image auf den Client überspielt.
Zuerst habe ich mir von XP und Suse 10.1 jeweils einzeln ein Image der Systempartition auf den Server gespielt ("Standard-Image"). Zurückspielen klappt einwandfrei. Die Probleme fangen bei mehreren BS an. Ich habe z.B. 2 mal Linux auf einen Client installiert (1 GB Swap hda1, System 1 hda2 und System 2 hda 3). Habe dann den MBR und den erweiterten MBR auf den Server kopiert und kopiere nun auf andere Clients diesen MBR und den erweiterten MBR plus 2 mal das "Standard" Linux Image das ich schon hab (siehe oben). Die Partitionierung paßt dann aber er bootet nicht. In meinem Skript daß das ganze macht wird nachdem der MBR usw. kopiert wurde, das Image der Systempartion auf hda 2 und hda 3 (hda 1 ist ja swap) gespielt, eine Systempartion gemountet und ein Skript grup-install aufgerufen. Was läuft hier falsch?
Habe noch nicht soviel mit Linux gemacht und erst Recht nicht mit mehreren auf einer Platte. Das Skript ist nicht von mir, ich verstehe es aber gut.
Wie gesagt, mit einem System funktioniert das ganze und es wäre auch schön wenn man das Image von diesem einzelnen System einfach 2 mal hintereinander spielen könnte, dann müßte ich nämlich nicht so viel Images erstellen (mit jeweils entsprechendem MBR). Hoffe das was einigermaßen verständlich....
 
Die Platten auf den Clients sind so partitioniert wie ich es bei dem Linux+Linux System gemacht habe weil ich den MBR hiervon ja für die Clients hernehme. D.h. ich kopiere diesen MBR auf den Client und damit ist die Partitionierung ja gegeben, hda 1 swap, hda 2 System 1 und hda 3 System 2.
Hardwaremäßig sind die Rechner identisch.
 
Skript install.sh:
#install-sh

START=`date`
cd /mnt/nfs

# festplatte loeschen
dd if=/dev/zero of=/dev/hda bs=1024 count=1

## mbr schreiben
dd if=suse10.1_suse10.1/mbr of=/dev/hda

## erweiterten mbr schreiben
sfdisk /dev/hda < suse10.1_suse10.1/mbr.sfd

## swap fs anlegen
mkswap /dev/hda1

## partitionen schreiben
/mnt/nfs/bin/partimage -f3 -b restore /dev/hda2 suse10.1_default/suse10.1.img --server=$1
/mnt/nfs/bin/partimage -f3 -b restore /dev/hda3 suse10.1_default/suse10.1.img --server=$1

# alles synchronisieren
sync

# grub neu installieren
. /mnt/nfs/suse10.1_suse10.1/grub.s


END=`date`

echo "Fertig."
echo ""
echo "Neustart mit [ENTER]."
echo ""
echo "Begonnen: $START beendet: $END"
sleep 10

read x && reboot


#file -s /etc/profile

#eof

Skript grub.s:
#!/bin/sh
cd /tmp
mkdir hda2
mount -t ext3 /dev/hda2 /tmp/hda2
swapon /dev/hda1
echo "#!/bin/bash" > /tmp/hda2/tmp/install.sh
echo "cd /boot" >> /tmp/hda2/tmp/install.sh
echo "/sbin/grub-install '(hd0)'" >> /tmp/hda2/tmp/install.sh
echo "exit" >> /tmp/hda2/tmp/install.sh
chmod +x /tmp/hda2/tmp/install.sh
chroot /tmp/hda2 bash -c /tmp/install.sh

# eof

Die Fehlermeldung beim booten des aufgespielten Systems lautet:
Fehler beim Laden des Betriebssystems
 
Zuletzt bearbeitet von einem Moderator:
Hab es selbst heraus gefunden. Der Aufruf von grub-install hat nicht funktioniert.
Die Lösung des ganzen ist das ich in meinem Skript dem Grub die erste Linux
Partition als root mitgeb und danach in dieser Partition die menu.lst editiere.
 
Zurück
Oben