DISKPART
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:
- Primary
- Extended
- Logical
- EFI (Extensible Firmware Interface)
- MSR (Microsoft Reserved Partition)
- 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
A21