---
title: Knowledge Base
url: https://www.broadcom.com/support/knowledgebase/1211161498596/megacli-cheat-sheet--live-examples
description: MegaCLI cheat sheet
---

# Knowledge Base

## MegaCLI cheat sheet

Starting with the most useful commands and the easiest, you will get a better understanding of the command structure and make use of more advanced commands as you go along.

Please keep in mind that MegaCLI has been replaced with Storcli and will no longer be maintained.

**Live examples of common commands with 1 controller shown as “-a0”**

**Any “-Val” seen in the embedded help is typed without the - despite the contradicting style and print of -help, i.e.,**

**`megacli -adpsetprop -exposeencldevicesenbl 1 not -1`**

**Get controller number**

`Megacli -adpcount`

**Get Logs for VMware environment:**

**System logs:**

**[VMware Knowledge Base](http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2032076)**

**MegaRAID Logs:**

`megacli -FwTermLog dsply -a0 > fw.txt`

`megacli -AdpAllInfo -a0 > adp.txt`

`megacli -AdpAliLog -a0 > all.txt`

The output with ket (`>filename`) will be in the working directory.

If there is a severe problem, you will need to dump syslogs and dmsg. First check to make sure that your SCSI device (IR RAID or MegaRAID VD) is still online:

`esxcfg-scsidevs -c`

Then output the logs:

**ESX 4.x:** `# cat /var/log/dmesg > servername_dmsg.txt`

**ESXi 4.x:** `# cat /var/log/messages > Servername_msg.txt`

**ESXi 5.x:** `# cat /var/log/vmkernel.log > servername_klog.txt`

Using the `>` (Ket) will output the command to a file for portability. You can send these files to LSI Support for viewing. Or remove `>filename.txt` for screen output. You may refer to VMware Vsphere bridging Howto.

**Get array status**

`MegaCli -LDInfo -Lx -a0`

Where x is the Virtual disk#.

**Disable alarm**

`MegaCli -AdpSetProp Alarmdsbl -a0`

**Keep in mind that no further audible alarm will be triggered.**

**Silence may be a better option:**

`MegaCli -AdpSetProp Alarmsilence -a0`

**Expose enclosures and other devices:**

`megacli -adpsetprop -exposeencldevicesenbl 1 -a0`

**Disk identify**

`MegaCli -PdLocate -start -physdrv [245:2] -a0`

In the manual, this command is misleading and frustrating, so more information will be given on the specific [E:S] nomenclature in the megacli help file.

If there is no enclosure, an arbitrary value is assigned by the firmware.

To get the number for [E]:

`MegaCli -EncInfo -a0`

Now that you know [E], [245: you still need to find the slot or :S. To get the drive/slot relationship, use the pdlist command:

`Megacli -pdlist -a0`

There can be a lot of info to look through so pipe this output to a file with `>pdlist.txt`.

Example:

`Megacli -pdlist -a0 > drives.txt`

You can then parse the file for the slot to complete [E:S].

You can also get the firmware log file:

`MegaCli -FwTermLog Dsply -a0`

`MegaCli -AdpAliLog -a0`

**Turn off maintain PD fail history**

If you insert a drive and are unable to set as a hot spare, you can use megacli in the OS to disable maintain PD fail history:

`MegaCli -AdpSetProp MaintainPdFailHistoryEnbl 0 -a0`

You can also override this behavior when you plug a new drive in with:

`MegaCli -AdpSetProp RstrHotSpareOnInsert 1 -a0`

A spare should be able to be inserted and restored automatically.

**Expand Logical Disk**

First gather information:

`MegaCli -getLdExpansionInfo -L0 -a0`

From here you should have enough information to use the default command:

`MegaCli -LdExpansion -pN -dontExpandArray -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL`

For example, if my controller were 0, my PD I wanted to add was PD 4, and my Logical drive was 0:

`MegaCli -LdExpansion -p4 -L0 -a0`

**Set JBOD on 9240:**

`MegaCli -AdpSetProp -EnableJBOD 1 -a0,`

**Make JBOD**

`MegaCli -PDMakeJBOD -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

You need to run encinfo (see above identify enclosure) and do not type E, only `252:4`.

Where `252` is Enclosure and `4` is Slot.

**Live example:**

`Megacli -pdmakejbod -physdrv [252:4] –a0`

**Set auto rebuild on Unconfigured drives**

`MegaCli -AdpSetProp -ENABLEEUG 1 - a0`

Values are:

1= Enabled Emergency UG as Spare

0= Disabled Emergency UG as Spare.

**Set Boot virtual drive / physical drive**

`MegaCli -AdpBootDrive -Set -physdrv [E0:S0] -a0`

Or

`MegaCli -AdpBootDrive -Set -Lx -a0`

Or

`-Unset -Lx | -physdrv[E0:S0] -a0`

**Set phy Link speed**

`MegaCli -PhySetLinkSpeed -phyM -speed -aN|-a0,1,2|-aALL`

i.e.:

`MegaCli -PhySetLinkSpeed -phy0 -3 -a0`

This would set phy 0 to 6 gigabit on adaptor 0.

**Disable / Enable SEP<>SGPIO detection:**

`MegaCli -AdpSetProp -AutoDetectBackPlaneDsbl X -a0`

Values for X:

0=Enable Auto Detect of SGPIO and i2c SEP.

1=Disable Auto Detect of SGPIO.

2=Disable Auto Detect of i2c SEP.

3=Disable Auto Detect of SGPIO and i2c SEP.

**Disable / Enable read ahead:**

`MegaCli -LDSetProp {-Name LdNamestring} | -RW|RO|Blocked|RemoveBlocked | WT|WB|ForcedWB [-Immediate] |RA|NORA | DsblPI`

| Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU

`-Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL`

i.e.:

`MegaCli -LDSetProp -VD0 RA -L0 -a0`

**Disable write cache:**

`MegaCli -LDSetProp -DisDskCache -L0 -a0`

**Enable write cache**

`MegaCli -LDSetProp -EnDskCache -L0 -a0`

**Set scheduled consistency check:**

`MegaCli -AdpCcSched -Dsbl|-Info|{-ModeConc | -ModeSeq [-ExcludeLD -LN|-L0,1,2] [-SetStartTime yyyymmdd hh ] [-SetDelay val ]} -aN|-a0,1,2|-aALL`

Broken down:

`MegaCli -AdpCcSched ModeConc | -ModeSeq`

Concurrent or sequential, using sequential

`MegaCli -AdpCcSched -ModeSeq -SetStartTime 20150731 12 -a0`

That should set the CC for Friday July 2015 12:00 pm.

**Disable Emergency Global Hot Spare**

`MegaCli -AdpSetProp -ENABLEEGHSP 0 -a0`

And copyback:

`MegaCli -AdpSetProp -CopyBackDsbl 0 -a0`

**Help file captured from megacli -h:**

MegaCLI SAS RAID Management Tool Ver 8.07.14 Dec 16, 2013

(c)Copyright 2013, LSI Corporation, All Rights Reserved.

NOTE: The following options may be given at the end of any command below:

[-Silent] [-AppLogFile filename] [-NoLog] [-page[N]] 

[-] is optional.

N - Number of lines per page.

`MegaCli -v`

`MegaCli -help|-h|?`

`MegaCli -adpCount`

`MegaCli -AdpSetProp {CacheFlushInterval -val} | { RebuildRate -val}`

`| {PatrolReadRate -val} | {BgiRate -val} | {CCRate -val} | {ForceSGPIO -val}`

`| {ReconRate -val} | {SpinupDriveCount -val} | {SpinupDelay -val}`

`| {CoercionMode -val} | {ClusterEnable -val} | {PredFailPollInterval -val}`

`| {BatWarnDsbl -val} | {EccBucketSize -val} | {EccBucketLeakRate -val}`

`| {AbortCCOnError -val} | AlarmEnbl | AlarmDsbl | AlarmSilence`

`| {SMARTCpyBkEnbl -val} | {SSDSMARTCpyBkEnbl -val} | NCQEnbl | NCQDsbl`

`| {MaintainPdFailHistoryEnbl -val} | {RstrHotSpareOnInsert -val}`

`| {DisableOCR -val} | {BootWithPinnedCache -val} | {enblPI -val} |{PreventPIImport -val}`

`| AutoEnhancedImportEnbl | AutoEnhancedImportDsbl`

`| {EnblSpinDownUnConfigDrvs -val}|{UseDiskActivityforLocate -val} -aN|-a0,1,2|-aALL`

`| {ExposeEnclDevicesEnbl -val} | {SpinDownTime -val}`

`| {SpinUpEncDrvCnt -val} | {SpinUpEncDelay -val} | {Perfmode -val} -aN|-a0,1,2|-aALL`

`| {PerfMode -val –MaxFlushLines -val –NumIOsToOrder -val} -aN|-a0,1,2|-aALL`

`MegaCli -AdpSetProp -AutoDetectBackPlaneDsbl -val -aN|-a0,1,2|-aALL`

val - 0=Enable Auto Detect of SGPIO and i2c SEP.

1=Disable Auto Detect of SGPIO.

2=Disable Auto Detect of i2c SEP.

3=Disable Auto Detect of SGPIO and i2c SEP.

`MegaCli -AdpSetProp -CopyBackDsbl -val -aN|-a0,1,2|-aALL`

val - 0=Enable Copyback.

1=Disable Copyback.

`MegaCli -AdpSetProp -EnableJBOD -val -aN|-a0,1,2|-aALL`

val - 0=Disable JBOD mode.

1=Enable JBOD mode.

`MegaCli -AdpSetProp -DsblCacheBypass -val -aN|-a0,1,2|-aALL`

val - 0=Enable Cache Bypass.

1=Disable Cache Bypass.

`MegaCli -AdpSetProp -LoadBalanceMode -val -aN|-a0,1,2|-aALL`

val - 0=Auto Load balance mode.

1=Disable Load balance mode.

`MegaCli -AdpSetProp -UseFDEOnlyEncrypt -val -aN|-a0,1,2|-aALL`

val - 0=FDE and controller encryption (if HW supports) is allowed.

1=Only support FDE encryption, disallow controller encryption.

`MegaCli -AdpSetProp -PrCorrectUncfgdAreas -val -aN|-a0,1,2|-aALL`

val - 0= Correcting Media error during PR is disabled.

1=Correcting Media error during PR is allowed.

`MegaCli -AdpSetProp -DefaultSnapshotSpace -X% -aN|-a0,1,2|-aALL`

where X is the percentage of the source VD size.

`MegaCli -AdpSetProp -DefaultViewSpace -X% -aN|-a0,1,2|-aALL`

where X is the percentage of the source VD size.

`MegaCli -AdpSetProp -AutoSnapshotSpace -X% -aN|-a0,1,2|-aALL`

where X is the percentage of the source VD size.

`MegaCli -AdpSetProp -DsblSpinDownHSP -val -aN|-a0,1,2|-aALL`

val - 0= Spinning down the Hot Spare is enabled.

1=Spinning down the Hot Spare is disabled.

`MegaCli -AdpSetProp -DefaultLdPSPolicy -Automatic| -None | -Maximum| -MaximumWithoutCaching -aN|-a0,1,2|-aALL`

`MegaCli -AdpSetProp -DisableLdPS -interval n1 -time n2 -aN|-a0,1,2|-aALL`

where n1 is the number of hours beginning at time n2

where n2 is the number of minutes from 12:00am

`MegaCli -AdpSetProp -ENABLEEGHSP -val -aN|-a0,1,2|-aALL`

val - 0= Disabled Emergency GHSP.

1= Enabled Emergency GHSP.

`MegaCli -AdpSetProp -ENABLEEUG -val -aN|-a0,1,2|-aALL`

val - 0= Disabled Emergency UG as Spare.

1= Enabled Emergency UG as Spare.

`MegaCli -AdpSetProp -ENABLEESMARTER -val -aN|-a0,1,2|-aALL`

val - 0= Disabled Emergency Spare as Smarter.

1= Enabled Emergency Spare as Smarter.

`MegaCli -AdpSetProp -DPMenable -val -aN|-a0,1,2|-aALL`

val - 0=Disable Drive Performance Monitoring.

1=Enable Drive Performance Monitoring.

`MegaCli -AdpSetProp -SupportSSDPatrolRead -val -aN|-a0,1,2|-aALL`

val - 0=Disable Patrol read for SSD drives.

1=Enable Patrol read for SSD drives.

`MegaCli -AdpGetProp CacheFlushInterval | RebuildRate | PatrolReadRate | ForceSGPIO`

| BgiRate | CCRate | ReconRate | SpinupDriveCount | SpinupDelay

| CoercionMode | ClusterEnable | PredFailPollInterval | BatWarnDsbl

| EccBucketSize | EccBucketLeakRate | EccBucketCount | AbortCCOnError

| AlarmDsply | SMARTCpyBkEnbl | SSDSMARTCpyBkEnbl | NCQDsply

| MaintainPdFailHistoryEnbl | RstrHotSpareOnInsert

| EnblSpinDownUnConfigDrvs | DisableOCR

| BootWithPinnedCache | enblPI |PreventPIImport | AutoEnhancedImportDsply | AutoDetectBackPlaneDsbl

| CopyBackDsbl | LoadBalanceMode | UseFDEOnlyEncrypt | WBSupport | EnableJBOD

| DsblCacheBypass | ExposeEnclDevicesEnbl | SpinDownTime | PrCorrectUncfgdAreas

| UseDiskActivityforLocate | ENABLEEGHSP | ENABLEEUG | ENABLEESMARTER | Perfmode | PerfModeValues

| -DPMenable -aN|-a0,1,2|-aALL

| DefaultSnapshotSpace |

| DefaultViewSpace |

| AutoSnapshotSpace |

| DefaultLdPSPolicy | DisableLdPsInterval | DisableLdPsTime | SpinUpEncDrvCnt

| SpinUpEncDelay | PrCorrectUncfgdAreas

| DsblSpinDownHSP | SupportSSDPatrolRead -aN|-a0,1,2|-aALL

`MegaCli -AdpAllInfo -aN|-a0,1,2|-aALL`

`MegaCli -AdpGetTime -aN|-a0,1,2|-aALL`

`MegaCli -AdpSetTime yyyymmdd hh:mm:ss -aN`

`MegaCli -AdpSetVerify -f fileName -aN|-a0,1,2|-aALL`

`MegaCli -AdpBIOS -Enbl |-Dsbl | -SOE | -BE | -HCOE | - HSM | EnblAutoSelectBootLd | DsblAutoSelectBootLd | -Dsply -aN|-a0,1,2|-aALL`

`MegaCli -AdpBootDrive {-Set {-Lx | -physdrv[E0:S0]}} | {-Unset {-Lx | -physdrv[E0:S0]}} |-Get -aN|-a0,1,2|-aALL`

`MegaCli -AdpAutoRbld -Enbl|-Dsbl|-Dsply -aN|-a0,1,2|-aALL`

`MegaCli -AdpCacheFlush -aN|-a0,1,2|-aALL`

`MegaCli -AdpPR -Dsbl|EnblAuto|EnblMan|Start|Suspend|Resume|Stop|Info|SSDPatrolReadEnbl |SSDPatrolReadDsbl`

`| {SetDelay Val}|{-SetStartTime yyyymmdd hh}|{maxConcurrentPD Val} -aN|-a0,1,2|-aALL`

`MegaCli -AdpCcSched -Dsbl|-Info|{-ModeConc | -ModeSeq [-ExcludeLD -LN|-L0,1,2]`

`[-SetStartTime yyyymmdd hh ] [-SetDelay val ] } -aN|-a0,1,2|-aALL`

`MegaCli -AdpCcSched -SetStartTime yyyymmdd hh -aN|-a0,1,2|-aALL`

`MegaCli -AdpCcSched -SetDelay val -aN|-a0,1,2|-aALL`

`MegaCli -FwTermLog -BBUoff|BBUoffTemp|BBUon|BBUGet|Dsply|Clear -aN|-a0,1,2|-aALL`

`MegaCli -AdpAlILog -aN|-a0,1,2|-aALL`

`MegaCli -AdpDiag [val] -aN|-a0,1,2|-aALL`

val - Time in second.

`MegaCli -AdpGetPciInfo -aN|-a0,1,2|-aALL`

`MegaCli -AdpShutDown -aN|-a0,1,2|-aALL`

`MegaCli -AdpDowngrade -aN|-a0,1,2|-aALL`

`MegaCli -PDList -aN|-a0,1,2|-aALL`

`MegaCli -PDGetNum -aN|-a0,1,2|-aALL`

`MegaCli -pdInfo -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PDOnline -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PDOffline -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PDMakeGood -PhysDrv[E0:S0,E1:S1,...] | [-Force] -aN|-a0,1,2|-aALL`

`MegaCli -PDMakeJBOD -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PDHSP {-Set [-Dedicated [-ArrayN|-Array0,1,2...]] [-EnclAffinity] [-nonRevertible]}`

`|-Rmv -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PDRbld -Start|-Stop|-Suspend|-Resume|-ShowProg |-ProgDsply`

`-PhysDrv [E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PDClear -Start|-Stop|-ShowProg |-ProgDsply`

`-PhysDrv [E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PdLocate {[-start] | -stop} -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PdMarkMissing -physdrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL`

`MegaCli -PdGetMissing -aN|-a0,1,2|-aALL`

`MegaCli -PdReplaceMissing -physdrv[E0:S0] -arrayA, -rowB -aN`

`MegaCli -PdPrpRmv [-UnDo] -physdrv[E0:S0] -aN|-a0,1,2|-aALL`

`MegaCli -EncInfo -aN|-a0,1,2|-aALL`

`MegaCli -EncStatus -aN|-a0,1,2|-aALL`

`MegaCli -PhyInfo -phyM -aN|-a0,1,2|-aALL`

`MegaCli -PhySetLinkSpeed -phyM -speed -aN|-a0,1,2|-aALL`

`MegaCli -PdFwDownload [offline][ForceActivate] {[-SataBridge] -PhysDrv[0:1]}|-EncdevId[devId1] -f <filename> -aN|-a0,1,2|-aALL`

`MegaCli -LDInfo -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -LDSetProp {-Name LdNamestring} | -RW|RO|Blocked|RemoveBlocked | WT|WB|ForcedWB [-Immediate] |RA|NORA | DsblPI`

| Cached|Direct | -EnDskCache|DisDskCache | CachedBadBBU|NoCachedBadBBU

`-Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -LDSetPowerPolicy -Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching`

`-Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -LDGetProp -Cache | -Access | -Name | -DskCache | -PSPolicy | Consistency -Lx|-L0,1,2|-LALL`

`-aN|-a0,1,2|-aALL`

`MegaCli -LDInit {-Start [-full]}|-Abort|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL`

`MegaCli -LDCC {-Start [-force]}|-Abort|-Suspend|-Resume|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL`

`MegaCli -LDBI -Enbl|-Dsbl|-getSetting|-Abort|-Suspend|-Resume|-ShowProg|-ProgDsply -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL`

`MegaCli -LDRecon {-Start -rX [{-Add | -Rmv} -Physdrv[E0:S0,...]]}|-ShowProg|-ProgDsply`

`-Lx -aN`

`MegaCli -LdPdInfo -aN|-a0,1,2|-aALL`

`MegaCli -LDGetNum -aN|-a0,1,2|-aALL`

`MegaCli -LDBBMClr -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -getLdExpansionInfo -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -LdExpansion -pN -dontExpandArray -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -GetBbtEntries -Lx|-L0,1,2|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -Cachecade -assign|-remove -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL`

`MegaCli -CfgLdAdd -rX[E0:S0,E1:S1,...] [WT|WB] [NORA|RA] [Direct|Cached]`

| [CachedBadBBU|NoCachedBadBBU] [-szXXX [-szYYY ...]]

| [-strpszM] [-Hsp[E0:S0,...]] [-AfterLdX] | [FDE|CtrlBased]

| [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] [-Force]-aN

`MegaCli -CfgCacheCadeAdd [-rX] -Physdrv[E0:S0,...] {-Name LdNamestring} [WT|WB|ForcedWB] [-assign -LX|L0,2,5..|LALL] -aN|-a0,1,2|-aALL`

`MegaCli -CfgEachDskRaid0 [WT|WB] [NORA|RA] [Direct|Cached] [-enblPI]`

| [CachedBadBBU|NoCachedBadBBU] [-strpszM]|[FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] -aN|-a0,1,2|-aALL

`MegaCli -CfgClr [-Force] -aN|-a0,1,2|-aALL`

`MegaCli -CfgDsply -aN|-a0,1,2|-aALL`

`MegaCli -CfgCacheCadeDsply -aN|-a0,1,2|-aALL`

`MegaCli -CfgLdDel -LX|-L0,2,5...|-LALL [-Force] -aN|-a0,1,2|-aALL`

`MegaCli -CfgCacheCadeDel -LX|-L0,2,5...|-LALL -aN|-a0,1,2|-aALL`

`MegaCli -CfgFreeSpaceinfo -aN|-a0,1,2|-aALL`

`MegaCli -CfgSpanAdd -r10 -Array0[E0:S0,E1:S1] -Array1[E0:S0,E1:S1] [-ArrayX[E0:S0,E1:S1] ...]`

| [WT|WB] [NORA|RA] [Direct|Cached] [CachedBadBBU|NoCachedBadBBU]

| [-szXXX[-szYYY ...]][-strpszM][-AfterLdX]| [FDE|CtrlBased]

| [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI][-Force] -aN

`MegaCli -CfgSpanAdd -r50 -Array0[E0:S0,E1:S1,E2:S2,...] -Array1[E0:S0,E1:S1,E2:S2,...]`

| [-ArrayX[E0:S0,E1:S1,E2:S2,...] ...] [WT|WB] [NORA|RA] [Direct|Cached]

| [CachedBadBBU|NoCachedBadBBU][-szXXX[-szYYY ...]][-strpszM][-AfterLdX]| 

| [FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI][-Force] -aN

`MegaCli -CfgSpanAdd -r60 -Array0[E0:S0,E1:S1,E2:S2,E3,S3...] -Array1[E0:S0,E1:S1,E2:S2,E3,S3...]`

| [-ArrayX[E0:S0,E1:S1,E2:S2,E3,S3...] ...] [WT|WB] [NORA|RA] [Direct|Cached]

| [CachedBadBBU|NoCachedBadBBU][-szXXX[-szYYY ...]][-strpszM][-AfterLdX]| 

| [FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI][-Force] -aN

`MegaCli -CfgAllFreeDrv -rX [-SATAOnly] [-SpanCount XXX] [WT|WB] [NORA|RA]`

| [Direct|Cached] [CachedBadBBU|NoCachedBadBBU] [-strpszM]

| [-HspCount XX [-HspType -Dedicated|-EnclAffinity|-nonRevertible]]|

| [FDE|CtrlBased] [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] [-enblPI] -aN

`MegaCli -CfgSave -f filename -aN`

`MegaCli -CfgRestore -f filename -aN`

`MegaCli -CfgForeign -Scan | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL`

`MegaCli -CfgForeign -Dsply [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL`

`MegaCli -CfgForeign -Preview [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL`

`MegaCli -CfgForeign -Import [x] | [-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL`

`MegaCli -CfgForeign -Clear [x]|[-SecurityKey sssssssssss] -aN|-a0,1,2|-aALL`

x - index of foreign configurations. Optional. All by default.

`MegaCli -AdpEventLog -GetEventLogInfo -aN|-a0,1,2|-aALL`

`MegaCli -AdpEventLog -GetEvents {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL`

`MegaCli -AdpEventLog -GetSinceShutdown {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL`

`MegaCli -AdpEventLog -GetSinceReboot {-info -warning -critical -fatal} -aN|-a0,1,2|-aALL`

`MegaCli -AdpEventLog -IncludeDeleted {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL`

`MegaCli -AdpEventLog -GetLatest n {-info -warning -critical -fatal} {-f <fileName>} -aN|-a0,1,2|-aALL`

`MegaCli -AdpEventLog -GetCCIncon -f <fileName> -LX|-L0,2,5...|-LALL -aN|-a0,1,2|-aALL`

`MegaCli -AdpEventLog -Clear -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -GetBbuStatus -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -GetBbuDesignInfo -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -GetBbuProperties -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -BbuLearn -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -BbuMfgSleep -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -BbuMfgSeal -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -getBbumodes -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -SetBbuProperties -f <fileName> -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -GetGGEEPData offset [Hexaddress] NumBytes n -aN|-a0,1,2|-aALL`

`MegaCli -AdpBbuCmd -ScheduleLearn -Dsbl|-Info|[-STARTTIME DDD hh] -aN|-a0,1,2|-aALL`

`MegaCli -AdpFacDefSet -aN`

`MegaCli -AdpFwFlash -f filename [-ResetNow] [-NoSigChk] [-NoVerChk] [-FWTYPE n] -aN|-a0,1,2|-aALL`

`MegaCli -AdpGetConnectorMode -ConnectorN|-Connector0,1|-ConnectorAll -aN|-a0,1,2|-aALL`

`MegaCli -AdpSetConnectorMode -Internal|-External|-Auto -ConnectorN|-Connector0,1|-ConnectorAll -aN|-a0,1,2|-aALL`

`MegaCli -PhyErrorCounters -aN|-a0,1,2|-aALL`

`MegaCli -DirectPdMapping -Enbl|-Dsbl|-Dsply -aN|-a0,1,2|-aALL`

`MegaCli -PDCpyBk -Start -PhysDrv[E0:S0,E1:S1] -aN|-a0,1,2|-aALL`

`MegaCli -PDCpyBk -Stop|-Suspend|-Resume|-ShowProg|-ProgDsply -PhysDrv[E0:S0] -aN|-a0,1,2|-aALL`

`MegaCli -PDInstantSecureErase -PhysDrv[E0:S0,E1:S1,...] | [-Force] -aN|-a0,1,2|-aALL`

`MegaCli -CfgSpanAdd -rX -array0[E0:S1,E1:S1.....] array1[E0:S1,E1:S1.....] -szxxx -enblPI -aN|-a0,1,2|-aALL`

`MegaCli -LDMakeSecure -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -DestroySecurityKey | [-Force] -aN`

`MegaCli -CreateSecurityKey -SecurityKey sssssssssss | [-Passphrase sssssssssss] |[-KeyID kkkkkkkkkkk] -aN`

`MegaCli -CreateSecurityKey useEKMS -aN`

`MegaCli -ChangeSecurityKey -OldSecurityKey sssssssssss | -SecurityKey sssssssssss|`

[-Passphrase sssssssssss] | [-KeyID kkkkkkkkkkk] -aN

`MegaCli -ChangeSecurityKey -SecurityKey sssssssssss|`

[-Passphrase sssssssssss] | [-KeyID kkkkkkkkkkk] -aN

`MegaCli -ChangeSecurityKey useEKMS -OldSecurityKey sssssssssss -aN`

`MegaCli -ChangeSecurityKey -useEKMS -aN`

`MegaCli -GetKeyID [-PhysDrv[E0:S0]] -aN`

`MegaCli -SetKeyID -KeyID kkkkkkkkkkk -aN`

`MegaCli -VerifySecurityKey -SecurityKey sssssssssss -aN`

`MegaCli -GetPreservedCacheList -aN|-a0,1,2|-aALL`

`MegaCli -DiscardPreservedCache -Lx|-L0,1,2|-Lall -force -aN|-a0,1,2|-aALL`

sssssssssss - It must be between eight and thirty-two characters and contain at least one number, one lowercase letter, one uppercase letter and one non-alphanumeric character.

kkkkkkkkkk - Must be less than 256 characters.

`MegaCli -Snapshot -Enbl -szXXX SnapshotRepositoryLD N [-AutoSnapshot] [-AutoDeleteOldestSnapshot] -Lx -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -Setprop {-AutoSnapshot -val} | {-AutoDeleteOldestSnapshot -val} -Lx -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -Dsbl -Lx -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -TakeSnapshot [-SnapshotName NameString] [-CreateView [-viewName NameString] [-RW|RO|Blocked] -szXXX] -Lx|-L0,1,2 -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -DeleteSnapshot -SnapshotTime yyyymmdd hh:mm:ss | -all [-Force|-Y] -Lx|L0,1,2 -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -CreateView -SnapshotTime yyyymmdd hh:mm:ss [-viewName NameString] [-RW|RO|Blocked] -szXXX -Lx -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -DeleteView [-SnapshotTime yyyymmdd hh:mm:ss] -Lx -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -Info [-SnapshotTime yyyymmdd hh:mm:ss | -ViewTime yyyymmdd hh:mm:ss] -Lx -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -Clean -Lx -aN|-a0,1,2|-aALL`

`MegaCli -Snapshot -GetViewInfo [-ViewTargetId N ] -aN|-a0,1,2|-aALL`

`MegaCli -ShowSummary [-f filename] -aN`

`MegaCli -ELF -GetSafeId -aN|-a0,1,2|-aALL`

`MegaCli -ELF -ControllerFeatures -aN|-a0,1,2|-aALL`

`MegaCli -ELF -Applykey key <val> [Preview] -aN|-a0,1,2|-aALL`

`MegaCli -ELF -TransferToVault -aN|-a0,1,2|-aALL`

`MegaCli -ELF -DeactivateTrialKey -aN|-a0,1,2|-aALL`

`MegaCli -ELF -ReHostInfo -aN|-a0,1,2|-aALL`

`MegaCli -ELF -ReHostComplete -aN|-a0,1,2|-aALL`

`MegaCli -LDViewMirror -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -LDJoinMirror -DataSrc <val> [-force] -Lx|-L0,1,2,...|-Lall -aN|-a0,1,2|-aALL`

`MegaCli -SecureErase`

Start[

`Simple|`

`[Normal [ |ErasePattern ErasePatternA|ErasePattern ErasePatternA ErasePattern ErasePatternB]]|`

`[Thorough [ |ErasePattern ErasePatternA|ErasePattern ErasePatternA ErasePattern ErasePatternB]]`

| Stop

| ShowProg

| ProgDsply

| [-PhysDrv [E0:S0,E1:S1,...] | -Lx|-L0,1,2|-LALL] -aN|-a0,1,2|-aALL

`MegaCli -Version -Cli|-Ctrl|-Driver|-Pd -aN|-a0,1,2|-aALL`

`MegaCli -Perfmon {-start -interval <val>} | {stop} | {-getresults -f <Filename>} -aN`

`MegaCli -DpmStat -Dsply {lct | hist | ra | ext } [-physdrv[E0:S0]] -aN|-a0,1,2|-aALL`

`MegaCli -DpmStat -Clear {lct | hist | ra | ext } -aN|-a0,1,2|-aALL`

Note: The directly connected drives can be specified as [:S].

Wildcard `?` can be used to specify the enclosure ID for the drive in the only enclosure without a direct connected device or the direct connected drives with no enclosure in the system.

Note: `[-aALL]` option assumes that the parameters specified are valid for all the Adapters.

Note: `ProgDsply` option is not supported in VMWARE-COSLESS.

The following options may be given at the end of any command above:

[-Silent] [-AppLogFile filename] [-NoLog] [-page[N]]

[-] is optional.

N - Number of lines per page.

`MegaCli XD -AddVd <devList>`

`MegaCli XD -RemVd <devList>`

`MegaCli XD -AddCdev <devList> | -force`

`MegaCli XD -RemCdev <devList>`

`MegaCli XD -VdList | -Configured | -Unconfigured`

`MegaCli XD -CdevList | -Configured | -Unconfigured`

`MegaCli XD -ConfigInfo`

`MegaCli XD -PerfStats`

`MegaCli XD -OnlineVd`

`MegaCli XD -WarpDriveInfo -iN | -iALL`

`MegaCli XD -FetchSafeId -iN | -iALL`

`MegaCli XD -ApplyActivationKey <key> -iN`

Exit Code: 0x00
