24.10.2017, 13:27 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: Knoppix Forum | www.KnoppixForum.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.

1

26.04.2017, 20:47

Wohin mit einem Artikel ueber die Knoppix 8 ISO Bootfaehigkeiten ?

Inhalt:
- Wie und wo bootet das Knoppix 8 ISO ?
- Knoppix 8.1 Bootausruestung aufgelistet.
- Was macht eigentlich Partition 3 ?
- Und was sagen Partitionseditoren dazu ?
- Knoppix 8.0 Bootausruestung aufgelistet.
- Partitionseditoren und Knoppix 8.0.
- Wieso kann Knoppix 8 auf EFI mit SYSLINUX von DVD booten ?
- Wie kommt das ISO auf USB Stick oder DVD ?
- Literatur.

-------------------------------------------------------------------------

Wie und wo bootet das Knoppix 8 ISO ?

Vor Version 8 lautete die Antwort:
Von DVD auf einem x86 PC mit Boot-Firmware im klassischem BIOS Modus.

Ab Version 8 kommen weitere Speichermedien und modernere Firmware hinzu.
Ausser DVDs sind nun auch festplattenartige Speicher wie zB. USB Sticks
geeignet. Neben altem BIOS und neuem EFI im alten Modus kann nun auch
EFI in seinem normalen Modus Knoppix von den geeigneten Medien booten.

Dafuer sind im ISO vier verschiedene Einstiegspunkte vorbereitet, durch
die die Firmware zur Software des Bootloaders im ISO findet. Der Bootloader
SYSLINUX ist ein kleines Betriebssystem, das einen Startbildschirm zeigen,
mit dem User interagieren, und schliesslich ein GNU/Linux System starten
kann.

1. DVD mit klassischem BIOS

In diesem Fall liest das BIOS den DVD Datenblock Nummer 17 und prueft, ob
er einen El Torito Boot Record enthaelt. Wenn nicht, wird nicht von der
DVD gebootet.
Vom Boot Record wird das BIOS zum Boot Catalog weitergeleitet. Dort findet
es im Fall von Knoppix 8 zwei Eintraege. Darunter ist einer mit der
Platform Id 0, das ihn als geeignet fuer 32-bit und 64-bit Prozessoren
der x86 Familie kennzeichnet. Er verweist auf den Anfang der Datenblocks
des Files /boot/isolinux/isolinux.bin im ISO Filesystem.
BIOS liest diesen ersten Block von 2048 Bytes und startet das Gelesene
als Programm. Dessen erste Tat ist es, seine restlichen Datenblocks
einzulesen, damit es genug Hirn hat, um den Rest des SYSLINUX Bootloaders
zu starten.

2. DVD mit EFI in seinem normalen Modus

Auch EFI liest den El Torito Boot Catalog. Es schaut aber nach einem
Eintrag mit Platform Id 0xEF, den ihm Knoppix 8 auch anbietet.
Anders als der mit Platform Id 0 verweist dieser Eintrag auf den Startblock
eines FAT Filesystems, das als EFI System Partition dient. Der naechste
Schritt haengt von der Bitzahl des Prozessors ab:
Fuer einen 32 Bit x86 Prozessor wird im FAT Filesystem nach dem File
/efi/boot/BOOTIA32.efi (in DOS: \EFI\BOOT\BOOTIA32.EFI) gesucht. Dieser
wird als Programm ausgefuehrt und startet den Bootloader.
Fuer einen 64 Bit x86 Prozessor ist es der File /efi/boot/BOOTX64.efi.

3. USB Stick mit klassischem BIOS

Wenn das ISO auf einem USB Stick oder einem anderen Geraet angeboten wird,
das von BIOS wie eine Festplatte behandelt wird, dann liest BIOS die ersten
512 Bytes vom Geraet und fuehrt sie als Programm aus. Diese 512 Bytes heissen
Master Boot Record (MBR) und enthalten neben Programmanweisungen auch die
Partitionstabelle mit maximal 4 primaeren Partitionen.
Das Programm im MBR des Knoppix 8 ISOs kennt die Startblocknummer des Files
/boot/isolinux/isolinux.bin im ISO Filesystem. Seine einzige Aufgabe ist es,
die ersten 2048 Bytes dieses Files zu laden und die Programmausfuehrung
an diese Bytes zu uebergeben.
Der weitere Bootvorgang muendet dann in den Bootvorgang von DVD ein.

