Ubuntu-Client überschreibt nach Absturz und synchronisiertem Neustart externen Datendträger

Liebe Liste,
bei einem Schüler wurde nach dem Absturz und synchronisiertem Neustart seines Ubuntu-Clients seine externe Festplatte mit Systemordnern und -dateien (“bin”, “boot”, “etc”, “home”, “lib”…) überschrieben. Leider sind alle seine Dateien dabei verloren gegangen. Diese Phänomen wurde mir auch schon von einem anderen Schüler berichtet.
Hat jemand dafür eine Erklärung und was ist dagegen zu tun?

Vielen Dank

Martin

Hallo Martin,

bei einem Schüler wurde nach dem Absturz und synchronisiertem Neustart
seines Ubuntu-Clients seine externe Festplatte mit Systemordnern und
-dateien (“bin”, “boot”, “etc”, “home”, “lib”…) überschrieben. Leider
sind alle seine Dateien dabei verloren gegangen. Diese Phänomen wurde
mir auch schon von einem anderen Schüler berichtet.
Hat jemand dafür eine Erklärung

ja: ich :slight_smile:

linbo bootet, und in welcher Weise dann sda sdb usw. zugeteilt werden,
das hängt von BIOS und linuxkernel ab.
Neuere Kernel verfahren da leider anders als ältere, weswegen es öfter
dazu kommt, dass USB Geräte und dauch SD KArtenleser (selbst ohne SD
Karte drin!) als sda erkannt werden und die interne SSD eben nur als sdb.

und was ist dagegen zu tun?

das Problem tritt gehäuft erst seit linbo ~ 2.3.26 auf.
Abhilfe gibt es in der Form von Partitionslabels.
Dazu schreibt man in der start.conf an jeder Stelle, wo eine Partition
definert ist, noch den Eintrag
Label = meinepartition
dazu.
Bei mir sieht das (für eien einzige Partition) so aus:

[Partition] # Start einer Partitionsdefinition, Kubuntu
Dev = /dev/sdb2 # Device-Name der Partition (sdb2 = 2.
Label = ubu14
Size = 35G # Partitionsgroesse in kB (Bsp.: 6G)
Id = 83 # Partitionstyp (83 = Linux, 82 = swap, c =
FAT32, 7 = NTFS, …)
FSType = ext4 # Dateisystem auf der Partition (ext3)
Bootable = no # Bootable-Flag

Und das macht man für jede Partition in der start.conf.

Wenn man das gemacht hat, dann muss man jeden Client der Gruppe neu
Partitionieren: erst dann werden die Label auf die Platte geschrieben
und verwendet.

Viele Grüße

Holger

Hallo Holger,

danke für die schnelle Antwort. Das muss ich mir erst mal, eventuell auch mit Hilfe der Hotline, in Ruhe anschauen. Hilft hier als “Sofortmaßnahme” zunächst bei einem Systemabsturz das Herausziehen des Datenträgers, so dass er nicht überschrieben werden kann?

Liebe Grüße

Martin

Hallo Martin,

danke für die schnelle Antwort. Das muss ich mir erst mal, eventuell
auch mit Hilfe der Hotline, in Ruhe anschauen.

das ist eigentlich kein Hexenwerk. Poste doch mal deine start.conf(s)

Hilft hier als
“Sofortmaßnahme” zunächst bei einem Systemabsturz das Herausziehen des
Datenträgers, so dass er nicht überschrieben werden kann?

Klar :wink:

Viele Grüße
Steffen

Danke für die Hilfe bisher!

Finde ich die start.conf über die Schulkonsole unter GRUB-Startdateien? Hier habe ich drei “cfg-Dateien”.

Liebe Grüße

Martin

Hallo Martin,

Finde ich die start.conf über die Schulkonsole unter GRUB-Startdateien?
Hier habe ich drei “cfg-Dateien”.

leider wurde ich meiner LMN Installation in der Schule beraubt und habe
es noch nicht geschafft mir eine Testumgebung aufzubauen. Daher weiß ich
nicht, wo genau du die start.conf in der Schulkonsole findest - ich
arbeite immer über die Serverkonsole. Dort unter
/var/linbo/.start.conf

Viele Grüße
Steffen

hallo martin,

holger meinte mit start.conf die konfigurationsdatei deiner hardwaregruppe. der genaue titel wäre dann start.conf.„name deiner hwgruppe“. z.b. start.conf.trusty o.ä.
in der schulkonsole findest du die unter linbo. kann jetzt auswendig allerdings nicht sagen, wie der unterreiter heisst. vielleicht „hardwaregruppe editieren“ ?
vg
wolfgang

Hallo,

in der SchuKo ist es hier:

  1. als administrator einloggen
  2. Reiter “Linbo”-> “Gruppenkonfiguration bearbeiten”
  3. Hardwareklasseknopf drücken
  4. bei jeder Partition in der Zeile “Name der Partition”
    etwas eintragen
  5. jeweils “Änderungen speichern” drücken
  6. Clients neustarten, partitionieren, syncen

LG

Holger

1 „Gefällt mir“

