Tiedostojärjestelmän ja säilöpinon muutokset, jotka estävät levyn ja aseman suoran käytön Windows Vistassa ja Windows Server 2008:ssa

Artikkeleiden käännökset Artikkeleiden käännökset
Artikkelin tunnus: 942448 - Näytä tuotteet, joita tämä artikkeli koskee.
Laajenna kaikki | Kutista kaikki

Tällä sivulla

JOHDANTO

Tässä artikkelissa on kuvaus muutoksista, joita tehtiin tiedostojärjestelmään ja säilöpinoon, jotta levyn ja aseman suora käyttö estetään Windows Server 2008:ssa ja Windows Vistassa.

Enemmän tietoa

Tausta

Kun ohjelma avaa tiedostokahvan yksinoikeudella, ohjelma olettaa, ettei tiedoston sisältöä voi enää muokata. Tiedoston sisältöä voidaan kuitenkin muokata, jos seuraavat ehdot toteutuvat:
  • Toinen ohjelma avaa tiedostokahvan tiedoston sisältävän asemaan tai levyyn.
  • Ohjelma tekee muutoksia sijaintiin, jossa tiedosto on.
Tiedostot saattavat vioittua tai järjestelmä muuttua epävakaaksi, kun ohjelma kirjoittaa suoraan asemaan, jonka tiedostojärjestelmä on yhdistänyt hankkimatta siihen ensin käyttöä yksinoikeudella. Tämä johtuu siitä, että asemaan kirjoitus saattaa olla päällekkäistä tiedostojärjestelmän kirjoitusten kanssa. Kun näin tapahtuu, aseman sisältö saattaa jäädä epäyhtenäiseen tilaan.

Jotta tämän ongelman vaikutus olisi aiempaa pienempi, tiedostojärjestelmään ja säilöpinoon tehtiin muutoksia, jotka estävät levyn tai aseman suoran käytön.

Tiedostojärjestelmään ja säilöpinoon tehdyn muutoksen tiedot

  • Tiedostojärjestelmä voi kirjoittaa asemakahvaan vain, jos seuraavat ehdot toteutuvat:
    • Ehto 1: Sektorit, joihin kirjoitetaan, ovat käynnistyssektoreita.

      Huomautus Tämä ehto on siksi, jotta voidaan tukea järjestelmäaseman käynnistyskoodia päivittäviä ohjelmia, kuten virustentorjuntaohjelmia, asennusohjelmia ja muita ohjelmia. Järjestelmäasemaa ei voi lukita.
    • Ehto 2: Kirjoitettavat sektorit sijaitsevat tiedostojärjestelmätilan ulkopuolella.

      Huomautus Tiedostojärjestelmätilan lopun ja aseman tilan lopun välillä oleva alue ei ole tiedostojärjestelmän hallinnassa. Tämän vuoksi aseman lukitsemisen edellyttämiselle ei ole tarvetta kirjoitettaessa asemaan.
    • Ehto 3: Asema on lukittu implisiittisesti pyytämällä kirjoituskäyttö yksinoikeudella.
    • Ehto 4: Asema on lukittu eksplisiittisesti tekemällä lukituspyyntö tai yhdistämisen poistamispyyntö.
    • Ehto 5: Kirjoituspyynnöllä SL_FORCE_DIRECT_WRITE-lippu, joka ilmaisee, että ehto 2 on ohitettava.

      Huomautus On olemassa tiedostojärjestelmäsuodattimia, jotka kirjoittavat aseman vapaaseen tilaan lukitsematta asemaa ensin. Jos tiedostojärjestelmäsuodattimien on tehtävä tämä, ne voivat määrittää kirjoituspyyntöön lipun, joka ilmoittaa tiedostojärjestelmälle, että kirjoitus tulee sallia. Tämä lippu voidaan määrittää vain ydintilan sisältä.
  • Tiedostojärjestelmään ja säilöpinoon tehdyillä muutoksilla ei ole vaikutusta, jos asemaa ei ole yhdistetty tai jos asemassa ei ole tiedostojärjestelmää.
  • UDFS- ja FASTFAT-tiedostojärjestelmät rajoittavat tiedostojärjestelmään ja säilöpinoon tehtyjä muutoksia. Nämä muutokset on rajoitettu levytyypin tietovälineisiin.

    Huomautus Useimmat CD-levyjen tallennusohjelmat kirjoittavat suoraan asemaan lukitsematta sitä ensin. Jotkin CD-levyjen tallennusohjelmat jopa ohittavat tiedostojärjestelmäkerroksen. Näissä tapauksissa kyseiset ohjelmat kirjoittavat suoraan säilökerrokseen. Koska sivutustiedostoa voidaan isännöidä vain levyasemissa, tiedostojärjestelmiin ja säilöpinoon tehtyjä muutoksia ei ole syytä ottaa käyttöön optisille asemille.
  • Tallennustilaohjelmat voivat kirjoittaa levykahvaan, jos seuraavat ehdot toteutuvat:
    • Ehto 1: Kirjoitettavat sektorit eivät ole asemassa.

      Huomautus Ohjelmat käyttävät metatietojen tallentamiseen asemien ulkopuolella olevia sektoreita. Myös osiotaulukot sijaitsevat sektoreissa, jotka ovat asemien ulkopuolella. Koska mikään tiedostojärjestelmä ei huolehdi kyseisten sektoreiden hallinnasta, ei ole mitään syytä estää näiden sektoreiden käyttöä.
    • Ehto 2: Kirjoitettavat sektorit sijaitsevat yhdistetyssä asemassa, joka on lukittu eksplisiittisesti.
    • Ehto 3: Kirjoitettavat sektorit sijaitsevat asemassa, jota ei ole yhdistetty tai jolla ei ole tiedostojärjestelmää.
  • Tiedostojärjestelmään ja säilöpinoon tehdyt muutokset koskevat myös aseman pariteettilohkoja.
  • Tiedostojärjestelmään ja säilöpinoon tehdyt muutokset tehdyt muutokset koskevat 32- ja 64-bittisiä järjestelmiä.