4. USB Stick mit EFI im normalen Modus

EFI ignoriert die Programmbytes am Anfang des MBR und sucht statt dessen
in der Partitionstabelle des MBR nach einem Eintrag mit Typ 0xEF.
Diese Partition enthaelt das FAT Filesystem, in dem EFI, je nach Bitzahl
des Prozessors, nach den Files /efi/boot/BOOTIA32.efi oder
/efi/boot/BOOTX64.efi sucht.
Der weitere Bootvorgang muendet dann in den Bootvorgang von DVD ein.

-------------------------------------------------------------------------

Knoppix 8.1 Bootausruestung aufgelistet:

Das Shellkommando

Quellcode

1
$ xorriso -indev KNOPPIX_V8.1-2017-09-05-EN.iso -report_el_torito plain -report_system_area plain

gibt zunaechst eine Zusammenfassung des ISO images:

Quellcode

1
2
3
4
5
6
Drive current: -indev 'KNOPPIX_V8.1-2017-09-05-EN.iso'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Boot record  : El Torito , MBR isohybrid cyl-align-off
Media summary: 1 session, 2223548 data blocks, 4343m data,  536g free
Volume id    : 'KNOPPIX_8'

bevor es ins Detail des El Torito Boot Catalogs geht:

Quellcode

1
2
3
4
5
6
7
8
El Torito catalog  : 78  1
El Torito cat path : /boot/isolinux/boot.cat
El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
El Torito boot img :   1  BIOS  y   none  0x0000  0x00      4         914
El Torito boot img :   2  UEFI  y   none  0x0000  0x00  30720     2213820
El Torito img path :   1  /boot/isolinux/isolinux.bin
El Torito img opts :   1  boot-info-table isohybrid-suitable
El Torito img blks :   2  7680

Der Katalog sitzt in Block 78 und besetzt nur diesen einen.
Er ist auch als Datenfile /boot/isolinux/boot.cat erreichbar.
Er bietet die zwei erwaehnten Boot Images fuer BIOS und UEFI. Das Boot Image
fuer BIOS ist als Datenfile im ISO 9660 Filesystem gespeichert.
Aber das Boot Image fuer EFI ist ein namenloses Intervall von Datenblocks.

Fuer den Fall, dass das Knoppix 8.1 ISO Image auf einen USB Stick kopiert
wird, enthaelt es die folgende Partitionstabelle

Quellcode

1
2
3
4
5
6
7
8
ISO image size/512 : 8894192
Partition offset   : 16
MBR heads per cyl  : 0
MBR secs per head  : 0
MBR partition table:   N Status  Type        Start       Blocks
MBR partition      :   1   0x80  0x00           64      8855216
MBR partition      :   2   0x00  0xef      8855280        30720
MBR partition      :   3   0x00  0x83      8886000         8192

Partition 2 beschreibt das selbe Blockintervall wie das zweite El Torito
Boot Image. Der El Torito Startblock wird mit 2048 Bytes per Block gezaehlt.
Multipliziert mit 4 ergibt 2213820 die Zahl 8855280 aus der Partitionstabelle.

Partition 3 wird auf USB Stick beim ersten Lauf von Knoppix 8 bis zum
Ende des Sticks ausgedehnt. (Siehe unten.)

Partition 1 enthaelt einen ISO 9660 Superblock, einen Directorybaum und alle
Datenfileinhalte des ISO 9660 Filesystems. Allerdings beginnt sie nicht bei
Block 0, sondern bei 512-Byte Block 64, was Partitionseditoren viel besser
finden als Block 0.
Weil aber die Partitionstabelle auf einer DVD vom Linux Kernel zurecht
ignoriert wird, gibt es auch noch einen ISO 9660 Superblock an der Stelle,
wo ihn ein Betriebssystem erwartet, das eine DVD oder den Gesamtgeraetefile
eines USB Stick mountet. Er verweist auf einen zweiten Directorybaum, der
innerhalb der Partition 1 liegt. Beide Baeume verweisen auf die selben
Inhalte der Datenfiles.

Ein wichtiger Vorteil dieser Verdopplung der Metadaten ist, dass der Superblock
des Gesamtimages eine Filesystemgroesse angeben darf, die auch noch die
Partition 2 mit der EFI System Partition und die Partition 3 einschliesst.
Also nennt das folgende Shellkommando die exakte Groesse des Imagefiles
und nicht nur die Groesse von Partition 1:

Quellcode

1
2
$ /sbin/isosize KNOPPIX_V8.1-2017-09-05-EN.iso
4553826304

Mit dieser Groessenangabe kann man nach dem Kopieren auf DVD oder USB Stick
eine Pruefsumme berechnen, die mit der des Imagefiles uebereinstimmen muss:

Quellcode

1
2
3
4
5
6
$ expr 4553826304 / 2048
2223548
$ dd if=/dev/sr0 bs=2048 count=2223548 | md5sum
1f03452ed5ff456439109f45a9a42e29  -
$ md5sum KNOPPIX_V8.1-2017-09-05-EN.iso
1f03452ed5ff456439109f45a9a42e29  KNOPPIX_V8.1-2017-09-05-EN.iso

Allerdings endet diese Uebereinstimmung auf USB Stick, wenn Knoppix das
erste Mal bootet. Dann wird naemlich Partition 3 vergroessert, was einige
Bytes in der Kopie des urspruenglichen Imagefiles aendert.
Auf DVD sollte die Uebereinstimmung dauerhaft erhalten bleiben, solange
die DVD nicht beschaedigt oder ueberschrieben wird.

-------------------------------------------------------------------------

Und was sagen Partitionseditoren dazu ?

Ich wuerde fdisk empfehlen, wenn man selbst an der Partitionierung eines
Knoppix 8 USB Sticks etwas aendern moechte, weil nur dieser Editor die
Partition 1 nicht als freien Platz anzeigt. Man muss dann natuerlich auch
selbst ein Filesystem in der geanderten Partition 3 einrichten.

fdisk zeigt die MBR Partitionstabelle von Knoppix 8.1 so an:

Quellcode

1
2
3
4
5
6
  $ /sbin/fdisk -l KNOPPIX_V8.1-2017-09-05-EN.iso
  ...
  Device                          Boot   Start     End Sectors  Size Id Type
  KNOPPIX_V8.1-2017-09-05-EN.iso1 *         64 8855279 8855216  4.2G  0 Empty
  KNOPPIX_V8.1-2017-09-05-EN.iso2      8855280 8885999   30720   15M ef EFI (FAT
  KNOPPIX_V8.1-2017-09-05-EN.iso3      8886000 8894191    8192    4M 83 Linux

gdisk hat nicht allzuviel mit einer MBR Partitionstabelle zu schaffen.
Wenn man es doch die Partitionen auflisten laesst, ignoriert es die
MBR Partition 1 wegen ihres Typs 0:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
  $ /sbin/gdisk -l KNOPPIX_V8.1-2017-09-05-EN.iso
  ...
  Partition table scan:
    MBR: MBR only
  ...
  Warning! Secondary partition table overlaps the last partition by 33 blocks!
  You will need to delete this partition or resize it in another utility.
  ...
  Number  Start (sector)    End (sector)  Size       Code  Name
     2         8855280         8885999   15.0 MiB    EF00  EFI System
     3         8886000         8894191   4.0 MiB     8300  Linux filesystem

  Command (? for help): q

Auch GNU parted ignoriert Partition 1:

Quellcode

1
2
3
4
5
6
7
8
9
  $ /sbin/parted KNOPPIX_V8.1-2017-09-05-EN.iso
  ...
  (parted) print                                                            
  ...
  Number  Start   End     Size    Type     File system  Flags
   2      4534MB  4550MB  15.7MB  primary  fat16        esp
   3      4550MB  4554MB  4194kB  primary  reiserfs

  (parted) quit

Der Grund fuer Typ 0x00 in Knoppix 8.1 ist nicht mehr die Verschachtelung
von Partitionen wie in Knoppix 8.0, sondern es geht eigentlich um ein Problem
mit manchen EFI Implementierungen, die keinen anderen Typ als 0 und 0xef
in einer MBR Partitionstabelle sehen wollen. Ist man Opfer eines solchen EFI,
wird man aber auch noch den Typ von Partition 3 auf 0 setzen muessen.

Quellcode

1
2
3
4
5
6
7
8
9
  $ /sbin/fdisk KNOPPIX_V8.1-2017-09-05-EN.iso
  ...
  Command (m for help): t
  Partition number (1-3, default 3): 3
  Hex code (type L to list all codes): 0
  Type 0 means free space to many systems. Having partitions of type 0 is probably unwise.
  Changed type of partition 'Linux' to 'Empty'.

  Command (m for help): w

Aber richtig nett zu den Partitionseditoren und nicht-Linux Betriebssystemen
wird die Partitionierung, wenn man Partition 1 und 3 auf etwas anderes als 0
setzt.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  $ /sbin/fdisk KNOPPIX_V8.1-2017-09-05-EN.iso
  ...
  Command (m for help): t
  Partition number (1-3, default 3): 1
  Hex code (type L to list all codes): 83

  Changed type of partition 'Empty' to 'Linux'.

  Command (m for help): t
  Partition number (1-3, default 3): 3
  Hex code (type L to list all codes): 83

  Changed type of partition 'Empty' to 'Linux'.

  Command (m for help): p
  ...
  Device                          Boot   Start     End Sectors  Size Id Type
  KNOPPIX_V8.1-2017-09-05-EN.iso1 *         64 8855279 8855216  4.2G  0 Linux
  KNOPPIX_V8.1-2017-09-05-EN.iso2      8855280 8885999   30720   15M ef EFI (FAT
  KNOPPIX_V8.1-2017-09-05-EN.iso3      8886000 8894191    8192    4M 83 Linux
  
  Command (m for help): w

gdisk berichtet danach:

Quellcode

1
2
3
4
Number  Start (sector)    End (sector)  Size       Code  Name
   1              64         8855279   4.2 GiB     8300  Linux filesystem
   2         8855280         8885999   15.0 MiB    EF00  EFI System
   3         8886000         8894191   4.0 MiB     8300  Linux filesystem

parted:

Quellcode

1
2
3
4
Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  4534MB  4534MB  primary               boot
 2      4534MB  4550MB  15.7MB  primary  fat16        esp
 3      4550MB  4554MB  4194kB  primary  reiserfs


-------------------------------------------------------------------------

Was macht eigentlich Partition 3 ?

Die dritte MBR Partition zeigt auf ein 4 MB grosses Reiser Filesystem, das
von Knoppix automatisch bis zum Ende des USB Sticks ausgedehnt wird, wenn
es zum ersten Mal startet.
Auf DVD hat diese Partition keine Aufgabe.

Wenn man ein Knoppix 8 ISO Image einem virtuellen PC als Festplatte
uebergibt, (zB. mit qemu Option -hda), dann gilt die Groesse des Imagefiles
als Groesse des Speichergeraets. Weil im Image nach Ende von Partition 3
nur noch 32 KB kommen, bringt die Ausdehnung der Partition nicht den
erhofften Platz.
Wenn man also das Knoppix 8 ISO als virtuelle Platte betreiben will, sollte
man es vorher um mindestens 4 GB auf die empfohlene USB-Stick-Groesse von
ca. 8 GB aufblaehen:

Quellcode

1
  dd if=/dev/zero bs=1M count=4096 >>KNOPPIX_V8.1-2017-09-05-EN.iso

-------------------------------------------------------------------------

Knoppix 8.0 Bootausruestung aufgelistet:

Knoppix 8.0 wurde nur auf DVD-ROM ausgeliefert. Herunterladbare Imagefiles
sind nicht bekannt. Die Anordnung seiner Bootausruestung aehnelt der in
Debian Installations-ISOs.

Das Shellkommando

Quellcode

1
  $ xorriso -indev /dev/sr0 -report_el_torito plain -report_system_area plain

gibt fuer die Zusammenfassung und die El Torito Bootausruestung aehnliches
aus, wie beim Knoppix 8.1 ISO:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
  Media current: DVD-ROM
  Media status : is written , is closed
  Boot record  : El Torito , MBR isohybrid cyl-align-off GPT
  Media summary: 1 session, 2220294 data blocks, 4337m data,     0 free
  Volume id    : 'KNOPPIX_8'
  El Torito catalog  : 42  1
  El Torito cat path : /boot/isolinux/boot.cat
  El Torito images   :   N  Pltf  B   Emul  Ld_seg  Hdpt  Ldsiz         LBA
  El Torito boot img :   1  BIOS  y   none  0x0000  0x00      4         878
  El Torito boot img :   2  UEFI  y   none  0x0000  0x00  30720        7202
  El Torito img path :   1  /boot/isolinux/isolinux.bin
  El Torito img opts :   1  boot-info-table isohybrid-suitable
  El Torito img path :   2  /efi.img

Der Katalog sitzt in Block 42 und besetzt nur diesen einen.
Er ist auch als Datenfile /boot/isolinux/boot.cat erreichbar.
Er bietet die zwei erwaehnten Boot Images fuer BIOS und UEFI, die beide als
Datenfiles im ISO 9660 Filesystem gespeichert sind. Dadurch unterscheidet
sich 8.0 von 8.1, wo das EFI Boot Image kein Datenfile im ISO ist.

Die Partionstabelle des MBR zeigt das daraus resultierende Problem:

Quellcode

1
2
3
4
5
6
7
  ISO image size/512 : 8872920
  ...
  MBR partition table:   N Status  Type        Start       Blocks
  MBR partition      :   1   0x80  0x00            0      8872920
  MBR partition      :   2   0x00  0xef        28808        30720
  MBR partition      :   3   0x00  0x83      8872920         8192
  MBR partition path :   2  /efi.img

Die Partition 2 zeigt auf den Start des Datenfiles /efi.img im ISO. Es ist der
selbe, auf den auch der El Torito Boot Catalog Eintrag fuer UEFI verweist.
Dadurch muss Partition 1 die Partition 2 umschliessen. Das waere sehr
regelwidrig, wenn sie nicht den Typ 0x00 haette. So gibt es Partition 1 aus
der Sicht der UEFI Spezifikation garnicht. Linux aber erkennt sie ebenso wie
der in Linux uebliche Partitionseditor fdisk.
Partition 3 wird auf USB Stick beim ersten Lauf von Knoppix 8 bis zum
Ende des Sticks ausgedehnt.

Ausser der MBR Partitionstabelle ist auch noch eine eigentlich ungueltige
GUID Partition Table dabei:

Quellcode

1
2
3
4
5
6
7
8
  GPT                :   N  Info
  ...
  GPT partition name :   1  490053004f00480079006200720069006400
  GPT partname local :   1  ISOHybrid
  GPT partition GUID :   1  a222770ded5dd64392d5411601b41747
  GPT type GUID      :   1  a2a0d0ebe5b9334487c068b6b72699c7
  GPT partition flags:   1  0x1000000000000001
  GPT start and size :   1  0  8872920

Die erste GPT Partition deckt das ISO 9660 Filesystem ab. Eher regelwidrig
ist ihr Startblock 0. Aber mit der kleinsten regelgerechten Adresse 64
waere die Partition nicht mountbar.

Quellcode

1
2
3
4
5
6
7
  GPT partition name :   2  490053004f004800790062007200690064003100
  GPT partname local :   2  ISOHybrid1
  GPT partition GUID :   2  a222770ded5dd64392d6411601b41747
  GPT type GUID      :   2  a2a0d0ebe5b9334487c068b6b72699c7
  GPT partition flags:   2  0x1000000000000001
  GPT start and size :   2  28808  30720
  GPT partition path :   2  /efi.img

Die zweite Partition zeigt auf die Datenblocks des Files mit dem FAT
Filesystem der EFI System Partition. Dass sie sich im Inneren von GPT
Partition 1 befindet, ist sehr regelwidrig.

Seltsamerweise hat die GPT Partition 2 die
Typ-GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 "Basic Data". Das ist schon
seit Erfindung von isohybrid fuer EFI so.
(Siehe http://mjg59.dreamwidth.org/11285.html , Dumpadresse 00002080 )
Darum traut sich keiner mehr, es zu korrigieren.

Dann gibt es noch das Gegenstueck zu MBR Partition 3.
Allerdings wird sie nicht zusammen mit der MBR Partition ausgedehnt.

Quellcode

1
2
3
4
5
6
  GPT partition name :   3  41007000700065006e006400650064003300
  GPT partname local :   3  Appended3
  GPT partition GUID :   3  a222770ded5dd64392d7411601b41747
  GPT type GUID      :   3  a2a0d0ebe5b9334487c068b6b72699c7
  GPT partition flags:   3  0x0000000000000000
  GPT start and size :   3  8872920  8192


Am Schluss des ISO Images sitzt die Backup GPT, eine Kopie der GPT am
Start des Images. Sie muesste ans Ende des USB Sticks verschoben werden,
damit sie gueltig bleibt. Aber weil die GPT eigentlich sowieso nicht
gueltig ist, kann man die Backup GPT auch lassen, wo sie ist. Lange
ueberleben wird sie dort nicht.

Die kleinen Nickeligkeiten dieser Partitionierung haben dazu gefuehrt,
dass bei Knoppix 8.1 die obige, deutlich normalere Anordnung der Partitionen
gewaehlt wurde und dass es keine GPT mehr gibt.

-------------------------------------------------------------------------
Partitionseditoren und Knoppix 8.0:

Wenn man sie auf die DVD ansetzt, werden fdisk, gdisk, und parted von deren
Blockgroesse 2048 verwirrt. Man muss das ISO Image als File anbieten oder auf
einen USB Stick kopieren, damit sie die Partitionstabellen richtig
interpretieren.

Quellcode

1
  $ dd if=/dev/sr0 bs=1M of=knoppix_8.0.iso


fdisk zeigt die MBR Partitionstabelle an, ohne die GPT oder die
Partitionsverschachtelung zu bemerken:

Quellcode

1
2
3
4
5
6
  $ /sbin/fdisk -l knoppix_8.0.iso
  ...
  Device           Boot   Start     End Sectors  Size Id Type
  knoppix_8.0.iso1 *          0 8872919 8872920  4.2G  0 Empty
  knoppix_8.0.iso2        28808   59527   30720   15M ef EFI (FAT-12/16/32)
  knoppix_8.0.iso3      8872920 8881111    8192    4M 83 Linux

gdisk bemerkt die GPT und ignoriert die MBR Partition 1:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  $ /sbin/gdisk knoppix_8.0.iso
  ...
  Partition table scan:
    MBR: MBR only
    BSD: not present
    APM: not present
    GPT: present

  Found valid MBR and GPT. Which do you want to use?
    1 - MBR
    2 - GPT
    3 - Create blank GPT
  Your answer: 1

  Command (? for help): p
  ...
  Number  Start (sector)    End (sector)  Size       Code  Name
     2           28808           59527   15.0 MiB    EF00  EFI System
     3         8872920         8881111   4.0 MiB     8300  Linux filesystem

  Command (? for help): q

GNU parted bemerkt die GPT nicht, ignoriert aber Partition 1:

Quellcode

1
2
3
4
5
6
7
8
9
  $ /sbin/parted knoppix_8.0.iso
  ...
  (parted) print                                                            
  ...
  Number  Start   End     Size    Type     File system  Flags
   2      14.7MB  30.5MB  15.7MB  primary  fat16        esp
   3      4543MB  4547MB  4194kB  primary  reiserfs

  (parted) quit

Das Ignorieren von Partition 1 liegt zunaechst einmal an ihrem Typ 0x00.
Aendert man ihn in Byte 450 des ISOs zB. zu 0x83 "Linux", dann fangen gdisk
und parted an zu meckern, weil Partition 2 in Partition 1 liegt.
gdisk:

Quellcode

1
2
  Warning! Main partition table overlaps the first partition by 34 blocks!
  You will need to delete this partition or resize it in another utility.

parted:

Quellcode

1
2
  Error: Invalid partition table - recursive partition on
  /daten/dvdbuffer/knoppix_8.0.iso.

Beide Editoren zeigen danach Partition 1 immer noch nicht an.
Typ 0x00 ist also wirklich vorzuziehen.

Entfernt man die GPT, indem man den zweiten und den letzten Block des ISOs
mit Nullen ueberschreibt, dann merkt gdisk wenigstens, dass es nicht
zustaendig ist:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  $ last_block=$(expr $(ls -l knoppix_8.0.iso | awk '{print $5}') / 512 - 1)
  $ echo $last_block
  8881175
  $ iso=knoppix_8.0.iso
  $ dd conv=notrunc if=/dev/zero bs=512 seek=1 count=1 of="$iso"
  ...
  $ dd conv=notrunc if=/dev/zero bs=512 seek=$last_block count=1 of="$iso"
  ...
  $ gdisk "$iso"
  ...
  Found invalid GPT and valid MBR; converting MBR to GPT format
  in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
  typing 'q' if you don't want to convert your MBR partitions
  to GPT format!
  ...

Das ist besser, als wenn es ungewollt von MBR Partitionierung auf GPT
umsteigt. Allerdings muss man dann noch pruefen, ob es auf allen gewuenschten
Maschinen bootet.

-------------------------------------------------------------------------

Wieso kann Knoppix 8 auf EFI mit SYSLINUX von DVD booten ?

Es ist eine bekannte Schwaeche von SYSLINUX, dass es auf EFI Systemen nicht
auf die Datenblocks optischer Speichermedien ausserhalb der EFI System
Partition zugreifen kann.
Praktisch alle anderen Linux Distributionen benutzen GRUB2 als Bootloader
auf x86 EFI. Einige wenige benutzen auch den Bootloader elilo.

Dennoch hat Knoppix 8 die entsprechenden Tests bestanden (wenn auch nicht
auf meinem OVMF 20131112). Das liegt daran, dass in der EFI System Partition
ein kleines aber komplettes GNU/Linux sitzt, das dann die Aufgabe uebernimmt,
Knoppix aus dem grossen ISO 9660 Filesystem heraus zu starten.

Zum Erscheinungszeitpunkt der Knoppix 8 DVD im Linux Magazin 04/17 ist das
meines Wissens das einzige nicht-experimentelle ISO, das auf EFI von DVD
bootet.

-------------------------------------------------------------------------

Wie kommt das ISO auf USB Stick oder DVD ?

Um Knoppix 8 von DVD auf einen USB Stick zu kopieren, muss man sich zuerst
davon ueberzeugen, dass man die richtige Geraeteadresse verwendet. Weil das
Aufbringen des ISOs die Daten und die Partitionierung des Sticks
ueberschreibt, sollte man am besten vorher einen Backup machen und beobachten,
ob dabei auch wirklich der richtige Stick blinkt:

Quellcode

1
  dd if=/dev/sdc bs=1M | gzip >stick_vor_knoppix8.gz

Wenn /dev/sdc wirklich die richtige Adresse war, kann man nun die DVD
auf den Stick kopieren:

Quellcode

1
  dd if=/dev/sr0 bs=1M of=/dev/sdc

Sollte man statt der DVD einen ISO Imagefile haben (zB. knoppix_8.0.iso),
kann man diesen statt /dev/sr0 verwenden:

Quellcode

1
  dd if=KNOPPIX_V8.1-2017-09-05-EN.iso bs=1M of=/dev/sdc

Um spaeter einmal das Knoppix durch den Backup zu ersetzen, nachdem man
sich wieder sorgfaeltig von der Richtigkeit der Adresse ueberzeugt hat:

Quellcode

1
  gunzip < stick_vor_knoppix8.gz | dd bs=1M of=/dev/sdc


Fuer User von MS-Windows empfiehlt Debian GNU/Linux das Programm
win32diskimager, um ein ISO auf einen USB Stick zu kopieren:
http://sourceforge.net/projects/win32diskimager/


Wo wir schon dabei sind, brennen wir uns auch noch ein ISO Image auf DVD:

Quellcode

1
  growisofs -dvd-compat -Z /dev/sr0=KNOPPIX_V8.1-2017-09-05-EN.iso

oder

Quellcode

1
  xorriso -as cdrecord -v dev=/dev/sr0 -eject KNOPPIX_V8.1-2017-09-05-EN.iso


-----------------------------------------------------------------
Literatur:

Klaus Knopper ueber Knoppix 8: "Hybrides USB-Image statt DVD"
https://www.golem.de/news/live-linux-kno…3-126811-2.html

Zu BIOS und EFI
https://de.wikipedia.org/wiki/BIOS
https://de.wikipedia.org/wiki/UEFI

Zur El Torito Bootausruestung:
http://wiki.osdev.org/El-Torito (englisch)

Zum Master Boot Record:
https://de.wikipedia.org/wiki/Master_Boot_Record
http://wiki.osdev.org/MBR (englisch)
http://www.syslinux.org/wiki/index.php?title=Isohybrid (englisch)

Zur GPT:
https://de.wikipedia.org/wiki/GUID_Partition_Table
http://www.uefi.org/sites/default/files/…_4_Errata_B.pdf
Chapter 5 "GUID Partition Table (GPT) Disk Layout" (englisch)

Zur Motivation, die GPT ueberhaupt in Knoppix 8.0 zu haben:
http://mjg59.dreamwidth.org/11285.html (englisch)

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »scdbackup« (14.10.2017, 17:35)


Linux HardwareLinux Computer & PCs | Linux Notebooks & Laptops | Geek Shirts | Geek und Nerd Shirt Shop