motoko
Anmeldungsdatum: 29. Januar 2016
Beiträge: 53
|
Hallo, auf einem Laptop sind 5 Betriebssysteme auf 2 SSDs installiert, darunter 1 Ubuntu. Bootloader ist GRUB.
Hin und Wieder kommt es vor, dass das Betriebssystem von der 2. SSD nicht gebootet werden kann, ist ein Windows 7. Ich gehe dann in Ubuntu, lasse update-grub laufen und dann passts wieder.
Ich denke, dass es daran liegt, dass sich die UID geändert hat, bin mir aber nicht sicher. Wann ändert sich die UID einer SSD?
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 8558
Wohnort: Münster
|
motoko schrieb: […] UID einer SSD
Was meinst Du damit?
Moderne Platten haben einen vom Hersteller festgelegten und nicht änderbaren WWN (World Wide Name). Platten mit DOS/MBR-Partitionstabelle haben im MBR einen 4 Byte langen Volume-Identifier. Dieser wird beim Anlegen der Partitionstabelle angelegt und danach regulär nicht mehr verändert. MS-Windows zickt, wenn man daran herum spielt. Auch jedes FAT-Dateisystem hat eine solche Kennung. Platten mit GPT haben in der Partitionstabelle einen als GUID benannten UUID (Universal Unique IDentifier). Dieser wird beim Anlegen der Partitionstabelle angelegt und danach regulär nicht mehr verändert. GPT-Partitionen haben einen UUID als Partition-UUID. Dieser wird beim Anlegen der Partition festgelegt und danach regulär nicht mehr verändert. Ein Dateisystem in einer Partition hat in der Regel eine Dateisystem-Kennung. Bei ext2/3/4 ist das ein nach OSF standardisierter UUID. Andere Dateisysteme, auch z.B. NTFS haben anders aufgebaute Kennungen. Diese Kennung wird jedenfalls beim Formatieren festgelegt und danach regulär nicht mehr verändert.
|
Frieder108
Anmeldungsdatum: 7. März 2010
Beiträge: 8989
|
motoko schrieb: … 5 Betriebssysteme auf 2 SSDs installiert, darunter 1 Ubuntu. Bootloader ist GRUB.
Hin und Wieder kommt es vor, dass das Betriebssystem von der 2. SSD nicht gebootet werden kann, ist ein Windows 7.
Welche Systeme sind da drauf? Was bedeutet "hin und wieder"? Zeig mal bitte aus dem Ubuntu heraus folgende Abfragen
sudo parted --list
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
sudo fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -IX sudo sh -c "hexdump -v -s 0x80 -n 2 -e '2/1 \"%x\" \"\\n\"' X | xargs -n1 -IY sh -c \"case \"Y\" in '48b4') echo X: GRUB 2 v1.96 ;; 'aa75' | '5272') echo X: GRUB Legacy ;; '7c3c') echo X: GRUB 2 v1.97 oder v1.98 ;; '020') echo X: GRUB 2 v1.99 ;; *) echo X: Kein GRUB Y ;; esac\"" bitte jeweils in nem eigenen Codeblock Ach ja, kB schrieb: motoko schrieb: […] UID einer SSD
Was meinst Du damit?
das sollte natürlich auch geklärt werden → man könnte vermuten, du meinst UUID - aber Vermutungen bringen uns nicht weiter 😉
|
motoko
(Themenstarter)
Anmeldungsdatum: 29. Januar 2016
Beiträge: 53
|
Hallo,
ja ist die UUID, denke ich.
Windows 7, Windows 8.1, Windows XP, DOS, Ubuntu 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | sudo parted --list
Model: ATA SanDisk SSD PLUS (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32.3kB 2147MB 2147MB primary fat16
2 2147MB 128GB 126GB primary ntfs boot
3 128GB 159GB 31.5GB primary ntfs
4 159GB 240GB 80.6GB extended
5 159GB 233GB 73.4GB logical ext4
6 233GB 240GB 7229MB logical linux-swap(v1)
Model: ATA KINGSTON SHFS37A (scsi)
Disk /dev/sdb: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary ntfs boot
2 106MB 120GB 120GB primary ntfs
|
BIOS | /dev/sda: GRUB 2 v1.99
/dev/sda1: Kein GRUB 89e
/dev/sda2: Kein GRUB 55aa
/dev/sda3: Kein GRUB 8cd
/dev/sda4: Kein GRUB 00
/dev/sda5: Kein GRUB 00
/dev/sda6: Kein GRUB 00
/dev/sdb: Kein GRUB 9f83
/dev/sdb1: Kein GRUB 55aa
/dev/sdb2: Kein GRUB 55aa
|
|
Frieder108
Anmeldungsdatum: 7. März 2010
Beiträge: 8989
|
Hi, sehr schön, das verschafft erstmal nen Überblick - sieht eigentlich alles gut aus. Du schreibst, das Win7 auf der 120er-Platte lässt sich ab und an nicht über Grub starten - Frage: Kannst du es direkt starten, wenn du über das Bootmenü des Rechners die 2te Festplatte auswählst? Und, kannst du die Situation, dass das Win7 nicht startet, gezielt herbeiführen oder passiert das sporadisch ohne "Vorankündigung"?
|
motoko
(Themenstarter)
Anmeldungsdatum: 29. Januar 2016
Beiträge: 53
|
Bisher ist mir kein Zusammenhang zwischen nicht-booten wollen und anderen Tätigkeiten auf dem Laptop aufgefallen. Im BIOS habe ich die 120er SSD mit Boot Override ausgewählt, Windows 7 bootet, das Grub Menu erscheint hierbei nicht.
|
Frieder108
Anmeldungsdatum: 7. März 2010
Beiträge: 8989
|
Hi, ich könnte mir vorstellen, dass sich Grub ab und an "verschluckt, wenn du das Windows 8.1 auf der sda2 gestartet/aktualisiert hattest. Als Lösung würde ich einen manuell erstellten Eintrag ins Grubmenü über die Datei /etc/grub.d/40_custom vorschlagen - der ist dann direkt auf Win7 fixiert und unabhängig von "update-grub". Zeig mal die Ausgabe von
sudo blkid
dann stell ich dir das zusammen.
|
motoko
(Themenstarter)
Anmeldungsdatum: 29. Januar 2016
Beiträge: 53
|
| sudo su
root@HARKONNEN:~# blkid
/dev/sda1: SEC_TYPE="msdos" LABEL_FATBOOT="MS-DOS_6" LABEL="MS-DOS_6" UUID="4C9B-38C3" TYPE="vfat" PARTUUID="fc9a6e2d-01"
/dev/sda2: LABEL="WIN81" UUID="13F690F32F036B61" TYPE="ntfs" PARTUUID="fc9a6e2d-02"
/dev/sda3: LABEL="WINXP" UUID="6AB0A63DB0A6101D" TYPE="ntfs" PARTUUID="fc9a6e2d-03"
/dev/sda5: UUID="1cea2ae6-f1de-44e0-b50e-c4ccd528f00a" TYPE="ext4" PARTUUID="fc9a6e2d-05"
/dev/sda6: UUID="e7b998f8-7d0a-4bb2-bc95-8d29eac2c1a0" TYPE="swap" PARTUUID="fc9a6e2d-06"
/dev/sdb1: LABEL="System Reserved" UUID="4240877340876C8B" TYPE="ntfs" PARTUUID="fbeab840-01"
/dev/sdb2: LABEL="WIN7" UUID="F2328AA6328A7001" TYPE="ntfs" PARTUUID="fbeab840-02"
|
waere es evtl. sinnvoller, GRUB nicht die UUID zu uebergeben, sondern /dev/sdXY?
|
Frieder108
Anmeldungsdatum: 7. März 2010
Beiträge: 8989
|
Guten Morgen, solange an einer Partition nix geändert wird, bleibt die UUID immer gleich, wir nehmen aber beides. 😉 Ein Eintrag in etc/grub.d/40_custom würde so ausschauen
menuentry "Windows 7 (loader) (on /dev/sdb1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set=root 4240877340876C8B
drivemap -s (hd1) ${root}
chainloader +1
} Und daran denken, das obligarorische
sudo update-grub
nicht vergessen. Danach hast du im Grub-Menü einen weiteren Eintrag für Windows 7, schau mal, ob der sich so starten lässt und wenn ja, dann müssen wir einfach warten, ob dein sporadisch auftretendes Problem wieder kommt, oder eben halt auch nicht. Wie erwähnt, da die Loader von Win7 und Win8.1 für Grub die gleiche Kennung haben, kann ich mir dieses gelegentliche "Verschlucken" nur so erklären → mit dem manuellen Eintrag sollte das aber nicht mehr passieren. Have a nice day Frieder
|
motoko
(Themenstarter)
Anmeldungsdatum: 29. Januar 2016
Beiträge: 53
|
Danke, Was meinst du damit, dass W7 und W8 dieselbe Kennung haetten?
Auf welche Kennung schaust du da? Ich habe nun den zusaetzlichen W7 Eintrag im Grub, wie kann ich den automatisch generierten ausblenden?
|
Frieder108
Anmeldungsdatum: 7. März 2010
Beiträge: 8989
|
motoko schrieb: Was meinst du damit, dass W7 und W8 dieselbe Kennung haetten?
Auf welche Kennung schaust du da?
das entnehme ich der Suche nach Bootloadern (55aa) …
/dev/sda2: Kein GRUB 55aa
…
/dev/sdb1: Kein GRUB 55aa
/dev/sdb2: Kein GRUB 55aa
Ein bisschen was dazu findest du auch im Wiki. Wie erwähnt, das ist nur eine Vermutung meinerseits, kann auch sein, dass dein Problem ganz andere Ursachen hat 😉 Ich habe nun den zusaetzlichen W7 Eintrag im Grub, wie kann ich den automatisch generierten ausblenden?
Für das Erkennen anderer Systeme ist os-prober zuständig. Das kann man eigentlich ganz bequem abschalten
sudo chmod -x /etc/grub.d/30_os-prober && sudo update-grub ##ausschalten
sudo chmod +x /etc/grub.d/30_os-prober && sudo update-grub ##einschalten Im ausgeschalteten Zustand sind aber alle automatisch generierte Einträge weg - du müßtest also für jedes System einen manuellen Eintrag erstellen. Bei Win8.1 ist der Aufbau identisch zum Eintrag von Win7, musst halt die Variablen entsprechend anpassen. Bei XP sollte das Schema auch funktionieren, aber wie es mit DOS ausschaut, da hab ich keinen Plan dafür. Zeig mal (mit eingeschaltetem os-prober)
cat /boot/grub/grub.cfg
evtl. lässt sich da ein Pfad finden, den man für einen manuellen Eintrag "umbauen" kann.
|
motoko
(Themenstarter)
Anmeldungsdatum: 29. Januar 2016
Beiträge: 53
|
Hallo, ich hatte gerade wieder die Situation. Windows 7 konnte nicht starten.
Als Meldung von GRUB kam, dass die UUID nicht bekannt wäre, und dass etwas mit C/H/D nicht gefunden wurde. Der Originale Eintrag von GRUB funktionierte nicht, auch nicht der Eintrag von Frieder.
Ich habe das Laptop dann abgeschaltet und neu gestartet (ohne sonstiges grub-update) und Windows 7 startete.
|
Frieder108
Anmeldungsdatum: 7. März 2010
Beiträge: 8989
|
motoko schrieb:
Als Meldung von GRUB kam, dass die UUID nicht bekannt wäre,
wenn das wieder mal vorkommt, dann starte bitte mal direkt (ohne Ausschalten) durch ins Ubuntu 18.04 und zeig die Ausgabe von
cat /boot/grub/grub.cfg
und von
sudo blkid Ansonsten, das Einzige, was mit noch dazu einfällt, wäre eine leere/schwache "Bios-Batterie".
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 53485
Wohnort: Berlin
|
Frieder108 schrieb: Für das Erkennen anderer Systeme ist os-prober zuständig. Das kann man eigentlich ganz bequem abschalten
sudo chmod -x /etc/grub.d/30_os-prober && sudo update-grub ##ausschalten
sudo chmod +x /etc/grub.d/30_os-prober && sudo update-grub ##einschalten
Die "Abschaltung" hält bis zum nächsten Update von os-prober. Wenn man das nicht haben will würde sich die Deinstallation empfehlen.
|
Frieder108
Anmeldungsdatum: 7. März 2010
Beiträge: 8989
|
tomtomtom schrieb: Die "Abschaltung" hält bis zum nächsten Update von os-prober.
komisch, dann wurde wohl "os-prober" seit Jahren nicht mehr upgedatet 😛 Ich hatte damit noch nie Probleme - aber unabhängig davon haben wir hier keinen abgeschalteten "os-prober" Wenn man das nicht haben will würde sich die Deinstallation empfehlen.
Ja, kann man machen - und ja, man kann das auch über /etc/default/grub machen → ändert aber im vorliegenden Fall auch nichts (behaupte ich jetzt einfach mal) Aber wenn du ne Idee hast, warum eine UUID manchmal nicht erkannt wird - ich lerne gerne auch dazu ☺
|