DISKPART

From EIK wiki

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 partitsioonitabelist ja Windowsi dünaamilistest (dynamic) ketastest.

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 volume'i
  • volume, mis võib asetseda ühel või enamal partitsioonil. Tavaliste ketaste puhul on iga partitsioonil üks volume. Dünaamiliste ketaste puhul võib olla üks volume mitmel partitsioonil (ja seega mitmel kettal). Volume'il 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

Kettad ja partitsioonitabel

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 volume'e, 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 volume, mis on "OS" nimega ja mis on määratud C tähega kettaks (ilmselt asub selle volume'i 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.

Volume'd

Diskpart võimaldab meil kuvada ka volumee ja vaadata nende seisu. Kõikide arvutis olevate volumeide 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 volume-d, mis arvutis on (sh ka CD/DVD volume-d). Volume valimiseks tuleb kasutada käsku select volume:

DISKPART> select volume 4

Volume 4 is the selected volume. 

Volume 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 volume valitud, siis automaatselt valitakse ka vastav ketas ja partitsioon. Samuti kui on valitud käsitsi partitsioon, siis automaatselt valitakse ka vastav volume (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 volume.

Volume'i formattimine

Nüüd kui partitsioon ja volume on tehtud, oleks vaja volume'i 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.

Volume'i suurendamine ja vähendamine

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

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

  • määrata ära, kui palju peaks volume-l suurust vähendama (minimum parameeter)
  • määrata ära, kui palju peaks olema uuel volume-l 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 volume-t võimaliku väiksema suuruseni

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

Näiteks volume'i 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
 

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

Näiteks volume 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

Boot partitsiooni määramine

Diskpart võimaldab meil boot partitsiooni määrata kasutades käsku active:

DISKPART> active

Diskpart marked the current partition as active.

Partitsiooni ja volume'i 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 volume'i(ilmselt rohkem vajalik dünaamiliste ketaste puhul). Selleks tuleb valida volume ja käivitada käsk delete volume:

DISKPART> delete volume

DiskPart successfully deleted the volume.
 

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

Dünaamilised kettad

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

Diskpart oskab ümber käia ka dünaamiliste (dynamic) ketastega. Sealhulgas on võimalik teha tarkvara RAID tasemel mirror, stripe jms tüüpi volume'id.

Dünaamiliste ketaste juures ei ole enam partitsioone vaid on volume'id, 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 lihtsaks kettaks saab konverteerida ainult juhul, kui kettal ei ole ühtegi volume'i. 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.

Volume'i loomine

Volume'i saab dünaamilise kettale lisada kasutades create volume käsku.

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

  • simple - tavaline (ehk lihtne) volume
  • mirror - peegeldatud tüüpi volume
  • stripe - stripe volume
  • raid - RAID5 volume

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

Mirror, stripe ja raid tüüpidel 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 tüüpide puhul peavad kõik kettad eelnevalt olema tehtud dünaamiliseks. Tavalistele ketastele ei ole võimalik neid volume-sid teha. RAID5 tüüpi volume-sid saab teha ainult Windows Server operatsioonisüsteemidel.

Peale volume'i loomist võib teha selle peale failisüsteemi kasutades formattimist.

Lihtne volume

20GB suuruse volume'i loomine toimub järgnevalt:

DISKPART> create volume simple size=20480

DiskPart successfully created the volume.

Mirror volume

20GB mirror volume'i loomine ketastele 1 ja 2:

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

DiskPart successfully created the volume.
 

Stripe volume

20GB stripe volume'i loomine ketastele 1 ja 2:

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

DiskPart successfully created the volume.
 

RAID5 volume

RAID5 volumei loomine toimub sarnaselt stripe ja mirror volumeidega. Lisada tuleb kolmas ketas disk parameetrile:

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

DiskPart successfully created the volume.

Spanned ehk laiendatud volume

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

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

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

Lihtsa volume'i konverteerimine mirroriks

Tihti peale on vaja olemasolev ketas teha mirror'iks. Diskpart võimaldab meil seda teha ilma, et peaks faile kettalt maha kopeerima, tekitama sinna mirror volume('id) ja siis tagasi kopeerima.

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

Näiteks kui meil on ketas 1, kus on 3 partitsiooni ja soovime selle lisada kettaga 2 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 volume'id 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

Volume'id 3, 4 ja 5 on nüüd simple tüüpi (partitsiooni asemel). Valime iga volumei 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 volume konverteerimine mirroriks võtab oluliselt kauem kui uue mirror volumei 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.

Kasutatud kirjandus

Koostas

Taavi Sannik

A21

Tallinn 2011