Liebe Helfer,
die start.conf(s) auf dem Server habe ich mir angeschaut - aber hier liegen mir zu viele, da traue ich mich nicht ran.
Bleibt also für mich nur noch der Weg über die Schulkonsole:
Hier sind vier Partitionen eingetragen, nämlich “ubuntu”, “swap”, “virtual” und “cache”. Wenn ich Holger richtig verstanden habe, trage ich jetzt vor jeder Partition “Label” davor (z.B. Label=ubuntu) und speichere die Änderungen ab. Müssen hier vor und nach dem Gleichheitszeichen Leerstellen eingetragen werden?

Liebe Grüße
Martin

Hallo Martin,

die start.conf(s) auf dem Server habe ich mir angeschaut - aber hier
liegen mir zu viele, da traue ich mich nicht ran.

… das ist aber ganz einfach: du weißt wie die Hardwareklasse der
Rechner heißt?
Dann ist die /var/linbo/start.conf.
die richtige

Bleibt also für mich nur noch der Weg über die Schulkonsole:
Hier sind vier Partitionen eingetragen, nämlich “ubuntu”, “swap”,
“virtual” und “cache”. Wenn ich Holger richtig verstanden habe, trage
ich jetzt vor jeder Partition “Label” davor (z.B. Label=ubuntu) und
speichere die Änderungen ab. Müssen hier vor und nach dem
Gleichheitszeichen Leerstellen eingetragen werden?

nein.
Du trägst einfach in das Feld „Name der Partition“ den Namen ein, also nur
ubuntu
und nicht
Label=ubuntu

Das „Name der Partition“ ist die „Übersetzung“ der Schulkonsole von „Label“

Schau einfach danach kurz in die start.conf rein um zu prüfen :slight_smile:

LG

Holger

Hallo zusammen,

habe jetzt die entsprechende start.conf gefunden. Aber wenn ich es richtig verstehe, sind alle Einträge so gemacht, so dass das Problem eigentlich nicht bestehen sollte.

Hier die start.conf:

start.conf.fujitsu                                                                                          3498/6094               57%
# LINBO start.conf, Beispiel fuer Ubuntu
# Ubuntu auf Partition 1
# Cache auf Partition 2
# Swap auf Partition 3
# Daten auf Partition 4
# Festplatte 160G

[LINBO]                             # Start der globalen Konfiguration
Cache = /dev/sda4                   # lokale Cache Partition
Server = 10.16.1.1                  # IP des Linbo-Servers, der das Linbo-Repository vorhaelt
Group = fujitsu
# 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                  # keine 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 = rsync              # 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 (Ubuntu)
Dev = /dev/sda1          # Device-Name der Partition (sda1 = erste Partition auf erster Platte)
Size = 20G               # Partitionsgroesse 20G, ist keine Einheit (M, G oder T) angegeben, wird kiB angenommen
Id = 83                  # Partitionstyp (83 = Linux, 82 = swap, c = FAT32, 7 = NTFS, ...)
FSType = ext4            # Dateisystem ext4
Bootable = yes           # Bootable-Flag
Label = ubuntu           # Partitionslabel

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

[Partition]              # Start einer Partitionsdefinition, Datenpartition
Dev = /dev/sda3          # Device-Name der Partition (sda4 = vierte Partition auf erster Platte)
Size = 15G                  # Partitionsgroesse (Bsp.: keine Angabe = Rest der Platte)
Id = 83                  # Partitionstyp (83 = Linux, 82 = swap, c = FAT32, 7 = NTFS, ...)
FSType = ext4            # Dateisystem ext4
Bootable = no            # Bootable-Flag
Label = virtual            # Partitionslabel

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

Liebe Grüße

Martin

Hallo Martin,

habe jetzt die entsprechende start.conf gefunden. Aber wenn ich es
richtig verstehe, sind alle Einträge so gemacht, so dass das Problem
eigentlich nicht bestehen sollte.

ja: aber wirken tun diese Einträge erst, wenn der Client neu
partitioniert wurde, oder per linbo-remote zum Setzen der Label
angehalten wurde.

LG

Holger

Hallo Holger,
danke für die schnelle Antwort. Ich habe noch nichts gemacht an der start.conf. Sie war so! Deswegen bin ich auch etwas verwundert!

Gruß

Martin

Hallo,

unabhängig davon, ob die Labels schon auf der Festplatte gesetzt sind oder nur in der start.conf stehen:

Warum formatiert der Rechner überhaupt?
Sowohl AutoPartition als auch AutoFormat stehen auf „no“,
ebenso fehlt doch die Definition für z.B. ubuntu.
Dort sollte als DefaultAction vielleicht nicht „new“ drinstehen.
Auch Autostart könnte man vorsichtshalber deaktivieren.

Ich habe die leise Vermutung, dass ohne Benutzereingriff so ein reboot mit überschreiben eines USB-Disk/sticks gar nicht so möglich war

(Wenn jemand ohne zu wissen, was er tut bei einem scheinbar defekten System auf „Neu+Start“ klickt, dann hat er evtl. den Salat. Und es stimmt: Linbo ist so gedacht, dass man das „ohne zu wissen was man tut“ tut.)

Noch eines: Ich stelle bei mir grundsätzlich das Booten von USB-Datenträgern im BIOS ab, sofern es möglich ist. ich weiß auch, das könnte nicht helfen, wenn LINBO bootet und dann sda/sdb falsch zuordnet.

VG, Tobias