wie versprochen, hier meine Modifikation des XP Skriptes, bei mir funktioniert es mit 1, 2, oder 3 Partitionen, sollten bei irgendwem fehler auftreten, oder hat jemand verbesserungen, bitte infach posten.!!!!
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 <= 2GB
# => Platte zu klein => exit
if (disksize <= 2*GB):
raise Exception("Die Festplatte ist kleiner als 2GB!\n")
# 2GB < Disksize <= 6GB
# => erstelle 1 Partition ueber die gesamte Platte elif (2*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")
# 6GB < Disksize <= 15GB
# => 2 Partitionen: 1. 6GB, 2. Rest
elif (6*GB < disksize) and (disksize <= 15*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", boot=False)
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")
# Disksize > 15GB
# 2 Partitionen: 1. 40%, 2. 60%
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="40%", fs="fat32", boot=True)
disk.createFilesystem(partition=1, fs="fat32")
disk.createPartition(start="41%", end="100%", fs="ntfs")
disk.createFilesystem(partition=2, fs="fat32")
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 Partition\n")
disk.createPartition(start="0%", end="40%", fs="fat32", boot=True)
ui.getMessageBox().addText("\nSchritt 3: Formatiere Partition\n")
disk.createFilesystem(partition=1, fs="fat32")
ui.getMessageBox().addText("\nSchritt 5: Erstelle neue Partition\n")
disk.createPartition(start="41%", end="100%", fs="fat32")
ui.getMessageBox().addText("\nSchritt 5: Formatiere Partition\n")
disk.createFilesystem(partition=2, fs="fat32")
###################################################################################
### Modifikation ende
###################################################################################