Useiden WriteFile-API-liittymien lisäksi on laitteiden IO-ohjauspyyntöjä, joiden avulla voidaan antaa asemalle tai levylle kirjoittamisen komentoja. Tiedostojärjestelmään ja säilöpinoon tehdyt muutokset koskevat myös laitteiden IO-ohjauspyyntöjä. Laitteiden IO-ohjauspyyntöihin kuuluu seuraavia komentoja:
  • IOCTL_DISK_COPY_DATA
  • IOCTL_SCSI_PASS_THROUGH
  • IOCTL_SCSI_PASS_THROUGH_DIRECT
  • SCSIOP_WRITE6
  • SCSIOP_WRITE
  • SCSIOP_WRITE_VERIFY
  • SCSIOP_WRITE_SAME
  • SCSIOP_WRITE_LONG
  • SCSIOP_XDWRITE
  • SCSIOP_XPWRITE
  • SCSIOP_XDWRITE_READ
  • SCSIOP_WRITE12
  • SCSIOP_WRITE_VERIFY12
  • SCSIOP_WRITE16
  • SCSIOP_WRITE_VERIFY16
  • SCSIOP_WRITE_SAME16
  • SCSIOP_WRITE_LONG16
  • SCSIOP_WRITE_XDWRITE_EXTENDED16
  • SCSIOP_WRITE_COPY
  • SCSIOP_WRITE_COPY_COMPARE
Näiden komentojen yhteydessä tehdään kysely LBA-bitille, jotta voidaan selvittää, onko siirtymä määritetty CHS- vai LBA-muodossa. Koska järjestelmä ei pysty saamaan todellista geometriaa, kaikki CHS-muodossa lähetetyt pyynnöt epäonnistuvat. Tämän ei pitäisi aiheuttaa ongelmia, koska kaikki nykyiset levyt odottavat siirtymän olevan LBA-muodossa.

32-tavuisia SCSI-kirjoituskomentoja ei suodateta, koska CDB:ssä on vain 16 tavua. Lisäksi laajennettua kopiointikomentoa ei suodateta. Write Long -komentojen siirtopituus on tavuina. Kaikki muut komennot käyttävät kuitenkin sektoreita.

Seuraava ryhmä komentoja epäonnistuu, koska kyseiset komennot ovat vanhentuneet:
  • IOCTL_ATA_PASS_THROUGH
  • IOCTL_ATA_PASS_THROUGH_DIRECT
  • IDE_COMMAND_WRITE
  • IDE_COMMAND_WRITE_DMA
  • IDE_COMMAND_WRITE_DMA_QUEUED
  • IDE_COMMAND_WRITE_MULTIPLE
  • IDE_COMMAND_WRITE_EXT
  • IDE_COMMAND_WRITE_DMA_EXT
  • IDE_COMMAND_WRITE_DMA_FUA_EXT
  • IDE_COMMAND_WRITE_DMA_QUEUED_EXT
  • IDE_COMMAND_WRITE_DMA_QUEUED_FUA_EXT
  • IDE_COMMAND_WRITE_MULTIPLE_EXT
  • IDE_COMMAND_WRITE_MULTIPLE_FUA_EXT

Ohjelmien yhteensopivuuden ongelmat ja niiden vaikutusten pienentäminen

Tiedostojärjestelmään ja säilöpinoon tehdyt muutokset saattavat saada jotkin ohjelmat kohtaamaan virheitä. Ohjelmat voivat kohdata virheitä, koska ne käyttävät levyä tai asemaa suoraan.

Vaikutus ohjelmien yhteensopivuuteen on hyvin pieni seuraavista syistä:
  • Varmuuskopiointiohjelmien on poistettava aseman yhdistäminen, ennen kuin ne voivat kirjoittaa asemaan. Muutoin ohjelman kirjoitukset ovat päällekkäisiä tiedostojärjestelmän kirjoitusten kanssa. Tällaiset päällekkäisyydet aiheuttavat tiedostojen vioittumista tai järjestelmän epävakautta.
  • Osiointiohjelmat käsittelevät osiointitaulukoita, jotka sijaitsevat aseman alueiden ulkopuolella olevissa sektoreissa. Tiedostojärjestelmät eivät huolehdi kyseisten sektorien hallinnasta. Koska näitä sektoreita voidaan käyttää, muutos ei vaikuta osiointiohjelmien toimintaan.
  • Palautusohjelmat suoritetaan todennäköisimmin asemissa, joita tiedostojärjestelmä ei pysty yhdistämään. Koska RAW-asemia voidaan käyttää, muutos ei vaikuta palautusohjelmiin.
  • Lohkotason salausohjelmilla on yleensä suodatinohjain, joka sijaitsee osionhallintaohjaimen alla olevassa levypinossa. Suodatinohjain suodattaa osionhallintaohjaimen antaman IO:n (Input Output). Tämän vuoksi tiedostojärjestelmään ja säilöpinoon tehdyt muutokset eivät vaikuta lohkotason salausohjelmiin. Jos suodatinohjain sijaitsee asemapinossa, suodatinohjain on tiedostojärjestelmien alla. Tämän vuoksi tiedostojärjestelmään ja säilöpinoon tehdyt muutokset eivät vaikuta lohkotason salausohjelmiin.
  • Muutos ei vaikuta CD-levyjen tallennusohjelmiin, koska UDFS- ja FAT32-tiedostojärjestelmät eivät tee tarkistuksia, kun tiedostojärjestelmä on yhdistetty optisiin asemiin. Muutos saattaa kuitenkin vaikuttaa CD-levyjen tallennusohjelmiin seuraavassa tilanteessa:
    • Ohjelma lukitsee tiedostonsa.
    • Ohjelma tekee kyselyitä saadakseen tietoja tiedoston laajuudesta.
    • Ohjelma käyttää asemakahvaa, kun se kirjoittaa suoraan tiedoston sisälle.
    Microsoft ei kuitenkaan suosittele tätä, koska tiedoston metatiedot eivät välttämättä pysy synkronoituina. Kun metatiedot eivät ole synkronoituja, tiedosto saattaa vioittua.

Ominaisuudet

Artikkelin tunnus: 942448 - Viimeisin tarkistus: 22. huhtikuuta 2008 - Versio: 2.0
Artikkelin tiedot koskevat seuraavia tuotteita:
  • Windows Vista Ultimate
  • Windows Vista Enterprise
  • Windows Vista Business
  • Windows Vista Home Premium
  • Windows Vista Home Basic
  • Windows Vista Starter
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
Hakusanat: 
kbexpertiseadvanced kbhowto kbinfo KB942448

Anna palautetta

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com