AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Partitionstabelle ändern

Ein Thema von WorstNightmare · begonnen am 9. Jul 2009 · letzter Beitrag vom 11. Jul 2009
Antwort Antwort
Seite 1 von 3  1 23   
WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#1

Partitionstabelle ändern

  Alt 9. Jul 2009, 14:50
Hallo,

wie ich schon in einem anderen Thread sagte, möchte ich gerne die Partitionstabelle im MBR ändern. Folgende Dinge sollen geschehen:
  • Physikalisches Laufwerk (Festplatte) von Partition rausfinden (Fertig)
  • MBR von Platte auslesen (Fertig)
  • Partitionstabelle auslesen und parsen (halb fertig)
  • Womöglich Partition aus erweiterter Partition löschen
  • Neue primäre FAT32 (Typ 0xC) Partition anlegen

Die FAT32 Partition muss nur im MBR als solche stehen, was an der Position für Daten sind ist völlig egal, denn da kommt ein spezielles anderes Dateisystem hin.
Bevor ich diesen ganzen Aufwand betreibe, möchte ich erstmal folgendes wissen:
Lassen moderne Windows-Systeme (NT 6) zu, dass ich den MBR einfach mal so überschreibe? (Probleme mit Cache/Registry?)
Ist es egal ob es ein 32/64-Bit System ist?

Dazu muss noch gesagt werden, dass es sich um eine externe Festplatte handelt, also nicht die wo Windows drauf ist.
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 15:03
Ja, das lassen die durchaus zu, vorrausgesetzt es gibt keine Ressourcen Konflikte. Sowohl unter x86 als auch unter allen anderen Systemen sollte es da aber keine Probleme geben. Allerdings muss Du das System danach dann auch dazu bringen den MBR neu einzulesen, was imho schwieriger ist als den MBR zu schreiben . Ich würde vermuten das es dazu notwendig wäre ein entsprechendes Signal an den Festplatten Treiber zu schicken. Aber das ist reine Spekulation meinerseits.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#3

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 15:06
ganz ehrlich, vergiß den Weg,
wenn schon, dann nimm ein anderen Marker für ein Dateisystem.

1. wenn du etwas als FAT32 ausgiebst, dann sollte es auch güliges FAT32 sein, denn
1.1. den FAT32-Treiber des Systems wird es nicht gefallen
1.2. CheckDisk könnte dir deine "andere" Nicht-FAT-Partition zerschießen
2. ...

Erstmal mußt du die Festplatte bei Windows abmelden/Sperren und erst dann
kannst du einfach direkt auf die Platte zugreifen und kannst den MBR direkt verändern.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#4

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 15:41
Zitat von himitsu:
ganz ehrlich, vergiß den Weg,
wenn schon, dann nimm ein anderen Marker für ein Dateisystem.

1. wenn du etwas als FAT32 ausgiebst, dann sollte es auch güliges FAT32 sein, denn
1.1. den FAT32-Treiber des Systems wird es nicht gefallen
1.2. CheckDisk könnte dir deine "andere" Nicht-FAT-Partition zerschießen
2. ...
Hm, ich denke das macht nichts. Dieses andere Dateisystem benutzen schon viele seit einiger Zeit, alle hatten keine Probleme, ich selbst auch nicht. Windows macht da keine Murren, sagt lediglich "Auf dem Datenträger befindet sich kein bekanntes Dateisystem, möglicherweise müssen sie ihn formatieren, bevor sie ihn benutzen können."

Zitat von himitsu:
Erstmal mußt du die Festplatte bei Windows abmelden/Sperren und erst dann
kannst du einfach direkt auf die Platte zugreifen und kannst den MBR direkt verändern.
Ja genau, so macht es Acronis Disk Director auch. Gibt es Möglichkeiten sowas aus Delphi heraus zu veranlassen?
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 16:16
Zitat von himitsu:
Erstmal mußt du die Festplatte bei Windows abmelden/Sperren und erst dann
kannst du einfach direkt auf die Platte zugreifen und kannst den MBR direkt verändern.
Das ist beim Zugriff auf den MBR nicht notwendig.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#6

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 16:54
Wenn der MBR verändert werden soll schon.
Wenn er nur den Typ einer nicht gemappten Partition hätte ändern wollen, dann wäre es ver mutlich noch gut gegangen, aber wenn der den MBR umbauen will (z.B. eine Partition einfügen) und windows dieses Laufwerk auch zugänglich machen soll, dann muß er Windows auch die möglichkeit geben den MBR neu einzulesen.


schau mal in Luckies Diskimage (auf seiner Webseite), da wird zwar nur eine Partition (die der Diskette) gesperrt, aber evtl. findest du über diese Funktion im MSDN weitere/passendere Befehle.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 17:10
Zitat von himitsu:
Wenn der MBR verändert werden soll schon.
Nein. Wenn es so wäre, wären MBR Killer kein Problem im Malware Bereich und auch MBR Rootkits wären ein weniger großes Problem. Du kannst problemlos den MBR des Bootlaufwerks lesen und schreiben vom Usermode aus ohne das das Laufwerk abgemeldet werden müsste. Kannst es gerne mal in ner VM testen.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat
WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#8

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 19:50
Also ich mache mir da schon Sorgen...
Ich habe jetzt implementiert, dass wenn das Ziel-Laufwerk NTFS ist, im MBR hingeschrieben wird, dass es FAT32 ($C) ist. Windows scheint das sch***** egal zu sein, selbst nach einem Neustart kann ich das Volume noch ohne Probleme als NTFS Laufwerk benutzen.

Wenn ich jetzt aber Partitionen aus erweiterten lösche und dafür eins in der Partitionstabelle erstelle, dann MUSS ich Windows ja irgendwie mitteilen, dass ich da rumgestrickt habe, damit ein Laufwerksbuchstabe zugewiesen wird und ich dann drauf rumschreiben kann.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#9

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 20:25
ich sagte ja,
- Laufwerk abmelden und beim Anmelden wird der MBR neu eingelesen

bei NTFS hast du daß problem, daß selbst ohne daß es gemountet ist (kein Laufwerksbuchstabe und so)
einige Systemprozesse auf die Partition zugreifen.

und es kann passieren, daß windows einige werte zurückschreibt, wenn es beendet wird, drum wird das Laufwerk wohhl dann auch nach'm Neustart wieder geladen.

und ich weiß nicht wie die Fehlerbehebung in Windows diesbezüglich aussieht, aber nur weil der Marker in der MBR was anderes besagt, geben die Angaben im Partitionsbootrecord immernoch NTFS an.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#10

Re: Partitionstabelle ändern

  Alt 9. Jul 2009, 21:30
Beachte bitte das es auch eine GUID Partitionstabelle gibt. Diese ist nicht kompatibel mit der alten Partitionstabelle. Es wird aber noch eine alte geschrieben als Dummy, welche einfach angibt die gesamte Platte belegt zu haben. (Wikiepedia: GUID Partition Table)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:55 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