Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Ubuntu-Forum & Kubuntu-Forum | www.Ubuntu-Forum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

  • »Greg-or« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 19.12.2013

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: Unity

  • Nachricht senden

1

05.01.2014, 09:17

Grub2 Dualboot Ubuntu-WIN7 verbogen - doppelte UUID

Hintergrund:
Bis dato weitgehend problemloses Zusammenspiel von Win7 und Ubuntu 12.04 im Dualboot über Grub2.

Nun:
Einbau einer SSD. Klonen zweier ntfs Partitionen über GParted. Neustart, WIN7 Reparatur -> WIN7 startet und läuft. Grub fehlt (klar).
Ubuntu Live-CD -> diverse Versuche zum Reparieren -> alle mit verschiedenen Fehlermeldungen. Aber: Nach Neustart kommt und das Grub2-Menu, Ubuntu kann ausgewählt werden und startet wie bisher auch. Dafür führt die WIN7 Auswahl zu einer Endlos-Neustart-Schleife.

Ich hätte ganz gerne wieder ein funktionierendes Grubmenu. Also zunächst Auswahl von WIN7 mit Start von der SSD (sdb) oder Ubuntu mit Start wie bisher.

Infos:






PRE.cjk { font-family: "AR PL KaitiM GB",monospace; }PRE.ctl { font-family: "Lohit Hindi",monospace; }P { margin-bottom: 0.21cm; }


/dev/sda1: LABEL="System-reserviert" UUID="524ED7D84ED7B349" TYPE="ntfs"
/dev/sda2: UUID="46B400D5B400C97F" TYPE="ntfs"
/dev/sda3: LABEL="D" UUID="368005348004FC5D" TYPE="ntfs"
(sda1, sda2 hatte ich geklont)

/dev/sdb1: LABEL="System-reserviert" UUID="524ED7D84ED7B349" TYPE="ntfs"
/dev/sdb2: UUID="46B400D5B400C97F" TYPE="ntfs"
(dies sind die Klone auf der SSD. Problem vielleicht auch: Gleiche UUIDs)

/dev/sdc1: UUID="0a03c03d-5fc5-49d7-bf24-d599e954475b" TYPE="swap" 3,9 GB
/dev/sdc2: UUID="dd4885f4-fc2a-45a4-ac8b-58992e5d1796" TYPE="ext4" 19 GB /
/dev/sdc3: UUID="bfb108de-37f2-4b10-86cb-a951b96bb5a4" TYPE="ext4" 98 GB /home
/dev/sdc4: LABEL="Win 7" UUID="4790D5D5471563ED" TYPE="ntfs" 757 GB H WIN7 (Daten)
/dev/sdc5: LABEL="Win7 backup" UUID="7F0D720A5A7D7A70" TYPE="ntfs" 1,9 TB I /backup
(hier u. a. das Linux-System)

/dev/sdd1: LABEL="Z" UUID="129CB5604B33BF6F" TYPE="ntfs" 373 GB Z



Versuch die UUIDs zu ändern sind gescheitert: sudo dd if=/dev/sdb1 of=/tmp/serial bs=1 skip=POS count=SIZE führte zu Fehler: dd: ungültige Zahl »POS“

Grub (/etc/default/grub)

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda1)"
#GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="2"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

GRUB_SAVEDEFAULT="false"
GRUB_DISABLE_LINUX_RECOVERY="true"

Ich komme mit meinem Wissen nicht weiter. Es wäre schön, hier Input zu bekommen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Greg-or« (05.01.2014, 20:46)


  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

2

05.01.2014, 09:44

Zur Änderung der UUID hilft Dir vielleicht dieser thread weiter?
http://ubuntuforums.org/showthread.php?t…25#post11904225

Zitat

Versuch die UUIDs zu ändern sind gescheitert: sudo dd if=/dev/sdb1 of=/tmp/serial bs=1 skip=POS count=SIZE führte zu Fehler: dd: ungültige Zahl »POS“

Oder im Wiki-Artikel die Tabelle benutzen, um dieWerte POS und SIZE anzupassen.
also

Quellcode

1
 sudo dd if=/dev/sdb1 of=/tmp/serial bs=1 skip=72 count=8

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »floogy« (05.01.2014, 09:50)


  • »Greg-or« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 19.12.2013

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: Unity

  • Nachricht senden

3

05.01.2014, 10:18

Sorry. Meine Linux-Kenntnisse sind sehr beschränkt. Also, ich habe das zitierte Script (uuid_neu) übernommen und ausgeführt:

./uuid_neu
./uuid_neu <UUID> <device>
---> es werden wohl Parameter/Eingaben erwartet.

Versuch:
--> ./uuid_neu 524ED7D84ED7B349 /sdb1
error: could not read old UUID using blkid on /sdb1

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

4

05.01.2014, 10:33

