/dev/sda1 not exists

Hallo,

wir haben mal wieder ein Problem auf einer Geräteklasse: Starten wir das System (Linuxclient) über Linbo, dann klappt alles, aber wir haben die grub-config umgestellt, so dass das System direkt ohne Umwege über LINBO gestartet wird, um einfach die Zeit zu sparen.

Auf einer Geräteklasse gibt’s damit allerdings jetzt das Problem, dass das System im (initramfs) hängen bleibt mit der Fehlermeldung

ALERT! /dev/sda1 does not exist. Dropping to a shell!

Das Problem dabei ist, dass er wohl die Festplatte als /dev/sdb einbindet, auf /dev/sda kann nicht zugegriffen werden. USB-Stick o.ä. ist nichts drin, das kann also nicht der Fehler sein.

Auch sfdisk -l in der initramfs-Shell gibt für /dev/sda nichts aus…

Updates (Server+Client) sind alle installiert, ich hab keine Idee, was da als /dev/sda erkannt werden könnte…

Auf /dev/sdb gibt’s die beiden Partition für System+Cache, also das ist die richtige Platte…

Auch ein update-linbofs und linuxmuster-import-devices hilft nichts (managed-Zeile in der config ist drin). Meine start.conf für alle Geräte (wir benutzen nur eine start.conf für alle Geräteklassen, die anderen funktionieren problemlos) sieht so aus:

[LINBO]
Cache = /dev/sda2
Server = 10.16.1.1
Group = dhgneu
SystemType = bios64
RootTimeout = 600
AutoPartition = no
AutoFormat = no
AutoInitCache = no
DownloadType = torrent
BackgroundFontColor = white
ConsoleFontColorStdout = lightGreen
ConsoleFontColorStderr = orange
KernelOptions = quiet splash nomodeset i915.alpha_support=1

[Partition]
Dev = /dev/sda1
Size = 40G
Id = 83
FSType = ext3
Bootable = yes
Label = Mint

[Partition]
Dev = /dev/sda2
Size = 80G
Id = 83
FSType = ext3
Bootable = no
Label = cache

[OS]
Name = Mint
Version =
Description =
IconName = mint.png
Image =
BaseImage = amgdhgmint.cloop
Boot = /dev/sda1
Root = /dev/sda1
Kernel = boot/vmlinuz
Initrd = boot/initrd.img
Append = ro splash net.ifnames=0 biosdevname=0
StartEnabled = yes
SyncEnabled = yes
NewEnabled = yes
Hidden = no
Autostart = yes
AutostartTimeout = 10
DefaultAction = start

(Bei Append net.ifnames=0 biosdevname=0 sort nur dafür, dass die Netzwerkgeräte nicht umbenannt werden sondern eth0 und wlan0 heißen. Ohne diese Optionen geht’s aber auch nicht.)

Es hat bisher eigentlich immer so funktioniert, erst seit ca. 2 Wochen…

Hat da jemand ne Idee, woran das liegen könnte?

Grüße
Alex

Hallo Alex,

ich hab auch solche Clients … sehr ärgerlich.
Bei mir ist es der CardReader, der vom BIOS mal als erstes (sda) mal als zweites (sdb) genommen wird: je nach dem klappt der boot oder halt nicht.
Ich hatte daran gearbeitet dem pxelinux Labels bei zu bringen: hat aber noch nciht geklappt.

LG

Holger

Hallo Holger,

ah, danke für den Tipp, dann macht das jetzt auch Sinn, warum auf sda keine Partition enthalten war und man das auch nicht mounten konnte (weil ja keine Karte drin steckt…)

Auffällig ist aber: wenn ich das über LINBO boote, passt das IMMER, wenn ich direkt über das grub-Menü das Betriebssystem starten lasse, dann funktioniert es NIE! Und bis vor dem Linbo-Update hatte das bei uns immer funktioniert.

Also es ist nicht zufällig, das System wird über Linbo wohl mit anderen Parametern gestartet als über Grub!

Aber ich hab mal testweise bei einem Laptops jetzt einfach den Kartenleser über’s BIOS deaktiviert, dann klappt’s auch, aber hin und wieder wäre der Kartenleser doch auch praktisch (z.B. unsere 3D-Drucker wollen per SD-Karte bespielt werden…)

Du meinst diesen Thread?

Aber wie gesagt: da es durch Linbo immer funktioniert, direkt mit Grub nie, scheint es für mich so, als ob man das evtl. mit einem boot-Parameter lösen können sollte… (wüsste so spontan aber auch keinen :man_shrugging:)

Grüße
Alex

Nachtrag: oder lässt sich da irgendwie ne udev-Regel schreiben, damit das CardReader-Device konstant eine andere Geräteadresse bekommt?

Auf die Idee bin ich durch den Artikel gekommen, weiß aber nicht, ob das so funktioniert - vor allem hab ich mir noch keine Gedanken drüber gemacht, ob man die Regel so abstrakt schreiben kann, dass das für alle Laptops funktioniert…

Grüße
Alex