Přiřazení čísel diskům

Diskuze výhradně o operačním systému Windows 7

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Petr_S 7. 8. 2012 13:59

Mám trochu zmatek v tom, jak Winodows 7 číslují disky, není to někde popsané?

DISKPART mi vypíše:

Kód: Vybrat vše
DISKPART> list disk

  Disk ###  Stav           Velikost Volné    Dyn  Gpt
  --------  -------------  -------- -------  ---  ---
  Disk 0    Online          149 GB      0 B
  Disk 1    Online          149 GB      0 B
  Disk 2    Online          111 GB      0 B
  Disk 3    Online         1863 GB      0 B
  Disk 4    Online         1862 GB      0 B
  Disk 5    Žádné médium       0 B      0 B

DISKPART> list volume

  Svazek ###  Ltr  Jmenovka     Fs     Typ         Velikost Stav       Info
  ----------  ---  -----------  -----  ----------  -------- ---------  --------
  Svazek 0     K                       DVD-ROM         0 B  Žádné méd
  Svazek 1         RECOVERY     NTFS   Oddíl        750 MB  V pořádku
  Svazek 2     F   OS           NTFS   Oddíl        148 GB  V pořádku
  Svazek 3     D   WD1600HLFS   NTFS   Oddíl        149 GB  V pořádku
  Svazek 4     C   I320-120     NTFS   Oddíl        111 GB  V pořádku  Systém
  Svazek 5     E   MBS          NTFS   Oddíl       1863 GB  V pořádku
  Svazek 6     G   My Passport  NTFS   Oddíl       1862 GB  V pořádku
  Svazek 7     J                       Vyměnitelný     0 B  Žádné médium

Jenomže prohlížeč událostí používá v hlášení chyb:
Kód: Vybrat vše
Ovladač zjistil chybu řadiče na \Device\Harddisk4\DR4.
Kód: Vybrat vše
Process 1136 (\Device\HarddiskVolume5\Windows\System32\svchost.exe)

V SYSTEMINFO vidím zase:
Kód: Vybrat vše
Spouštěcí zařízení:                  \Device\HarddiskVolume6

Nějak mi ta čísla nesedí. Ve Správci disků je totiž jako spouštěcí označen svazek 4.

Takže vlastně nevím, co je co, například ten Harddisk4\DR4.
Petr_S
Pokročilý

Odeslat příspěvekod Milanr1 7. 8. 2012 14:21

Číslování určuje BIOS, resp. diskový řadič.
Zde je systémový disk zapojen až na 3. pozici řadiče (Disk 2) = čuňárna! :-(
Systémový disk se zapojuje vždy jako 1. SATA (zde SATA-0, zřejmě MB Gigabyte).
Tak nesmyslné zapojení disků bys IMHO měl reklamovat u výrobce PC!
Osobně bych si od takového neumětela nekoupil ani zápalky. :-/
Petr_S píše: Takže vlastně nevím, co je co, například ten Harddisk4\DR4.

=
Petr_S píše: Disk 2 Online 111 GB 0 B

Takže stojíš před rychle odcházejícím SSD.
Milan
Milanr1
Pokročilý
Uživatelský avatar

Odeslat příspěvekod MiliNess 7. 8. 2012 14:37

\Device\Harddisk4\DR4 je objekt zařízení 4. fyzického disku, kdežto
\Device\HarddiskVolume6 je objekt zařízení 6. svazku.
To jsou jablka a hrušky.
Ovladač třídy Disk (disk.sys) při výčtu přítomných fyzických disků vytváří objekty zařízení ve tvaru \Device\HarddiskX\DRX (X je číslo fyzického disku). Číslování fyzických disků je tuším závislé na tom, jak si to přebere BIOS základní desky, ale možná že existuje nějaká zákonitost.
Harddisk0\DR0 by měl být systémový disk, už jsem se ale setkal s případem, kdy to neplatilo.
Pak je u každého fyzického disku proveden výčet oddílů a vytvořeny objekty zařízení typu
\Device\HarddiskX\PartitionX. Správce svazků pak vytvoří objekty zařízení svazku pojmenované
\Device\HarddiskVolumeX. Jak to čísluje správce svazků nevím. Je to dost komplikované, protože můžou existovat víceoddílové svazky, rozkládající se na několika discích.

Byla-li tedy zjištěna chyba řadiče na ]\Device\Harddisk4\DR4, jedná se o řadič 4. pevného disku.
Objekt \Device\HarddiskVolume6 se vztahuje k šestému svazku v systému.
A ano, čtvrtý svazek je spouštěcí.
Podívej se třeba do WinObj na adresář Device
Hardwarová nezávislost znamená, že to neběží na žádném počítači.
MiliNess
Pokročilý

Odeslat příspěvekod Petr_S 7. 8. 2012 17:05

Díky za ten tip s Winobj, už je mi to jasnější.