Es muß wohl /dev/sdb1 heißen.

  • »Greg-or« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 19.12.2013

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: Unity

  • Nachricht senden

5

05.01.2014, 10:35

Gleiche Fehlermeldung: error: could not read old UUID using blkid on /dev/sdb1

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

6

05.01.2014, 10:43

Da scheint es einen bug im Skript zu geben, denn

Quellcode

1
blkid -c /dev/null -s UUID -o value /dev/sda1

ergibt hier auch nichts (sollte wohl die UUID ausgeben, ka), womit das Skript dann die Fehlermeldung ausgibt. Ich untersuche das noch.

EDIT: Gibt man nicht -c /dev/null an, so wird die aktuelle UUID des devices ausgegeben, keine Ahnung, weshalb die UUID mit geleertem cache - siehe man blkid - nicht angezeigt wird. Nehme deshalb mal diesen Part aus dem Skript heraus.

Quellcode

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/dash
IFS=""

# echo with exit for error termination
exho(){
    echo "error: $1"
    exit 1
}

# convert hexidecimal UUID to binary characters
uuid2bin(){
    STBF="$1"
    while [ -n "$STBF" ]; do
        BYTE="${STBF%??}"
        BYTE="${STBF#$BYTE}"
        STBF="${STBF%$BYTE}"
        BYTE="$(printf "%u\n" "0x$BYTE")"
        echo -n "$BYTE" | awk '{printf("%c",$0)}'
    done
    return 0
}

