WinFuture-Forum.de: Windows 7 Rescue Partition erkennen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Windows 7 Rescue Partition erkennen mittels > fsutil fsinfo ntfsinfo


#1 Mitglied ist offline   Nigg 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.344
  • Beigetreten: 19. Mai 04
  • Reputation: 14
  • Geschlecht:Männlich

geschrieben 07. Dezember 2010 - 12:11

Hallo,

ich versuche mittels "fsutil fsinfo ntfsinfo C:" zu bestimmen ob es sich um eine 100 MB Rescue-Partition handelt die durch Windows 7 angelegt wurde - oder um eine "normale" Partition. Momentan nutze ich es nur um zu bestimmen ob die Partition C oder D existieren. Hintergrund ist das ich ein Imagesystem entwickelt habe das auf WinPE aufsetzt welches via PXE gebooted wird.

Meine Frage ist nun wie ich mittels batch die Größe der Partition (>100M) bestimmen kann. Der Rest wäre dann recht simpel. Hat jemand eine Idee?

Dieser Beitrag wurde von Nigg bearbeitet: 07. Dezember 2010 - 12:12

npm - nginx php mysql

Wenn dir kalt is, geh in eine Ecke, da sind meist 90°
0

Anzeige



#2 Mitglied ist offline   egal8888 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.019
  • Beigetreten: 23. September 10
  • Reputation: 25
  • Geschlecht:Männlich

geschrieben 08. Dezember 2010 - 10:46

Vielleicht hilft Dir KB300415 weiter?
0

#3 Mitglied ist offline   evil.baschdi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.639
  • Beigetreten: 11. Februar 07
  • Reputation: 56
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1, breites #Neuland
  • Interessen:IT, Musik

geschrieben 08. Dezember 2010 - 10:54

Wovon ist das eigentlich abhänig, ob diese Partition angelegt wird?
Hatte weder mit den Betas, dem RC noch jetzt mit der Final diese Partition erstellt bekommen, als ich Windows 7 Ultimate installierte. Auch auf meinem Arbeitsrechner ist diese Partition nicht. Waren übrigens beides Neuinstallationen, bei denen ich vorher die Platten formatiert hatte.
Werden diese Partitionen nur angelegt, wenn man ein Upgrade einer bereits installierten Windowsversion macht?
Eingefügtes Bild

"
Heute code ich, morgen debug ich und übermorgen caste ich die Königin auf int!"
P.S. Ich leiste keinen Support per PN. Wer ein Problem hat, ab damit ins Forum!
Windows 10 - Windows Anleitungen
0

#4 Mitglied ist offline   egal8888 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.019
  • Beigetreten: 23. September 10
  • Reputation: 25
  • Geschlecht:Männlich

geschrieben 08. Dezember 2010 - 11:01

Das ist hier ganz gut erklärt: Das Rätsel der 100 MByte-Partition von Windows 7
0

#5 Mitglied ist offline   Nigg 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.344
  • Beigetreten: 19. Mai 04
  • Reputation: 14
  • Geschlecht:Männlich

geschrieben 08. Dezember 2010 - 12:39

Es gibt überhaupt kein Rätsel. Die Partition wird übrigens nur dann angelegt wenn du vorhandene Partitionen entfernst, bzw. auf einen leeren Bereich installierst.

Mit Diskpart arbeite ich im Verlauf des Scripts bereits, aber damit bekomme ich keinen Ouput den ich weiterverarbeiten kann, daher ja auch fsutil. Liest jemand die Fragestellung? ^^

Dieser Beitrag wurde von Nigg bearbeitet: 08. Dezember 2010 - 12:40

npm - nginx php mysql

Wenn dir kalt is, geh in eine Ecke, da sind meist 90°
0

#6 Mitglied ist offline   egal8888 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.019
  • Beigetreten: 23. September 10
  • Reputation: 25
  • Geschlecht:Männlich

geschrieben 08. Dezember 2010 - 13:07

Beitrag anzeigenZitat (Nigg: 08.12.2010, 12:39)

Es gibt überhaupt kein Rätsel. Die Partition wird übrigens nur dann angelegt wenn du vorhandene Partitionen entfernst, bzw. auf einen leeren Bereich installierst.

Das steht übrigens genau im verlinkten Artikel erklärt. Und "Rätsel" steht nur da, weil der Autor seinen Artikel nunmal so genannt hat.
Jedenfalls ist der Artikel die Antwort auf die Frage von mister-x und über Spitzfindigkeiten wie das Wort "Rätsel" will ich auch garnicht streiten.

Beitrag anzeigenZitat (Nigg: 08.12.2010, 12:39)

Mit Diskpart arbeite ich im Verlauf des Scripts bereits, aber damit bekomme ich keinen Ouput den ich weiterverarbeiten kann, daher ja auch fsutil. Liest jemand die Fragestellung? ^^

Kein Grund gleich pampig zu werden.
Hintergrund, warum ich den KB-Artikel gepostet hab, war eigentlich folgender:
Du kannst mit "select disk=0" und "list partitions" alle Partitionen der ersten HDD auflisten. Die Auflistung enthält sowohl die Größe, als auch das verwendete Dateisystem.
Wenn Du die Ausgabe in eine Datei umleitest und diese mit einem selbstgeschriebenen VBScript, oder TP, oder sonst irgendeiner Programmiersprache analysierst, sollte es ja wohl möglich sein, herauszufinden, ob eine von Windows 7 angelegte 100MB Partition existiert.
0

#7 Mitglied ist offline   Nigg 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.344
  • Beigetreten: 19. Mai 04
  • Reputation: 14
  • Geschlecht:Männlich

geschrieben 08. Dezember 2010 - 14:46

sollte nicht pampig wirken, ich wollte nur vermeiden das das in eine Grundsatzdiskussion ausartet. Ich lese die existierenden Partitionen bereits mit diskpart aus, die Ausgabe enthält allerdings ziemlich viel Overhead und mir steht keine andere Sprache (insbesondere kein VBS) zur Verfügung um das elegant auszuwerten. Denn wenn du das scriptgesteuert aufrufst, hast du die komplette Ausgabe aller Diskpart-Parameter und nicht nur des letzten (weil ja alles in einer Datei mitgegeben wird -> diskpart /s blah.txt).

Dieser Beitrag wurde von Nigg bearbeitet: 08. Dezember 2010 - 14:49

npm - nginx php mysql

Wenn dir kalt is, geh in eine Ecke, da sind meist 90°
0

#8 Mitglied ist offline   egal8888 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.019
  • Beigetreten: 23. September 10
  • Reputation: 25
  • Geschlecht:Männlich

geschrieben 08. Dezember 2010 - 14:59

Bin auch nich so der Held in Batch-Programmierung aber mit folgendem Script wird nur eine Zeile ausgegeben, wenn eine 100MB Systempartition existiert:

@echo off
set diskpart_script_file=dpscr.txt

:create_diskpart_script_file
echo select disk=0 >%diskpart_script_file%
echo list volume >>%diskpart_script_file%

:run_diskpart
diskpart /s %diskpart_script_file%|find "System-rese  NTFS   Partition	100 MB"

:cleanup
del %diskpart_script_file%

:end
pause


Das hab ich jetzt nur mal eben so zusammengehauen.

Dein Problem ist eigentlich, daß Du oben mit FSUTIL versuchst, herauszufinden, ob Laufwerk "C:" eine 100MB Partition ist. Das ist m. E. schon vom Grundsatz her falsch, da dieser Partition kein Laufwerksbuchstabe zugewiesen wird.

Um Dir zu helfen, müßte man mal genauer wissen, warum Du aus Deiner Imaging-Lösung diese Partition ausklammern willst.

Dieser Beitrag wurde von egal8888 bearbeitet: 08. Dezember 2010 - 15:01

0

#9 Mitglied ist offline   Nigg 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.344
  • Beigetreten: 19. Mai 04
  • Reputation: 14
  • Geschlecht:Männlich

geschrieben 08. Dezember 2010 - 18:04

Hm, das sieht schon recht interessant aus und ich bin auch gerade etwas überrascht das das so mit dem find funktioniert. Ist schonmal deutlich weniger Output. Die 100 MB Rescue Partition hat im Normalfall keinen Laufwerksbuchstaben, das ist richtig, unter WinPE hat sie das aber. Sie heißt immer C. Daher habe ich ein Problem wenn ich statt eines XP-Rechners einen Rechner mit 7 imagen will. Ich möchte sie nicht ausklammern, sondern erkennen. Quasi isrescue=1

Dieser Beitrag wurde von Nigg bearbeitet: 08. Dezember 2010 - 18:08

npm - nginx php mysql

Wenn dir kalt is, geh in eine Ecke, da sind meist 90°
0

#10 Mitglied ist offline   egal8888 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.019
  • Beigetreten: 23. September 10
  • Reputation: 25
  • Geschlecht:Männlich

geschrieben 09. Dezember 2010 - 10:46

O.K., da sollte das Deiner Aufgabenbeschreibung schon recht nah kommen:

@echo off
set diskpart_script_file=dpscr.txt
set isrescue=0
set found=false
set driveletter=C

rem create diskpart script file
echo select disk=0 >%diskpart_script_file%
echo list volume >>%diskpart_script_file%

rem try to find 100 MB Systempartition
for /F "tokens=*" %%D in ('diskpart /s %diskpart_script_file% ^|find "System-rese  NTFS   Partition	100 MB"') do (
	call :test "%%D"
)
goto :cleanup

:test
if %found%==false (
	set tempStr=%1
	set volStr=%tempStr:~14,1%
	if /i "%volStr%"=="%driveletter%" (
		set isrescue=1
		set found=true
		echo %volStr%
	)
)
goto :exit

:cleanup
del %diskpart_script_file%
set diskpart_script_file=
set driveletter=
set found=
set tempStr=
set volStr=

:exit


Zur Erklärung:
in der Variablen "driveletter" wird der Laufwerksbuchstabe gespeichert, der auf die 100MB Systempartition überprüft werden soll.
Wird eine Systempartition gefunden und trägt diese auch genau diesen Laufwerksbuchstaben, dann wird die Variable "isrescue" auf "1" gesetzt, ansonsten bleibt sie auf "0"
0

#11 Mitglied ist offline   Nigg 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.344
  • Beigetreten: 19. Mai 04
  • Reputation: 14
  • Geschlecht:Männlich

geschrieben 13. Dezember 2010 - 10:51

das sieht sehr sehr gut aus ... und tut jetzt wunderbar seinen dienst! ich danke dir!
npm - nginx php mysql

Wenn dir kalt is, geh in eine Ecke, da sind meist 90°
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0