AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi primäre oder erweiterte Partition?
Thema durchsuchen
Ansicht
Themen-Optionen

primäre oder erweiterte Partition?

Ein Thema von Mattze · begonnen am 11. Apr 2009 · letzter Beitrag vom 12. Apr 2009
Antwort Antwort
Seite 1 von 2  1 2      
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

primäre oder erweiterte Partition?

  Alt 11. Apr 2009, 08:05
Hallo,

ich suche und suche, aber finde nix...

Wie kann man per Code (!!! Möglichst nicht WMI!!!) rauskriegen, ob es sich bei einer Partition um eine primäre bzw. eine erweiterte Partition handelt?

(Der Partitiontype bei deviceIOCtl ist in dieser Form nicht aussagekräftig! oder irre ich mich da?)

Gruß
Mattze
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#2

Re: primäre oder erweiterte Partition?

  Alt 11. Apr 2009, 09:40
http://www.torry.net/vcl/filedrv/diskaccess/diskacc.zip
.
Das steht im Partitiontyp (Byte 4 der Partitionstabelle): z.B.
parttyp='00' = empty or unknown,
parttyp='05' = erweiterte Partition,
parttyp='07' = NTFS,
parttyp='0B' ='WIN95 OSR2 FAT32';
parttyp='0C' ='WIN95 OSR2 FAT32, LBA-mapped';
parttyp='0E' ='WIN95: DOS 16-bit FAT, LBA-mapped';
parttyp='0F' ='WIN95: Extended partition, LBA-mapped';
.
.
.
parttyp='FF' ='Xenix Bad Block Table';
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#3

Re: primäre oder erweiterte Partition?

  Alt 11. Apr 2009, 11:32
Hallo,

vielen Dank für die schnelle Antwort und erst mal: Schöne Ostern!

Nun gibt es noch ein Problem mehr!!!

1. Als Partitionstyp erhalte ich (mit deviceIOControl) die 07 für ALLE Partitionen der Festplatte.
Ich habe auf der Festplatte aber nur eine (1!) primäre Partition und fünf (5!) erweiterte.

