DISKPART

From ICO wiki
Revision as of 13:36, 6 October 2011 by Tsannik (talk | contribs)
Jump to navigationJump to search

SEE ON POOLELI!

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.

Põhimõtted

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 partitsiooni kohta ü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 formattida partitsioon, siis tuleb selleks sisestada kolm käsku. Kõige pealt tuleb valida ketas, siis tuleb valida partitsioon ja alles siis formattimise käsk:

 select disk 0
 select partition 2
 format

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

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 selle ketta failisüsteeme, mida Windows tunneb.

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 failisüsteem, mis on "OS" nimega ja mis on määratud C tähega kettaks (ilmselt asub selle partitsiooni 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.

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.

create partition käsu ülesehitus on järgmine:

 DISKPART> create partition <type> [size=<size>] [offset=<offset>]
  • kus <type> on võib olla:
  • kus <size> on partitsiooni suurus megabaitides. Seda ei pea määrama - kui see jätta määramata, siis Diskpart kasutab automaatselt maksimaalselt kõik vaba ruumi ära.
  • kus <offset> on 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

Failisüsteemide formattimine

Nüüd kui partitsioon on tehtud, oleks vaja selle 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 argument)
  • määrata kataloog, kuhu see failisüsteem tuleb mountida (mount argument)

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.

Partitsioonide suurendamine ja vähendamine

Diskpart võimaldab ka partitsiooni ja failisüsteemi suurust suurendada ja vähendada nii, et seal olevad andmed jääksid alleks.

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

  • määrata ära, kui palju peaks partitsiooni suurust vähendama (minimum argument)
  • määrata ära, kui palju peaks olema uuel partitsioonil vaba ruumi (desired argument)
  • 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 partitsiooni võimaliku väiksema suuruseni

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

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

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

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

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 failisüsteemi (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 - tavaline 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.

Tavaline 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.

VHD failid

Diskpart

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:

 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

Koostas

Taavi Sannik

A21