Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zählweise unter MS Windows bei Festplatten

Frage Hardware

Mitglied: cardisch

cardisch (Level 3) - Jetzt verbinden

27.04.2010 um 10:42 Uhr, 4954 Aufrufe, 12 Kommentare

Wie erkenne ich welche Platte (habe aktuell vier) defekt wäre/ist

Hi @all..

Eine meiner vier Fesplatten (alle SATA) hat sich gestern verabschiedet, nicht schlimm, uralte 160er, die quasi nur als Medium gedient hat, wenn ich Daten temporär zwischenspeichern musste.
Als solche benutzt ich die halt nicht regelmäßig, gestern ist die mir "nur" beim kopieren abgesemmelt. Fehler:

Fehlerhafter Block bei Gerät \Device\Harddisk0\D. (Sofern ich das noch richtig in Erinnerung habe).

Da diese Platte schon zwei drei mal beim booten nicht erkannt wurde oder sich auch schon ein zwei mal unter Windows selbst verabschiedet hat, war klar, dass es "nur" die" 160er getroffen haben kann.
Ich brauche jetzt keine Hilfe zu Datensicherung/Rekonstruktion, o.ä. nur folgendes würde ich gerne wissen:

WIE zählt Windows diese Festplatte intern auf oder wie könnte ich ohne expliziten Diagnoselauf (bei vier Festplatten mit gesamtkap. von 2,8 TB dauert mir das zu lange) nur Anhand der Meldung sagen: Die ist defekt ...

Kann ich anhand des Gerätemanagers oder sonstwie erkennen, welche Windows als defekt deklariert hat !?

Danke

Carsten
Mitglied: Snowman25
27.04.2010 um 10:46 Uhr
Hallo Carsten,

soweit ich das richtig in Erinerung habe, sieht das ugefähr so aus:

  1. Harddisk0
    1. Partition0
    2. Partition1
    3. Partition2
  2. Harddisk1
    1. VolumeC
    2. VolumeD
  3. Harddisk2
  4. Harddisk3

Gruß
Snow
Bitte warten ..
Mitglied: SamvanRatt
27.04.2010 um 10:54 Uhr
Hi
Windows nutzt nachdem der HAL Initiert wurde die Treiberreihenfolge wie sie die Registry vorgibt und beginnt dann jedes Blockdev Gerät zu nummerieren (0,1,2,...) danach Primäre Partitionen suchen und Buchstaben zuweisen (sofern diese unter Mounted Devices nicht nach VolID schon fest vergeben wurden) und danach Logische einzubinden.
Innerhalb der Treiber wird normal auch bei 0 begonnen (SATA oder SCSI mit LUNs) und dann vergeben. Die Darstellung in der Datenträgerverwaltung und die Eventlogs sind aber immer gleich.
Gruß
Sam
Bitte warten ..
Mitglied: cardisch
27.04.2010 um 11:06 Uhr
@snow..
So "kenne" oder besser vermute ich das ja auch...
Aber die Platte, die abgesemmelt ist hat den LW-Buchstaben E gehabt und beinhaltet eine einezelne primäre Partition.
Sie könnte aber am SATA COntroller 1 gehangen haben (und wenn MSI bei 1 anfangen zu zählen würde das die 0 unter Windows erklären (ich habe mir damals die Kanäle, den LW-Buchstaben und die Laufwerksgröße auf einen Aufkleber geschreiben und auf die Festplatte geklebt, genau für soclhe Fälle, damit ich sofort weiss, welche Platte ich gerade ausbauen will bei vier Platten ist es eng in einem MidiTower).
@SamvanRatt.
Und wo in der Registry kann man das genau sehen und wie verhalten sich externe Datenträger in so einem Fall ?!?

Danke

Carsten
Bitte warten ..
Mitglied: LotPings
27.04.2010 um 14:55 Uhr
Hallo Carsten,

leider schreibst du nicht welche Windows-Version du nutzt.

Um die Zuordnung der Laufwerksbustaben zu den Platten aufzulisten gibt es ein schönes vbscript:
01.
strComputer = "." 
02.
Set oWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
03.
Set cDrives = oWMI.ExecQuery("SELECT * FROM Win32_DiskDrive") 
04.
  
05.
For Each oDrive In cDrives 
06.
  DrvLetters="" 
07.
  strDeviceID = Replace(oDrive.DeviceID, "\", "\\") 
08.
  Set cParts = oWMI.ExecQuery ("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & strDeviceID & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition") 
09.
  For Each oPart In cParts 
10.
    Set cLogDisks = oWMI.ExecQuery("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & oPart.DeviceID & """} WHERE AssocClass = " & "Win32_LogicalDiskToPartition") 
11.
    For Each oLogDisk In cLogDisks 
12.
      DrvLetters = DrvLetters & oLogDisk.DeviceID 
13.
    Next 
14.
  Next 
15.
  wscript.echo oDrive.Index & ":" & Left(oDrive.Caption & Space(25), 25) & " : " & DrvLetters 
16.
Next
Das erzeugt bei mir diese Ausgabe:
14:43:07 D:\Test\vbs____________________ 
>get-Drive.vbs 
0:Hitachi HDS722020ALA330 A : C:D:E:F: 
1:SAMSUNG HD753LJ ATA Devic : I:J:G: 
14:50:58 D:\Test\vbs____________________
Gruß
LotPings

PS: Ist nicht dokumentiert - Ich versuch ja selber noch es zu verstehen
Bitte warten ..
Mitglied: cardisch
27.04.2010 um 15:34 Uhr
Uups,

es handelt sich um Win XP pro, wie gesagt:
4*HDD (2*1TB Samsung, jeweils partitioniert (256/Rest und 768/Rest), 1*WD 500GB (50%/50%) und besagter 160er Seagate, in einem Stück partitioniert.
Da der PC bei mir zuhause rumsteht und ich gerade @work bin komme ich nicht an weitere Daten ran, dürfte aber eh unerheblich sein, oder ?!
"Leider" wirft das Script mit nur aus, dass ich eine HDD mit 2 Partitionen an C und D habe (keine Modellbezeichnung) und eine E-Platte (per USB, wird aber gerade nur mit einem Checkdisk geprüft, fliegt danach raus), die dafür mit Typbezeichnung...
Ich werfe das morgen (heute schaff ich das eher nicht mehr) mal an und gebe Donnerstag Bescheid.

Für das Script bedanke im mich aber schon einmal..

Carsten
Bitte warten ..
Mitglied: LotPings
27.04.2010 um 15:57 Uhr
Tja mein Beispiel mit Typenbez
waren eine 2TB Hitachi und ein 750GB Samsung.
Aber wenn das Laufwerk keine Infos herausgibt....

Zum Sammeln von weiterer Informationen zu HDs/Partitionen/LogDisks gibt es auf Basis der Scriptomatik von Microsoft VBScripte die ich nur etwas aufgehübscht habe,
den bei mir ellenlangen Beispielausdruck schenke ich uns.

Gruß
LotPings

01.
'EnumDiskPartLogDisk.vbs '------------------------------------------- 
02.
'for Windows NT 4.0  WMI CORE 1.5 needed 
03.
'http://www.microsoft.com/downloads/release.asp?ReleaseID=18491 
04.
x=17 
05.
On Error Resume Next 
06.
strComputer = "." 
07.
Set objShell = CreateObject("Shell.Application")  
08.
Set objWMIService = _ 
09.
  GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
10.
Set colItems = _ 
11.
  objWMIService.ExecQuery("Select * from Win32_DiskDrive",,48) 
12.
Wscript.Echo "==Win32_DiskDrive==" 
13.
For Each objItem in colItems 
14.
  Wscript.Echo LJust ("SystemName:",X) & objItem.SystemName & "<<" & "<<" 
15.
  Wscript.Echo LJust ("Caption:",X) & objItem.Caption & "<<" 
16.
  Wscript.Echo LJust ("Compr.Method:",X) & objItem.CompressionMethod & "<<" 
17.
  Wscript.Echo LJust ("Description:",X) & objItem.Description & "<<" 
18.
  Wscript.Echo LJust ("DeviceID:",X) & objItem.DeviceID & "<<" 
19.
  Wscript.Echo LJust ("Index:",X) & objItem.Index & "<<" 
20.
  Wscript.Echo LJust ("InterfaceType:",X) & objItem.InterfaceType & "<<" 
21.
  Wscript.Echo LJust ("Manufacturer:",X) & objItem.Manufacturer & "<<" 
22.
  Wscript.Echo LJust ("MediaLoaded:",X) & objItem.MediaLoaded & "<<" 
23.
  Wscript.Echo LJust ("MediaType:",X) & objItem.MediaType & "<<" 
24.
  Wscript.Echo LJust ("Model:",X) & objItem.Model & "<<" 
25.
  Wscript.Echo LJust ("Name:",X) & objItem.Name & "<<" 
26.
  Wscript.Echo LJust ("Partitions:",X) & objItem.Partitions & "<<" 
27.
  Wscript.Echo LJust ("PNPDeviceID:",X) & objItem.PNPDeviceID & "<<" 
28.
  Wscript.Echo LJust ("SCSIBus:",X) & objItem.SCSIBus & "<<" 
29.
  Wscript.Echo LJust ("SCSILogicalUnit:",X) & objItem.SCSILogicalUnit & "<<" 
30.
  Wscript.Echo LJust ("SCSIPort:",X) & objItem.SCSIPort & "<<" 
31.
  Wscript.Echo LJust ("SCSITargetId:",X) & objItem.SCSITargetId & "<<" 
32.
  Wscript.Echo LJust ("Signature:",X) & objItem.Signature & "<<" 
33.
  Wscript.Echo LJust ("Status:",X) & objItem.Status & "<<" 
34.
  Wscript.Echo "----------------" 
35.
  Wscript.Echo LJust ("TotalCylinders:",X) & objItem.TotalCylinders & "<<" 
36.
  Wscript.Echo LJust ("TotalHeads:",X) & objItem.TotalHeads & "<<" 
37.
  Wscript.Echo LJust ("TracksPerCyl.:",X) & objItem.TracksPerCylinder & "<<" 
38.
  Wscript.Echo LJust ("SectorsPerTrack:",X) & objItem.SectorsPerTrack & "<<" 
39.
  Wscript.Echo LJust ("TotalTracks:",X) & objItem.TotalTracks & "<<" 
40.
  Wscript.Echo LJust ("TotalSectors:",X) & objItem.TotalSectors & "<<" 
41.
  Wscript.Echo LJust ("BytesPerSector:",X) & objItem.BytesPerSector & "<<" 
42.
  Wscript.Echo LJust ("Size          :",X) & objItem.Size & "<<" 
43.
  Wscript.Echo "============================================" 
44.
Next 
45.
 
46.
Set colItems = _ 
47.
  objWMIService.ExecQuery("Select * from Win32_DiskPartition",,48) 
48.
Wscript.Echo "==Win32_DiskPartition==" 
49.
For Each objItem in colItems 
50.
  Wscript.Echo LJust ("SystemName:",X) & objItem.SystemName & "<<" 
51.
  Wscript.Echo LJust ("Bootable:",X) & objItem.Bootable & "<<" 
52.
  Wscript.Echo LJust ("BootPartition:",X) & objItem.BootPartition & "<<" 
53.
  Wscript.Echo LJust ("Caption:",X) & objItem.Caption & "<<" 
54.
  Wscript.Echo LJust ("Description:",X) & objItem.Description & "<<" 
55.
  Wscript.Echo LJust ("DeviceID:",X) & objItem.DeviceID & "<<" 
56.
  Wscript.Echo LJust ("DiskIndex:",X) & objItem.DiskIndex & "<<" 
57.
  Wscript.Echo LJust ("Index:",X) & objItem.Index & "<<" 
58.
  Wscript.Echo LJust ("Name:",X) & objItem.Name & "<<" 
59.
  Wscript.Echo LJust ("PrimaryPartit.:",X) & objItem.PrimaryPartition & "<<" 
60.
  Wscript.Echo LJust ("Type:",X) & objItem.Type & "<<" 
61.
  Wscript.Echo "----------------" 
62.
  Wscript.Echo LJust ("BlockSize:",X) & objItem.BlockSize & "<<" 
63.
  Wscript.Echo LJust ("NumberOfBlocks:",X) & objItem.NumberOfBlocks & "<<" 
64.
  Wscript.Echo LJust ("Size:",X) & objItem.Size & " Bytes " & _  
65.
  (objItem.Size / objItem.BlockSize) & " Blocks" 
66.
  Wscript.Echo LJust ("StartingOffset:",X) & objItem.StartingOffset & _  
67.
  " Bytes " & (objItem.StartingOffset / objItem.BlockSize) & " Blocks" 
68.
  Wscript.Echo "============================================" 
69.
Next 
70.
 
71.
Set colItems = _ 
72.
  objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48) 
73.
Wscript.Echo "==Win32_LogicalDisk==" 
74.
For Each objItem in colItems 
75.
  Wscript.Echo LJust ("SystemName:",X) & objItem.SystemName & "<<" 
76.
  Wscript.Echo LJust ("Caption:",X) & objItem.Caption & "<<" 
77.
  Wscript.Echo LJust ("VolumeName:",X) & objItem.VolumeName & "<<" 
78.
  Wscript.Echo LJust ("Compressed:",X) & objItem.Compressed & "<<" 
79.
  Wscript.Echo LJust ("Description:",X) & objItem.Description & "<<" 
80.
  Wscript.Echo LJust ("DeviceID:",X) & objItem.DeviceID & "<<" 
81.
  Wscript.Echo LJust ("DriveType:",X) & objItem.DriveType & "<<" 
82.
  Wscript.Echo LJust ("FileSystem:",X) & objItem.FileSystem & "<<" 
83.
  Wscript.Echo LJust ("MediaType:",X) & objItem.MediaType & "<<" 
84.
  Wscript.Echo LJust ("Name:",X) & objItem.Name & "<<" 
85.
  Wscript.Echo LJust ("Size:",X) & objItem.Size & "<<" 
86.
  Wscript.Echo LJust ("FreeSpace:",X) & objItem.FreeSpace & "<<" 
87.
  Wscript.Echo LJust ("VolumeSerNum:",X) & objItem.VolumeSerialNumber & "<<" 
88.
  Wscript.Echo LJust ("DrvSelfName:",X) & objShell.NameSpace(objItem.DeviceID).Self.Name & "<<" 
89.
   
90.
  Wscript.Echo "============================================" 
91.
Next 
92.
 
93.
Function LJust(Wert, Laenge) 
94.
  If len (Wert) < Laenge then 
95.
    LJust=Left(Wert & Space(Laenge), Laenge) 
96.
  Else 
97.
    LJust=Wert 
98.
   End If 
99.
end Function  
100.
 
101.
'EnumDiskPartLogDisk.vbs '-------------------------------------------
Bitte warten ..
Mitglied: SamvanRatt
27.04.2010 um 17:48 Uhr
Such unter CriticalDeviceDatabase; dort wird der Reihe nach (PCI Order von niedrigstem Slot bis höchsten Slot) nachgesehen und vermerkt. Externe kommen halt drauf an wie sie angeschlossen sind; SCSI, SAS, eSATA erscheinen kurzerhand wie interne; USB wird mit dem USB Treiber (sehr spät erst, da sind nahezu alle Dienste bereits dran) initiiert und dann die daranhängenden Geräte. Da die Reihenfolge immer bei Null beginnt kann es auch sein das dein Bootgerät HD5 ist während 0 ein SAS Kontroller, 3 ein IDE Gerät z.B. ist. Das ist nicht statisch (vergleichbar mit den Linux SG und SD geräten)
Gruß
Sam
Bitte warten ..
Mitglied: cardisch
30.04.2010 um 08:17 Uhr
@Lordpings

Hat super funktioniert, danke für die Scripte

@Snowman

Ich würde auch noch gerne deine Zählweise verstehen..
Korrigier mich, wenn ich falsch liege.
\harddisk0\A =1. Partition auf der 0. Platte (Kann ich daraus folgern, ob das eine aktive, primäre, oder sonstwie geartete Platte ist ?!)
\harddisk1\D = 2. Partition auf der 1. Platte...

Werden die 8 MB "Partitionen" bei den XP-PC´s mitgezählt ?!?

Danke

Carsten
Bitte warten ..
Mitglied: Snowman25
30.04.2010 um 10:21 Uhr
Zitat von cardisch:
\harddisk0\A =1. Partition auf der 0. Platte (Kann ich daraus folgern, ob das eine aktive, primäre, oder sonstwie geartete
Platte ist ?!)
Nein. Das kannst du so nicht.

\harddisk1\D = 2. Partition auf der 1. Platte...
Eher Partition mit Buchstaben D auf der 1. Platte (bzw. eig. 2. Platte)

Werden die 8 MB "Partitionen" bei den XP-PC´s mitgezählt ?!?
Sind die nicht unzugeordneter Speicherplatz? Insofern also nein
Laut Windows werden dort zusätzliche Partitionsinformationen bei Multipartitionsfestplatten gespeichert. Allerdings war es bis jetzt immer egal, ob ich die 8 MB später per Partition Magic angefügt habe oder nicht.

Gruß
Snow
Bitte warten ..
Mitglied: cardisch
30.04.2010 um 12:54 Uhr
@snow
Aber warum hat mir die Ereignisanzeige definitv harddisk0\d als korrupt markiert..
Im nachhinein kann ich zwar sagen, dass es die 0.Platte war (laut dem Script), aber es ist eine einzelne, vermutlich primäre Partition drauf gewesen, LW-Buchstabe E:\
Es kann natürlich sein, dass de Platte irgendwann mal den Buchstaben D:\ hatte und ich den in der Datenträgerverwaltung "korrigiert" habe, da das System aber ca 3,5 Jahre alt ist, kann ich das nicht 100%ig behaupten.
Kann das Problem also daher rühren ?!?

Grúß

Carsten
Bitte warten ..
Mitglied: Snowman25
30.04.2010 um 13:04 Uhr
Naja, es ist ja kein wirkliches Problem.
Der Buchstabe in der Datenträgerverwaltung muss mit dem auf der Platte nicht übereinstimmen.
Bitte warten ..
Mitglied: cardisch
05.05.2010 um 15:54 Uhr
Hi@all
Auch wenn ich gerne ein paar mehr Detail bekommen hätte (aber von Bill, nicht von euch), so gebe ich mich mit allen Antworten (und vor allem den Scripten) mehr als zufrieden....
Im Prinzip ist ja auch egal WELCHE Partition den Fehler anzeigt, wenn es so weit ist, tausche ich die ganze Platte und nicht nnur die defekte Partition aus )

Danke an alle

Carsten
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
gelöst Windows Server 2008 R2 - zus. Sicherung auf USB 3.0 Festplatten (5)

Frage von mike7050 zum Thema Windows Server ...

Datenbanken
gelöst Empfehlung für Festplatten-Konfiguration bei MS SQL Server (3)

Frage von BeSt zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...