2. In der Patitionstabelle meiner (einzigen) Festplatte steht zwar die erste Partition (C richtig drin (Typ: 80, Parttyp: 07, bootfähig usw.), aber keine weitere Partition.
(Da steht noch etwas beginnend mit E8 03 00 00 C1... Was ist das?)

Wo kriege ich die Angaben der anderen Partitionen her?

(Der Parttyp alleine scheint noch nicht aussagekräftig zu sein! Vielleicht mit der Bootfähigkeit? 07 und nicht bootfähig = erweiterte NTFS; 07 und bootfähig = primäre NTFS?)

Gruß
Mattze
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

Re: primäre oder erweiterte Partition?

  Alt 11. Apr 2009, 19:01
Auf einer HDD ist Platz für 4 Partitionen(4x16Bytes=64Bytes), mehr Platz ist nicht vorhanden in der Partitionstabelle. Eine bootbare Partition hat im Byte 0 den Eintrag "80", sonst "00". Nur primäre Partitionen können bootbar sein.
Es kann nur eine Extended Partition vorhanden sein.
Mögliche Konfigurationen:
4 primäre Partitionen oder
0 bis 3 primäre Partitionen und eine Extended Partition.

Die letzten beiden Bytes des MBR enthalten "55 AA". Die obengenannten 64 Bytes stehen unmittelbar vorher und enthalten die Info über die 4 möglichen Partitionen.

http://de.wikipedia.org/wiki/Master_Boot_Record
.
http://de.wikipedia.org/wiki/Partitionstabelle

http://www.goodells.net/multiboot/tools.htm#ptedit

ftp://ftp.symantec.com/public/englis...ies/ptedit.zip
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#5

Re: primäre oder erweiterte Partition?

  Alt 12. Apr 2009, 08:40
Hallo,

ach so ist das! Bin ich also voll in die unexakte Formulierungsfalle getappt. Das hat man davon, wenn man theoretischer Mathematiker ist!

Minimalweich selbst gibt nämlich im Feld Partitioncount auch 6 (bei mir) an!!!

Exakt müsste als es ungefähr so sein:
Ich habe auf meinem physischen Gerät eine primäre Partition, die logisch als Laufwerk (C definiert ist. Und eine erweiterte Partition, die physisch in 5 Bereiche getrennt ist und die ihrerseits als logische Laufwerke definiert sind.

Ist der "Restbereich", der nach der Definition der primären Partitionen übrig bleibt, automatisch die erweiterte Parttition? Dann wäre nämlich alles klar.
Laut Wikipedia ist die aber in der Partitionstabelle angelegt.
Nach der primären fängt der nächste Bereich ($1CE) bei mir mit E8 an. Für eine erweiterte müsste es aber laut Dir 00, laut Wikipedias Partitionstabelle 5 oder F sein (wenn nicht mehrere). Was nun?

Die 80 an $1BE hatte ich irgendwo nur als "Disk" gelesen und natürlich das "Primary" weiter gesucht...

Vielen Dank!

Gruß
Mattze
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#6

Re: primäre oder erweiterte Partition?

  Alt 12. Apr 2009, 08:58
Zitat von Mattze:
Ist der "Restbereich", der nach der Definition der primären Partitionen übrig bleibt, automatisch die erweiterte Parttition? Dann wäre nämlich alles klar.
Laut Wikipedia ist die aber in der Partitionstabelle angelegt.
Nach der primären fängt der nächste Bereich ($1CE) bei mir mit E8 an. Für eine erweiterte müsste es aber laut Dir 00, laut Wikipedias Partitionstabelle 5 oder F sein (wenn nicht mehrere). Was nun?

Die 80 an $1BE hatte ich irgendwo nur als "Disk" gelesen und natürlich das "Primary" weiter gesucht...

Wenn nur 1 Primäre Partition definiert ist, ist der Rest undefiniert - er ist nur mit 00 gefüllt.

Eine bootbare (AKTIVE) Partition fängt mit "80" im Definitionsblock an, alle anderen mit "00".
Wenn die Primäre Partition nicht AKTIV ist, fängt der 16Byte grosse Definitionsblock auch mit "00" an.
Miniaturansicht angehängter Grafiken
parttab_01_895.jpg   mbr_parttab_01_103.jpg  
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#7

Re: primäre oder erweiterte Partition?

  Alt 12. Apr 2009, 09:49
Hallo,

danke für die schnelle Antwort und nun auch von mir ein Bild.
Ich sag doch: E8 auf 1Ce!

Das wundert mich ja auch! Aber es funktioniert alles bestens!

Gruß
Mattze
Miniaturansicht angehängter Grafiken
bild1_370.jpg  
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#8

Re: primäre oder erweiterte Partition?

  Alt 12. Apr 2009, 10:10
Zitat von Mattze:
Hallo,

danke für die schnelle Antwort und nun auch von mir ein Bild.
Ich sag doch: E8 auf 1Ce!

Das wundert mich ja auch! Aber es funktioniert alles bestens!

Gruß
Mattze
Du hast leider nur 14Bytes/Zeile - das macht das Zählen etwas unübersichtlich.
Das 1.Byte der 1.Partitionsdefinition fängt mit "80"(=AKTIV) an - es ist also alles in Ordnung.
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#9

Re: primäre oder erweiterte Partition?

  Alt 12. Apr 2009, 10:58
Hallo,

vielen Dank und Sch...!
Asche auf mein Haupt!
Das ist von der demo.exe aus der diskaccess.zip und da habe ich nicht nachgezählt, bin von 16 Byte pro Zeile ausgegangen.

Selbst bei Programmierern sollte man also lieber misstrauisch sein.
Mist!!!

Gruß
Mattze

PS: Nun fragt sich nur noch, wie ich das mit der logischen Partition (also dem LW-Buchstaben C) zusammenbringe...
Aber das findet sich schon noch...
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#10

Re: primäre oder erweiterte Partition?

  Alt 12. Apr 2009, 11:55
Das geht mit WMI.

CIMV2
Win32_LogicalDisk
Name enthält den Laufwerksbuchstaben (z.B. "C:")

--------
weitere interessante Abfragen:
Win32_LogicalDiskToPartition
Win32_DiskPartition
Win32_DiskDriveToDiskPartition
Win32_DiskDrivePhysicalMedia
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz