DISKPART

From ICO wiki
Jump to navigationJump to search

Sissejuhatus

Diskpart on Microsofti poolt loodud programm, mis võimaldab läbi käsurea hallata kettaid ja kettasüsteeme. Programmile on võimalik anda käskusid käsurea kaudu või koostades nn skripti, kus on kõik vajalikud käsud ette antud - viimane võimalus on just eriti suur pluss, kuna see võimaldab arvuti ette valmistust täielikult automatiseerida.

Diskpart on Windowsiga kaasas alates Windows XP-st, kuid ka Windows 2000-le on võimalik seda paigaldada. Käesolev juhis on koostatud Windows 7 Diskpart baasil (versioon 6.1.7601), seega vanemate versioonidega võib olla erinevusi.

Juhis eeldab, et lugejal on algteadmised MBR tüüpi partitsioonitabelitest ja teeb vahet Windowsi tavalistel (basic) ja dünaamilistel (dynamic) ketastel.

Põhimõtted

Tavaline ketas
Dünaamiline ketas

Enamus Diskparti käsud tehakse nn aktiivsete objektidega ehk valitud objektidega. Windowsi vaatenurgast on ketta halduses kolme erinevat tüüpi objekti:

  • füüsiline ketas (disk)
  • partitsioon (partition), mis võib sisaldada ühte või enamat voluumi
  • voluum (volume), mis võib asetseda ühel või enamal partitsioonil. Tavaliste ketaste puhul on iga partitsioonil üks voluum. Dünaamiliste ketaste puhul võib olla üks voluum mitmel partitsioonil (ja seega mitmel kettal). Voluumil asetseb failisüsteem.

Näiteks kui on soov lisada uus partitsioon kettale, siis tuleb esmalt valida ketas ja siis alles sisestada partitsiooni lisamise käsk:

select disk 0
create partition primary

Täpsemalt nendest käskudest kirjutan hiljem. Kui on vaja teha veel mingeid toiminguid selle kettaga, siis uuesti seda valima ei pea.

Käsud ise ei ole suure-väikse tähe tundlikud, st käsk "LIST DISK" on sama, mis "list disk". Küll aga on suured-väiksed tähed olulised osades käskude parameetrites (nt ketta nimetus või faili asukoht).

Abi saamine

Kui on vaja saada abi või lisainfot mingi käsu kohta, siis tuleb siinkohal appi help käsk. help ilma argumentideta näitab nimekirja kõikidest põhikäskudest (koos lühikese kirjeldusega).

Lisaks saab help-ga täpsemat infot käsu ja selle argumentide kohta sisestades selle käsule ette help, nt: help format annab meile väga detailse ülevaate sellest käsust:

DISKPART> help format

    Formats the specified volume for use with Windows.

Syntax:  FORMAT [[FS=<FS>] [REVISION=<X.XX>] | RECOMMENDED] [LABEL=<"label">]
                [UNIT=<N>] [QUICK] [COMPRESS] [OVERRIDE] [DUPLICATE] [NOWAIT]
                [NOERR]

    FS=<FS>     Specifies the type of file system. If no file system is given,
                the default file system displayed by the FILESYSTEMS command is
                used.

    REVISION=<X.XX>

                Specifies the file system revision (if applicable).

    RECOMMENDED If specified, use the recommended file system and revision
                instead of the default if a recommendation exists. The
                recommended file system (if one exists) is displayed by the
                FILESYSTEMS command.

    LABEL=<"label">

                Specifies the volume label.

    UNIT=<N>    Overrides the default allocation unit size. Default settings
                are strongly recommended for general use. The default
                allocation unit size for a particular file system is displayed
                by the FILESYSTEMS command.

                NTFS compression is not supported for allocation unit sizes
                above 4096.

    QUICK       Performs a quick format.

    COMPRESS    NTFS only: Files created on the new volume will be compressed
                by default.

    OVERRIDE    Forces the file system to dismount first if necessary. All
                opened handles to the volume would no longer be valid.

    DUPLICATE   UDF Only: This flag applies to UDF format, version 2.5 or
                higher.
                This flag instructs the format operation to duplicate the file
                system meta-data to a second set of sectors on the disk. The
                duplicate meta-data is used by applications, for example repair
                or recovery applications. If the primary meta-data sectors are
                found to be corrupted, the file system meta-data will be read
                from the duplicate sectors.

    NOWAIT      Forces the command to return immediately while the format
                process is still in progress. If NOWAIT is not specified,
                DiskPart will display format progress in percentage.

    NOERR       For scripting only. When an error is encountered, DiskPart
                continues to process commands as if the error did not occur.
                Without the NOERR parameter, an error causes DiskPart to exit
                with an error code.

    A volume must be selected for this operation to succeed.

Examples:

    FORMAT FS=NTFS LABEL="New Volume" QUICK COMPRESS
    FORMAT RECOMMENDED OVERRIDE

Partitsioonitabeli uurimine

Partitsioonitabeli vaatamiseks tuleb kõige pealt valida ketas. Selleks, et saada teada, millised kettad masinas olemas on, tuleb sisestada list disk:

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          465 GB      0 B
  Disk 1    Online         3810 MB      0 B

Ketta valimiseks tuleb kasutada select disk käsku. Näiteks disk 0 valimiseks tuleb sisestada:

DISKPART> select disk 0
  
  Disk 0 is now the selected disk.
 

Nüüd kui ketas on valitud, saab vaadata lisainfot selle kohta, kasutades käsku detail disk:

DISKPART> detail disk

ST9500420ASG ATA Device
Disk ID: 8A2A92B9
Type   : SATA
Status : Online
Path   : 0
Target : 0
LUN ID : 0
Location Path : PCIROOT(0)#PCI(1F02)#ATA(C00T00L00)
Current Read-only State : No
Read-only  : No
Boot Disk  : Yes
Pagefile Disk  : Yes
Hibernation File Disk  : No
Crashdump Disk  : Yes
Clustered Disk  : No

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 3         RECOVERY     NTFS   Partition     14 GB  Healthy    System
  Volume 4     C   OS           NTFS   Partition    150 GB  Healthy    Boot
  Volume 5     E                NTFS   Partition    230 GB  Healthy

Siit on võimalik lugeda nt ketta mudelit ja muud lisainfot. Lisaks kuvab Diskpart kõiki voluume, mis asub sellel kettal.

Selleks, et ketta partitsioonitabelit näha, tuleb sisestada käsk list partition:

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    OEM                 39 MB    31 KB
  Partition 2    Primary             14 GB    39 MB
  Partition 3    Primary            150 GB    14 GB
  Partition 0    Extended           301 GB   164 GB
  Partition 7    Logical            230 GB   164 GB
  Partition 8    Logical             14 GB   394 GB
  Partition 4    Logical             29 GB   408 GB
  Partition 5    Logical             24 GB   438 GB
  Partition 6    Logical           3294 MB   462 GB

Antud masin on nn dual boot masin - sinna on paigaldatud Windows ja Linux üksteise kõrvale. Sellest tulenevalt on ka partitsioonitabel üsna keeruline.

Kui on vaja uurida mingit partitsiooni täpsemalt tuleb see valida, kasutades select partition käsku:

DISKPART> select partition 3

Partition 3 is now the selected partition.

detail partition näitab meile lisainfot valitud partitsiooni kohta:

DISKPART> detail partition

Partition 3
Type  : 07
Hidden: No
Active: No
Offset in Bytes: 15769766400

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
* Volume 4     C   OS           NTFS   Partition    150 GB  Healthy    Boot

Siit saab välja lugeda, et sellel partitsioonil on 150GB suurune NTFS voluum, mis on "OS" nimega ja mis on määratud C tähega kettaks (ilmselt asub selle voluumi peal Windows). Partitsioon ei ole peidetud ega aktiivne (ehk selle pealt ei boodita).

Partitsiooni tüüp (Type) määrab ära, mis tüüpi failisüsteem peaks sellel partitsioonil olema. Andries E. Brouweri lehel on võimalik näha kõiki võimalikke partitsioonide tüüpe koos kirjeldusega. Antud juhul 07 näitab, et sellel partitsioonil asetseb NTFS failisüsteem (ja nii see ka on).

Kui nüüd aga uurida ühte Linuxi partitsiooni:

DISKPART> select partition 4

Partition 4 is now the selected partition.

DISKPART> detail partition

Partition 4
Type  : 83
Hidden: Yes
Active: No
Offset in Bytes: 438983225856

There is no volume associated with this partition.

Tuleb välja, et Diskpart ei tunne sellel kettal asetsevat failisüsteemi. Küll aga on võimalik partitsiooni tüübi (83) järgi kindlaks teha, et seal peaks asetsema Linuxi failisüsteem.

Voluumide uurimine

Diskpart võimaldab meil kuvada ka voluume ja vaadata nende seisu. Kõikide arvutis olevate voluumide kuvamiseks tuleb kasutada käsku list volume:

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D                       DVD-ROM         0 B  No Media
  Volume 1     F                       DVD-ROM         0 B  No Media
  Volume 2     G                       DVD-ROM         0 B  No Media
  Volume 3         RECOVERY     NTFS   Partition     14 GB  Healthy    System
  Volume 4     C   OS           NTFS   Partition    150 GB  Healthy    Boot
  Volume 5     E                NTFS   Partition    230 GB  Healthy 

Siin kuvab Diskpart kõik voluumid, mis arvutis on (sh ka CD/DVD voluumid). Voluumi valimiseks tuleb kasutada käsku select volume:

DISKPART> select volume 4

Volume 4 is the selected volume. 

Voluumi kohta saab infot käsuga detail volume:

DISKPART> detail volume

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
* Disk 0    Online          465 GB      0 B

Read-only              : No
Hidden                 : No
No Default Drive Letter: No
Shadow Copy            : No
Offline                : No
BitLocker Encrypted    : No
Installable            : Yes

Volume Capacity        :  150 GB
Volume Free Space      :   92 GB

Siinkohal tuleks ära märkida, et niipea kui on käsitsi voluum valitud, siis automaatselt valitakse ka vastav ketas ja partitsioon. Samuti kui on valitud käsitsi partitsioon, siis automaatselt valitakse ka vastav voluum (mis on selle partitsiooni peal). See tähendab, et järgnevad käsud oleksid samad:

select disk 0
select partition 3

Oleks sama, mis

select volume 4

(ainult selle arvuti puhul loomulikult)

Toimetamine partitsioonidega

Tihtipeale kui alustada tööd mingi kettaga, siis oleks vaja kõige pealt vana seis kettalt kustutada, et saaks alustada puhtalt lehelt. Selleks võib kõik partitsioonid kettalt ise käsitsi kustutada. Diskpart võimaldab partitsioonitabelit tühjendada ühe käsuga - clean:

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Primary           5000 MB  1024 KB
  Partition 2    Primary              9 GB  5001 MB
* Partition 3    Primary           5000 MB    14 GB

DISKPART> clean

DiskPart succeeded in cleaning the disk.

DISKPART> list partition

There are no partitions on this disk to show.

Partitsioonide lisamine

Kettale saab lisada partitsioone juurde kasutades create partition käsku. Selle käsu esimeseks argumendiks tuleb määrata partitsiooni tüüp, mis võib olla:

Lisaks saab iga partitsioonitüübi juures määrata parameetrid:

  • size= määrab partitsiooni suurus megabaitides. Seda ei pea määrama - kui see jätta määramata, siis Diskpart kasutab automaatselt maksimaalselt kõik vaba ruumi ära.
  • offset= määrab partitsiooni alguse aadress kilobaitides. Reeglina seda määrata ei ole vaja - eriti kui partitsioonid lisada üksteise järel.

Näiteks kui on vaja lisada tühjale kettale 500MB suurune partitsioon:

DISKPART> create partition primary size=500

DiskPart succeeded in creating the specified partition.

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
* Partition 1    Primary            500 MB  1024 KB

Partitsiooni lisamisel tehakse see automaatselt aktiivseks ja sellest tehakse ka automaatselt voluum.

Voluumide formattimine

Nüüd kui partitsioon ja voluum on tehtud, oleks vaja voluumi peale ehitada mingi failisüsteem. Selleks tuleb kasutada käsku format, millele saab anda järgnevad argumendid:

fs= määrab failisüsteemi tüübi (nt NTFS või FAT32)
label= määrab failisüsteemi pealkirja (mis on näha My Computeris jms kohtades). NB! See pealkiri peab olema jutumärkide vahel!
unit= määrab bloki suuruse. Seda ei tasu puutuda, kui ei tea, mis see on
quick failisüsteemile tehakse kiire (quick) format. Seda tasub alati kasutada, kuna suurtel ketastel läheks muidu väga kaua aega formatimiseks.
compress aktiveeritakse failisüsteemi tasemel pakkimine (compression). Hetkel toimib ainult NTFS failisüsteemidega
override kui ketas on hetkel kasutuses, siis julmalt ühendatakse ketas formattimise jaoks lahti
nowait formattimine toimub taustal (st diskpart jätkab kohe edasi ja ei oota kuni failisüsteem formatitud on)

Näiteks kui on soov teha NTFS failisüsteem, mille nimeks on "Minu asjad", kasutades quick formattimist, tuleb sisestada järgmine käsk:

DISKPART> format fs=ntfs label="Minu asjad" quick

  100 percent completed

DiskPart successfully formatted the volume.

Failisüsteemi mountimine ehk tähe määramine

Nüüd kui failisüsteem on tehtud, oleks vaja see teha arvutis kuidagi kätte saadavaks. Selleks tuleb see mountida.

Diskpart võimaldab seda meil teha kasutades assign käsku. Lisaks pakub Diskpart meile kahte varianti mountimiseks:

  • määrata kettale täht (letter parameeter)
  • määrata kataloog, kuhu see failisüsteem tuleb mountida (mount parameeter)

Näiteks failisüsteemi mountimine F:\ kettaks kujul toimub järgnevalt:

DISKPART> assign letter=F

DiskPart successfully assigned the drive letter or mount point.
  

Failisüsteemi mountimine C:\Minu asjad kataloogi toimub järgnevalt:

DISKPART> assign mount="C:\Minu asjad"

DiskPart successfully assigned the drive letter or mount point.
 

NB! Vastav kataloog peab olemas olema. Samuti on tähtis, et kataloogi asukoht oleks jutumärkides.

Kui käivitada assign käsk ilma parameetriteta, siis määratakse failisüsteemile esimene vaba täht.

Voluumide suurendamine ja vähendamine

Diskpart võimaldab ka voluumide suurust suurendada ja vähendada nii, et seal olevad andmed jääksid alleks. Voluumi suuruse muutumisel muutub automaatselt ka partitsiooni suurus.

Voluumi suuruse vähendamine käib shrink käsuga. Vähendamist saab teha põhimõtteliselt neljal viisil:

  • määrata ära, kui palju peaks voluumi suurust vähendama (minimum parameeter)
  • määrata ära, kui palju peaks olema uuel voluumil vaba ruumi (desired parameeter)
  • määrata nii minimum kui desired - sel juhul vähendatakse suurust vähemalt minimum väärtuse võrra, aga mitte rohkem kui desired väärtus
  • jätta määramata nii minimum kui desired - sel juhul vähendatakse voluumi võimaliku väiksema suuruseni

Vähendada saab ainult NTFS failisüsteemiga voluumi või kui voluumil ei ole veel failisüsteemi.

Näiteks voluumi vähendamine 100MB võrra toimub nii:

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
* Partition 1    Primary            500 MB  1024 KB

DISKPART> shrink minimum=100

DiskPart successfully shrunk the volume by:  100 MB

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
* Partition 1    Primary            400 MB  1024 KB
 

Voluumi suurendamiseks Diskpartiga tuleb kasutada käsku extend, millele tuleb määrata size parameetriks lisaruumi suurus.

Näiteks voluumi suurendamine 200MB võrra toimub nii:

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
* Partition 1    Primary            400 MB  1024 KB

DISKPART> extend size=200

DiskPart successfully extended the volume.

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
* Partition 1    Primary            600 MB  1024 KB
 

Partitsioonide ja voluumide kustutamine

Partitsiooni kustutamiseks tuleb valida partitsioon ja seejärel käivitada käsk delete partition:

DISKPART> delete partition

DiskPart successfully deleted the selected partition.

Kustutada saab ka voluume (ilmselt rohkem vajalik dünaamiliste ketaste puhul). Selleks tuleb valida voluum ja käivitada käsk delete volume:

DISKPART> delete volume

DiskPart successfully deleted the volume.
 

Tavaliste ketaste puhul ei ole vahet, kas kustutada voluum või partitsioon. Mõlema puhul kustutatakse nii partitsioon kui voluum. Dünaamiliste ketaste puhul kustutatakse ainult voluum.

