Hallo,
habe den Fehler gefunden. Eigentlich offensichtlich, aber oft übersieht man das offensichtliche...
Es liegt daran, dass die setup.py erst Partition 1 erstellt und
formatiert, um danach Partition 2 zu erstellen und zu formatieren. Allerdings ist die Festplatte beim erstellen der 2. Partition noch eingehangen, was den Fehler erzeugt. Des Rätsels Lösung ist es, erst beide Partitionen zu erstellen und dann zu formatieren. Das Ergebnis steht hier (nur der modifizierte teil, muss also in die bestehende setup.py eingefügt werden):
Code: Alles auswählen
###################################################################################
### Modifikation
###################################################################################
# Get first harddisk
KB=1000
MB=1000*1000
GB=1000*1000*1000
disks = getHarddisks()
disk = disks[0]
disksize = disk.size - KB
partitions = disk.getPartitions()
# Disksize <= 4GB
# => Platte zu klein => exit
if (disksize <= 3999*MB):
ui.getMessageBox().addText("Festplatte kleiner ab 4GB,zu klein!\n")
# nur eine Partition
elif (4*GB < disksize) and (disksize <= 14999*MB):
# 4GB < Disksize <= 8GB
# => erstelle 1 Partition ueber die gesamte Platte elif (4*GB < disksize) and (disksize <= 6*GB):
if not partitions:
ui.getMessageBox().addText("Es wird eine Partition ueber die gesamte Platte erstellt!\n")
disk.deletePartitionTable()
disk.createPartition(start="0%", end="100%", fs="fat32", boot=True)
disk.createFilesystem(partition=1, fs="fat32")
else:
partition = partitions[0]
partend = str(int((partition['end'] / (1024*1024)) - 1)) + "M"
ui.getMessageBox().addText('Ende Partition 1: %s\n' % (partend))
ui.getMessageBox().addText("Partition 1 wird neu erstellt\n")
disk.deletePartition(partition=1)
disk.createPartition(start="0%", end=partend, fs="fat32", boot=True)
disk.createFilesystem(partition=1, fs="fat32")
# => 2 Partitionen: 1. 6GB, 2. Rest
elif (15001*MB < disksize) and (disksize < 30*GB):
if not partitions:
ui.getMessageBox().addText("Es werden zwei Partition erstellt!\n1. Partition: 6GB, 2. Partition: Rest\n")
disk.deletePartitionTable()
disk.createPartition(start="0M", end="6000M", fs="fat32", boot=True)
disk.createFilesystem(partition=1, fs="fat32")
disk.createPartition(start="6001M", end="100%", fs="ntfs")
disk.createFilesystem(partition=2, fs="ntfs")
else:
partition = partitions[0]
partend = str(int((partition['end'] / (1024*1024)) - 1)) + "M"
disk.deletePartitionTable()
ui.getMessageBox().addText('Ende Partition 1: %s\n' % (partend))
ui.getMessageBox().addText("Partition 1 wird neu erstellt\n")
ui.getMessageBox().addText("\nSchritt 2: Erstelle neue 1. Partition\n")
disk.createPartition(start="0M", end="6000M", fs="fat32", boot=True)
ui.getMessageBox().addText("\nSchritt 3: Erstelle neue 2. Partition\n")
disk.createPartition(start="6001M", end="100%", fs="ntfs")
ui.getMessageBox().addText("\nSchritt 4: Formatiere 1. Partition\n")
disk.createFilesystem(partition=1, fs="fat32")
ui.getMessageBox().addText("\nSchritt 5: Formatiere 2. Partition\n")
disk.createFilesystem(partition=2, fs="ntfs")
# 2 Partitionen: 1. 40%, 2. 60%
elif (30*GB < disksize) and (disksize <= 80*GB):
if not partitions:
ui.getMessageBox().addText("Es werden zwei Partition erstellt!\n1. Partition: 6GB, 2. Partition: Rest\n")
disk.deletePartitionTable()
disk.createPartition(start="0%", end="40%", fs="fat32", boot=True)
disk.createFilesystem(partition=1, fs="fat32")
disk.createPartition(start="40,1%", end="100%", fs="ntfs")
disk.createFilesystem(partition=2, fs="ntfs")
else:
partition = partitions[0]
partend = str(int((partition['end'] / (1024*1024)) - 1)) + "M"
disk.deletePartitionTable()
ui.getMessageBox().addText('Ende Partition 1: %s\n' % (partend))
ui.getMessageBox().addText("Partition 1 wird neu erstellt\n")
ui.getMessageBox().addText("\nSchritt 2: Erstelle neue 1. Partition\n")
disk.createPartition(start="0%", end="40%", fs="fat32", boot=True)
ui.getMessageBox().addText("\nSchritt 3: Erstelle neue 2. Partition\n")
disk.createPartition(start="40,1%", end="100%", fs="ntfs")
ui.getMessageBox().addText("\nSchritt 4: Formatiere 1. Partition\n")
disk.createFilesystem(partition=1, fs="fat32")
ui.getMessageBox().addText("\nSchritt 5: Formatiere 2. Partition\n")
disk.createFilesystem(partition=2, fs="ntfs")
# 2 Partitionen: 1. 32GB, 2. Rest
else:
if not partitions:
ui.getMessageBox().addText("Es werden zwei Partition erstellt!\n1. Partition: 40%, 2. Partition: 60%\n")
disk.deletePartitionTable()
disk.createPartition(start="0%", end="32000M", fs="fat32", boot=True)
disk.createFilesystem(partition=1, fs="fat32")
disk.createPartition(start="32001M", end="100%", fs="ntfs")
disk.createFilesystem(partition=2, fs="ntfs")
else:
partition = partitions[0]
partend = str(int((partition['end'] / (1024*1024)) - 1)) + "M"
disk.deletePartitionTable()
ui.getMessageBox().addText('Ende Partition 1: %s\n' % (partend))
ui.getMessageBox().addText("Partition 1 wird neu erstellt\n")
ui.getMessageBox().addText("\nSchritt 2: Erstelle neue 1. Partition\n")
disk.createPartition(start="0%", end="32000M", fs="fat32", boot=True)
ui.getMessageBox().addText("\nSchritt 3: Erstelle neue 2. Partition\n")
disk.createPartition(start="32001M", end="100%", fs="ntfs")
ui.getMessageBox().addText("\nSchritt 4: Formatiere 1. Partition\n")
disk.createFilesystem(partition=1, fs="fat32")
ui.getMessageBox().addText("\nSchritt 5: Formatiere 2. Partition\n")
disk.createFilesystem(partition=2, fs="ntfs")
###################################################################################
### Modifikation ende
###################################################################################
Hatte übrigends beim letzten Kopieren der kompletten setup.py hier aus dem Forum Probleme, weil die Einrückungen nicht richtig übernommen wurden... Aber das lässt sich ja recht einfach beheben mit den opsi-tools.
MfG, smokie128