[gelöst] Disk Identifier per command line ändern

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
bobthebear
Beiträge: 316
Registriert: 09.12.2004 19:01:31

[gelöst] Disk Identifier per command line ändern

Beitrag von bobthebear » 06.05.2013 11:00:13

Hallo Leute,

ich möchte den Disk Identifier geskripted ändern. Im Moment sehe ich nur die Möglichkeit das über fdisk zu machen.

Code: Alles auswählen

Disk /dev/sda: 171.8 GB, 171798691840 bytes
255 heads, 63 sectors/track, 20886 cylinders, total 335544320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xaad98181

   Device Boot      Start         End      Blocks   Id  System
...
Wenn ich jedoch dd nutze, dann würde Grub wieder aus dem Bootsektor gelöscht und der Windows Bootlaoder wäre wieder dabei. Daher entfällt dieser Weg:

Code: Alles auswählen

dd if=/dev/sda of=/root/sda.mbr bs=512 count=1
dd if=/root/sda.mbr of=/dev/sda bs=446 count=1

Hat da jemand eine Idee?

Gruß,
Bob
Zuletzt geändert von bobthebear am 06.05.2013 14:12:48, insgesamt 1-mal geändert.

schwedenmann
Beiträge: 5632
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Disk Identifier per command line ändern

Beitrag von schwedenmann » 06.05.2013 11:32:55

Hallo
Wenn ich jedoch dd nutze, dann würde Grub wieder aus dem Bootsektor gelöscht und der Windows Bootlaoder wäre wieder dabei. Daher entfällt dieser Weg:
ja und , was solls, grub kannst du wiederherstellen, aber grub wird doich bei deinem dd nicht gelöscht, du sicherst ein mal mit Partitionstabelle ud einmal ohne, in beiden faällen wird afaik grub mitkopiert.

Wenn das nicht der Fall sein sollte, hilft entweder eine Livecd und chroot, gefolgt von grub-install /dev/sda, oder ein Wiederherstellen von grub per Supeergrubcd, bzw. rascatux

mfg
schwedenmann

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Disk Identifier per command line ändern

Beitrag von cosmac » 06.05.2013 12:11:46

hi,

passiert das alles auf ein und der selben Platte? Das grub-Problem verstehe ich nämlich überhaupt nicht. Mit deinen dd-Befehlen kopierst du doch den Bootloader in eine Datei und dann wieder 1:1 auf die Platte zurück. Was soll da verloren gehen und vor allem, wo käme auf einmal der Windows-Bootloader her?

Aber egal, mit dd kannst du doch den disk identifier auch einzeln bearbeiten, also ohne Bootloader oder Partitionstablle zu verändern. Aber man beachte die Reihenfolge der Bytes!
Lesen:

Code: Alles auswählen

dd if=/dev/sda skip=440 bs=1 count=4 | hexdump -C
Schreiben:

Code: Alles auswählen

/bin/echo -e -n '\x81\x81\xd9\xaa' | dd of=/dev/sda seek=440 bs=1 count=4
Und dann wieder: was spricht gegen die Bearbeitung mit fdisk? Ja, o.k., in einem Script ist fdisk doof.
Beware of programmers who carry screwdrivers.

bobthebear
Beiträge: 316
Registriert: 09.12.2004 19:01:31

Re: Disk Identifier per command line ändern

Beitrag von bobthebear » 06.05.2013 14:12:27

Hallo ihr beiden,
ja und , was solls, grub kannst du wiederherstellen, aber grub wird doich bei deinem dd nicht gelöscht, du sicherst ein mal mit Partitionstabelle ud einmal ohne, in beiden faällen wird afaik grub mitkopiert.
passiert das alles auf ein und der selben Platte? Das grub-Problem verstehe ich nämlich überhaupt nicht. Mit deinen dd-Befehlen kopierst du doch den Bootloader in eine Datei und dann wieder 1:1 auf die Platte zurück. Was soll da verloren gehen und vor allem, wo käme auf einmal der Windows-Bootloader her?
Wahrscheinlich wäre die notwendige Information, dass ich nach einer automatisierten Installation den Disk Identifier wieder zurücksetzen muss, weil sonst der Bootloader von Windoof nicht mehr funktioniert, hilfreich gewesen. Mein Fehler. Sorry.
dd of=/dev/sda seek=440 bs=1 count=4
Sehr gut. "seek" kannte ich noch nicht als Parameter. Das hat mir sehr geholfen.

Gelöst. Besten Dank an euch.

Antworten