Dünaamilised kettad

Siiamaani on juttu olnud lihtsatest (basic) ketastest, mis on enamasti kasutuses tavakasutajate arvutites.

Küll aga oskab Diskpart ümber käia ka dünaamiliste (dynamic) ketastega. Sealhulgas on võimalik teha tarkvara RAID tasemel mirror, stripe jms voluume.

Dünaamiliste ketaste juures ei ole enam partitsioone vaid on voluumid, mis võivad asetseda mitmel kettal korraga.

Dünaamilise ketta loomine

Konverteerimine erinevate kettaliikide (dynamic ja basic) vahel toimub convert käsuga. Kui ketas on valitud, siis tuleb sisestada käsk convert dynamic, et muuta valitud ketas dünaamiliseks või convert basic, et muuta valitud ketas tavaliseks kettaks:

DISKPART> convert dynamic

DiskPart successfully converted the selected disk to dynamic format.

DISKPART> convert basic

DiskPart successfully converted the selected disk to basic format.
 

NB! Dünaamilisest kettast tavaliseks kettaks saab konverteerida ainult juhul, kui kettal ei ole ühtegi voluumi. Ehk kui kettast on juba tehtud dünaamiline ketas, siis ei ole võimalik teha teda basic tüüpi kettaks ilma, et seal olevad andmed ei kaoks.

Voluumide loomine

Voluume saab dünaamilise kettale lisada kasutades create volume käsku.

Käsu esimeseks argumendiks on voluumi tüüp, mis võib olla:

  • simple - lihtne voluum
  • mirror - mirror voluum
  • stripe - Stripe voluum
  • raid - RAID5 voluum

Lisaks on võimalik kõikide tüüpide puhul määrata voluumi suurus size argumendiga.

Mirror, stripe ja raid voluumidel tuleb ära määrata kettad disk argumendiga. Argumendi väärtuseks peavad olema ketta numbrid komaga eraldatud (nende vahel ei või olla tühikut). Ketta numbrid saab teada käsuga list disk.

NB! Mirror, stripe ja raid voluumide puhul peavad kõik kettad eelnevalt olema tehtud dünaamiliseks. Tavalistele ketastele ei ole võimalik neid voluume teha. RAID5 tüüpi voluume saab teha ainult Windows Server operatsioonisüsteemidel.

Peale voluumi loomist võib teha selle peale failisüsteemi kasutades formattimist.

Lihtne voluum

20GB suuruse voluumi loomine toimub järgnevalt:

DISKPART> create volume simple size=20480

DiskPart successfully created the volume.

Mirror voluum

20GB mirror voluumi loomine ketastele 1 ja 2:

DISKPART> create volume mirror size=20480 disk=1,2

DiskPart successfully created the volume.
 

Stripe voluum

20GB stripe voluumi loomine ketastele 1 ja 2:

DISKPART> create volume stripe size=20480 disk=1,2

DiskPart successfully created the volume.
 

RAID5 voluum

RAID5 voluumi loomine toimub sarnaselt stripe ja mirror voluumidega. Lisada tuleb kolmas ketas disk parameetrile:

DISKPART> create volume raid size=20480 disk=1,2,3

DiskPart successfully created the volume.

Spanned voluum

Spanned tüüpi voluumi tegemiseks ei ole vaja teha eraldi voluumi, vaid lihtne voluum automaatselt muutub spanned voluumiks, kui seda laiendada teisele kettale. Selleks tuleb extend käsule määrata ketas parameetriga disk.

Näiteks kui on soov aktiivne voluum laiendada 10GB võrra kasutades selleks ketast nr 2:

 DISKPART> extend size=10240 disk=2
 
 DiskPart successfully extended the volume.

Lihtsa voluumi konverteerimine mirroriks

Tihti peale on vaja olemasolev ketas teha mirroriks. Diskpart võimaldab meil seda teha ilma, et peaks faile kettalt maha kopima, tekitada sinna mirror voluum(id) ja siis tagasi kopida.

Selleks tuleb vana ketas ja uus ketas konverteerida dünaamiliseks kettaks (kui need juba ei ole). Seejärel tuleb valida iga voluum ja käivitada selle peal add käsk. add käsule tuleb määrata disk parameeter, mis näitab ära, millisele kettale tuleb selle voluumi mirror.