Takže
Harddisk0\DR0 obsahuje HarddiskVolume2, HarddiskVolume3, HarddiskVolume4
Harddisk1\DR1 obsahuje HarddiskVolume5
Harddisk2\DR2 obsahuje HarddiskVolume6 (a ano, je to spouštěcí a systémový disk)
Harddisk3\DR3 obsahuje HarddiskVolume1
Harddisk4\DR4 obsahuje HarddiskVolume7 (to je ten, co je ta událost v logu, bude to disk My Passport připojený přes USB 3.0)
Harddisk5\DR5 obsahuje HarddiskVolume8

Akorát tedy příkaz diskpart list volume vypisuje úplně jiná čísla svazků.

HarddiskVolume1 = svazek 5
HarddiskVolume2 - v seznamu svazků vůbec není
HarddiskVolume3 = svazek 1
HarddiskVolume4 = svazek 2
HarddiskVolume5 = svazek 3
HarddiskVolume6 = svazek 4
HarddiskVolume7 = svazek 6
HarddiskVolume8 = svazek 7

(Připojení systémového disku na 1. kanál SATA řadiče je IMHO jen pověra)
Petr_S
Pokročilý

Odeslat příspěvekod MiliNess 7. 8. 2012 20:22

Ano, Diskpart si pravděpodobně čísluje svazky po svém. To číslování je tam jen pro to, aby bylo možno vybrat patřičný svazek, se kterým chceš pracovat. Souhlasit s číslováním objektů svazků nemusí, postrádalo by to smysl. Pak je tedy 4. svazek v DiskPartu HarddiskVolume6.

Připojení systémového disku na 1. kanál SATA řadiče je IMHO jen pověra

Ani ne pověra, jako spíše pozůstatek z dob IDE a primitivních BIOSů, kdy se systém nezavedl z jiného disku, než toho připojeného na prvním kanálu diskového host adaptéru.


Co se týká správy svazků, je to skvěle popsáno v knize Windows Internals.
Hardwarová nezávislost znamená, že to neběží na žádném počítači.
MiliNess
Pokročilý

Odeslat příspěvekod Petr_S 8. 8. 2012 00:29

Windows Internals jsem četl, ale už je to let...
Ano, u IDE disků to byla občas duchařina, co jako master, co jako slave, kam HDD, kam CD, jaký výrobce s kterým...

Ještě jednou díky.
Petr_S
Pokročilý

Odeslat příspěvekod oooooooooo 8. 8. 2012 08:56

A tolik se MS snažil snažil aby těm kdo chtějií vědět různy figle to ulehčil
takže napřiklad tady maš jeden přehoz
Get-EventLog -LogName System -InstanceId 3221487627 -ea 0 | ForEach-Object { $_.ReplacementStrings[0] } | Group-Object -NoElement | Sort-Object Count -Descending
Jiny přiklad jineho typu
$diskdrives = Get-WmiObject win32_diskdrive

foreach($diskdrive in $diskdrives){
Write-Host "---------------------------------------------------------"
Write-Host "Disk:" $diskdrive.Index "`n SCSI:" $diskdrive.SCSIBUS "`n SCSITargetID:" $diskdrive.SCSITargetID "`n SCSILU:SCSILogicalUnit"
foreach($diskpartition in $diskdrive.getrelated("win32_diskpartition")){
Write-Host "Disk Partition:" $diskpartition.NAME
FOREACH($LOGICALDRIVE IN $diskpartition.getrelated("win32_logicaldisk")){
write-host "Logical drive:" $LOGICALDRIVE.name
}
}

}
A je přimo přikaz kterej vypisuje rovnou uplně všechno daleko daleko podrobněj než diskpart detailed,bere to všechno jednim vrzem,od mountpointů,po pismene,přes id a různý typy hodnot který ukazuje.
http://seven7.blog.zive.cz/
Spuštění Windows předchází pád.
oooooooooo
Pokročilý
Uživatelský avatar

Odeslat příspěvekod Petr_S 8. 8. 2012 09:43

Díky, no budu to muset někdy nastudovat, zatím ani nevím, jak se takový příkaz dá spustit.
Petr_S
Pokročilý

Odeslat příspěvekod oooooooooo 8. 8. 2012 10:47

Obrázek
žadna magie a takto jde vypisovat vše od geometrie disků,vypisů chyb - kde a kolik,neboli spoluprace se smart,defakto vypisy ala crystal disk nejsou problem atd atd.Vzhledem k tomu že pro systemy kde neni v default je to otazka aktualizace pořad nerozumím tomu proč lidi tento silnej nastroj - z těch srozumitelnejch suverenně a o x parníků nejsilnějši nepouživají.
Hotovejch blbinek daleko sofistikovanějšich než to co je v odkazu dole najde člověk za pět minut mraky
http://blogs.msdn.com/b/san/archive/201 ... vents.aspx
A během jednoho dne si sklada svoje.
http://seven7.blog.zive.cz/
Spuštění Windows předchází pád.
oooooooooo
Pokročilý
Uživatelský avatar

Odeslat příspěvekod Petr_S 8. 8. 2012 12:58

Dík.
Petr_S
Pokročilý


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 6 návštevníků