# usage help
if [ $# != 2 ]; then
    echo "$0 <UUID> <device>"
    exit 1
fi

# test the input UUID for validity
UUID_NEW="$(echo -n "$1" | tr [a-f] [A-F])"
STBF="${UUID_NEW#[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]}"
if [ -n "$STBF" ]; then
    exho "invalid UUID format"
fi
if [ "$UUID_NEW" = 0000000000000000 ]; then
    exho "UUID cannot be empty"
fi

# get current/old UUID value via system tool
UUID_OLD="$(blkid  -s UUID -o value "$2" 2>/dev/null)"
if [ -z "$UUID_OLD" ]; then
    exho "could not read old UUID using blkid on $2"
fi

# get current/old UUID value via raw read
STBF="$(dd bs=1 skip=72 count=8 if="$2" 2>/dev/null | hexdump -ve '1/1  "%02X"')"
if [ ${#STBF} != 16 ]; then
    exho "could not read old UUID using dd on $2"
fi

# reorder the hex digits since they are reversed
UUID_RAW=""
while [ -n "$STBF" ]; do
    BYTE="${STBF%??}"
    BYTE="${STBF#$BYTE}"
    STBF="${STBF%$BYTE}"
    UUID_RAW="$UUID_RAW$BYTE"
done

# matching UUIDs confirm NTFS structure
if [ "X$UUID_RAW" != "X$UUID_OLD" ]; then
    exho "$2 invalid NTFS device"
fi

# write UUID to device
if ! uuid2bin "$UUID_NEW" | dd bs=1 seek=72 count=8 of="$2" 2>/dev/null && sync; then
    exho "could not write UUID to $2"
fi

# verify UUID
UUID_RAW="$(blkid  -s UUID -o value "$2" 2>/dev/null)"
if [ "X$UUID_RAW" != "X$UUID_NEW" ]; then
    exho "verification of new UUID failed"
fi

# status information
echo "DEVICE:\t\t$2"
echo "OLD UUID:\t$UUID_OLD"
echo "NEW UUID:\t$UUID_NEW"


Aus Zeile 40 und 71 habe ich -c /dev/null, was den cache löschen soll, entfernt, da sonst die aktuelle UUID nicht ausgegeben wird.

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »floogy« (05.01.2014, 11:12)


  • »Greg-or« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 19.12.2013

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: Unity

  • Nachricht senden

7

05.01.2014, 11:04

./uuid_n2 524ED7D84ED7B349 /dev/sdb1
error: could not read old UUID using dd on /dev/sdb1

sudo ./uuid_n2 524ED7D84ED7B349 /dev/sdb1
DEVICE: /dev/sdb1
OLD UUID: 524ED7D84ED7B349
NEW UUID: 524ED7D84ED7B349

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

8

05.01.2014, 11:09

Ja, Du hast das Skript angewiesen die alte UUID durch die alte UUID zu erneuern, sie ist also nicht verändert worden.

Wenn Du statt

Quellcode

1
sudo ./uuid_n2 524ED7D84ED7B349 /dev/sdb1

Quellcode

1
sudo ./uuid_n2 943B7DE48D7DE425 /dev/sdb1

angibst, wird sie z.B. durch 943B7DE48D7DE425 ersetzt.

EDIT: z.B.

danach sollte es dann so aussehen:

Quellcode

1
2
3
4
sudo ./uuid_n2 943B7DE48D7DE425 /dev/sdb1
DEVICE: /dev/sdb1
OLD UUID: 524ED7D84ED7B349
NEW UUID: 943B7DE48D7DE425

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »floogy« (05.01.2014, 11:26)


  • »Greg-or« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 19.12.2013

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: Unity

  • Nachricht senden

9

05.01.2014, 11:35

Ja. UUID sind nun geändert. Danke!
Muss ich noch irgendwo dazu etwas aktualisieren (Grub, ...), bevor ich neustarte?

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

10

05.01.2014, 11:38

Hast Du beide alten ntfs UUID geändert?
Ich bin mir nicht sicher, ob es das Problem lösen wird, aber ja: Du solltest nun

Quellcode

1
sudo update-grub

ausführen und neu starten.

  • »Greg-or« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 19.12.2013

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: Unity

  • Nachricht senden

11

05.01.2014, 11:48

Ja. Beide geändert.
Bevor ich das mache:

In der Grub-Datei steht: GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda1)". Heißt ja eigentlich, dass WIN7 von sda1 gebootet wird. Soll aber von sdb1. Ich nehme mal an, ich kann das nicht einfach editieren. Oder doch?

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

12

05.01.2014, 11:55

Doch, aber willst Du nicht von SSD starten? Zum editieren musst du gedit mit gksudo aufrufen

Quellcode

1
gksudo gedit /etc/default/grub


Eventuell sollte auch das Label mit mlabel (in Paket mtools) geändert werden u8nd in der /etc/fstab etc. angepasst werden?

Zitat

The typical scenario is that a partition has been backed up using a cloning tool like parted, then various problems appear due to the duplicated UUID. The accepted solution is to alter the volume label on the backup partition using mlabel [mtools] and then edit /etc/fstab to have the backup partition identified using LABEL="WinWhatever" instead of UUID=89C9589FC4162F5. That's not necessarily the end of the story though. A live CD or reinstaller will again trip over the duplicate UUID.

  • »Greg-or« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 19.12.2013

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: Unity

  • Nachricht senden

13

05.01.2014, 18:15

Aktueller Stand:
Gleiche UUID ist erledigt. Label habe ich über gparted vergeben (ich hoffe das meint das gleiche wie oben). fstab habe ich erst einmal nicht angeführt.

aktuelle fstab:
proc /proc proc nodev,noexec,nosuid 0 0
UUID=dd4885f4-fc2a-45a4-ac8b-58992e5d1796 / ext4 errors=remount-ro 0 1
UUID=bfb108de-37f2-4b10-86cb-a951b96bb5a4 /home ext4 defaults 0 2
UUID=0a03c03d-5fc5-49d7-bf24-d599e954475b none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

SSD abgekoppelt: WIN7 startet ohne Grub-Abfrage/Menu und soweit läuft soweit
SSD dran: Grub meldet sich -> WIN7 geht beim Booten vor der Anmeldung irgendwann in eine Schleife mit Systemneuboot. Ubuntu-Anwahl: Läuft auch ohne Probleme.

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

14

05.01.2014, 18:19

Hm, da müssten jetzt vielleicht die grub2/windows-Spezialisten weitermachen.

Was passier denn, wenn Du die UUID der HD sda1/2 auch änderst? Startet windows dann noch bei abgeklemmter SSD? Wenn nicht kannst Du die UUID ja wieder herstellen, bzw. besser nicht, dann würde ich Dir empfehlen statt dessen die UUID der SSD wiederherzustellen. Vielleicht kommt Windows mit der geänderten UUID selbst durcheinander, keine Ahnung.

Hier noch eine umfangreiche grub-Seite: http://members.iinet.net/~herman546/index.html

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »floogy« (05.01.2014, 18:51)


  • »Greg-or« ist der Autor dieses Themas

Beiträge: 12

Registrierungsdatum: 19.12.2013

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: Unity

  • Nachricht senden

15

05.01.2014, 20:43

Also, zwischenzeitlich konnte WIN7 gar nicht mehr starten. Dann dachte ich zurück auf Null, SSD raus ... -> half noch weniger. Nach unstrukturiertem dies ändern und das probieren, geht es nun aber wieder. Kein Plan warum. Sorry, dass ich keine Lösung posten kann. Jedenfalls Grub ist installiert, WIN7 und Ubuntu lassen sich daraus starten. Beides nach derzeitigem Stand ohne Probleme. Ich setze den Thread damit auf erledigt.

@floogy: Besten Dank für die Mühe!

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

16

06.01.2014, 10:11

Schön, dass es geklappt hat, auch wenn wir den Fehler jetzt nicht mehr herausfinden.
Statt -c /dev/null aus dem Skript zu entfernen kann man auch die Option -p in den Zeilen 40 und 71 zu diueser cache-Option hinzufügen.