Näiteks kui meil on ketas (disk 1), kus on 3 partitsiooni ja soovime lisada disk 2-ga mirrorisse:

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
* Partition 1    Primary             30 GB  1024 KB
  Partition 2    Primary             50 GB    30 GB
  Partition 3    Primary             19 GB    80 GB

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D                       CD-ROM          0 B  No Media
  Volume 1         System Rese  NTFS   Partition    100 MB  Healthy    System
  Volume 2     C                NTFS   Partition     19 GB  Healthy    Boot
* Volume 3                      NTFS   Partition     19 GB  Healthy
  Volume 4                      NTFS   Partition     50 GB  Healthy
  Volume 5                      NTFS   Partition     30 GB  Healthy

Meid huvitavad voluumid 3, 4 ja 5.

Kõige pealt konverteerime mõlemad kettad dünaamiliseks:

DISKPART> select disk 1

Disk 1 is now the selected disk.

DISKPART> convert dynamic

DiskPart successfully converted the selected disk to dynamic format.

DISKPART> select disk 2

Disk 2 is now the selected disk.

DISKPART> clean

DiskPart succeeded in cleaning the disk.

DISKPART> convert dynamic

DiskPart successfully converted the selected disk to dynamic format.

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D                       CD-ROM          0 B  No Media
  Volume 1         System Rese  NTFS   Partition    100 MB  Healthy    System
  Volume 2     C                NTFS   Partition     19 GB  Healthy    Boot
  Volume 3                      NTFS   Simple        19 GB  Healthy
  Volume 4                      NTFS   Simple        50 GB  Healthy
  Volume 5                      NTFS   Simple        30 GB  Healthy

Voluumid 3, 4 ja 5 on nüüd simple voluumid (partitsiooni asemel). Valime iga voluumi ja lisame mirrorisse:

DISKPART> select volume 3

Volume 3 is the selected volume.

DISKPART> add disk=2

DiskPart succeeded in adding a mirror to the volume.

DISKPART> select volume 4

Volume 4 is the selected volume.

DISKPART> add disk=2

DiskPart succeeded in adding a mirror to the volume.

DISKPART> select volume 5

Volume 5 is the selected volume.

DISKPART> add disk=2

DiskPart succeeded in adding a mirror to the volume.

Tulemus:

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D                       CD-ROM          0 B  No Media
  Volume 1         System Rese  NTFS   Partition    100 MB  Healthy    System
  Volume 2     C                NTFS   Partition     19 GB  Healthy    Boot
  Volume 3                      NTFS   Mirror        19 GB  Healthy
  Volume 4                      NTFS   Mirror        50 GB  Healthy
* Volume 5                      NTFS   Mirror        30 GB  Healthy

NB! Ei soovita kasutada seda meetodit uute (tühjade) ketaste kasutamisel. Olemasoleva voluumi konverteerimine mirroriks võtab oluliselt kauem kui uue mirror voluumi loomine

Virtuaalsed kõvakettad

Diskpart võimaldab luua ja lisada süsteemil külge virtuaalseid kõvakettaid (VHD e Virtual Hard Disk).

VHD loomine

VHD faili saab luua, kasutades käsku create vdisk, mille võimalikud parameetrid on järgnevad:

file= määrab VHD faili asukoha
maximum= määrab VHD faili maksimaalse suuruse
type= määrab VHD faili tüübi. Selleks võib olla fixed või expandable. fixed puhul tehakse kohe maksimumsuurusega fail ära, expandable puhul aga kasutatakse ruumi, siis kui vaja on.
parent= määrab VHD faili, mille põhjal tehakse differentseeritud VHD fail. See tähendab seda, et sellesse VHD faili salvestatakse ainult erinevused parent VHD failist.
source= määrab VHD faili, mis võetakse aluseks. Kui see on määratud, siis kopeeritakse source failist sisu sellesse faili.

NB! Kõik failide aadressid peavad olema jutumärkide vahel.

Näide:

DISKPART> create vdisk file="C:\test\ketas.vhd" type=expandable maximum=1024

  100 percent completed

DiskPart successfully created the virtual disk file.

Virtuaalsete kõvaketaste ülevaadet saab käsuga list vdisk:

DISKPART> list vdisk

  VDisk ###  Disk ###  State                 Type       File
  ---------  --------  --------------------  ---------  ----
* VDisk 0    Disk ---  Added                 Unknown     C:\test\ketas.vhd
 

VHD faili avamine

Kui VHD fail on juba olemas, siis saab selle Diskpartis avada select vdisk käsuga. Selle ainsaks parameetriks on file, mis näitab VHD faili asukohta:

DISKPART> select vdisk file="C:\test\ketas.vhd"

DiskPart successfully selected the virtual disk file.

DISKPART> list vdisk

  VDisk ###  Disk ###  State                 Type       File
  ---------  --------  --------------------  ---------  ----
* VDisk 0    Disk ---  Added                 Unknown     C:\test\ketas.vhd

VHD faili aktiveerimine

Selleks, et virtuaalsele kõvakettale ligi saada, tuleb kasutada attach vdisk käsku:

DISKPART> attach vdisk

  100 percent completed

DiskPart successfully attached the virtual disk file.

Nüüd on virtuaalne kõvaketas arvutile lisatud ja see peaks tekkima list disk nimekirja:

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           20 GB      0 B
  Disk 1    Online          100 GB   100 GB
  Disk 2    Online          100 GB   100 GB
  Disk 3    Online          100 GB   100 GB
* Disk 4    Online         1024 MB  1022 MB
  
DISKPART> list vdisk

  VDisk ###  Disk ###  State                 Type       File
  ---------  --------  --------------------  ---------  ----
* VDisk 0    Disk 4    Attached not open     Expandable  C:\test\ketas.vhd

Nüüd võib selle kettaga toimetada nagu iga teise kettaga. Kui on vaja ketas lahti ühendada, siis tuleb kasutada detach vdisk käsku:

DISKPART> detach vdisk

DiskPart successfully detached the virtual disk file.

DISKPART> list vdisk

  VDisk ###  Disk ###  State                 Type       File
  ---------  --------  --------------------  ---------  ----
* VDisk 0    Disk ---  Added                 Unknown     C:\test\ketas.vhd

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           20 GB      0 B
  Disk 1    Online          100 GB   100 GB
  Disk 2    Online          100 GB   100 GB
  Disk 3    Online          100 GB   100 GB

Skriptimine

Nagu alguses sai kirjutatud, toetab Diskpart ka skriptimist, st Diskpartile on võimalik ette anda tekstifail, kust seest Diskpart loeb käsud. Selleks tuleb Diskpart käivitada järgnevalt:

C:\> diskpart /s <skripti nimi>

kus <skripti nimi> tähistab diskparti skripti faili asukohta.

Skripti sisuks on käsud, mis on igaüks kirjutatud eraldi reale.

Skriptidele saab lisada kommentaare, kuid need peavad olema eraldi real ja nende ees peab olema sõna rem, näiteks:

rem vali esimene ketas
select disk 0

rem lisa partitsioon lõppu
create partition primary

Lisaks on võimalik määrata igale käsule lõppu noerr argument. Kui see argument on määratud, siis Diskpart ei katkesta skripti jooksutamist kui see käsk peaks millegi pärast veateate andma.

Näiteks skript, mis loob ketastele 1 ja 2 kolm mirrorit:

select disk 1
clean
convert dynamic
select disk 2
clean
convert dynamic

rem 30GB ntfs partitsioon (F:)
create volume mirror disk=1,2 size=30720
format fs=ntfs quick
assign letter=E:

rem 15GB fat32 partitsioon (F:)
create volume mirror disk=1,2 size=15360
format fs=fat32 quick
assign letter=F:

rem 5GB fat32 partitsioon (G:)
create volume mirror disk=1,2 size=5120
format fs=fat32 quick
assign letter=G:

Kokkuvõte

Kokkuvõtteks võib öelda, et Diskpart on väga lihtne ja võimas töövahend. Juhise kirjutamise käigus selgus, et praktiliselt kõik võimalused, mis on olemas graafilises liideses (Disk Manageris), on olemas ka Diskpartis (võiks isegi öelda, et Diskpart pakkus rohkem võimalusi kui graafiline liides). Kui lisada siia juurde veel skriptimise võimalus, siis saab masinale deployda ükskõik kui keerulise kettasüsteemi külge automaatselt.

Koostas

Taavi Sannik

A21

Tallinn 2011