{
    "mode": "man",
    "parameter": "sg_start",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/sg_start/8/json",
    "generated": "2026-06-02T20:22:52Z",
    "synopsis": "sgstart  [0]  [1]  [--eject]  [--help]  [--fl=FL] [--immed] [--load] [--loej] [--mod=PCMOD]\n[--noflush] [--pc=PC] [--readonly] [--start] [--stop] [--verbose] [--version] DEVICE\nsgstart [--eject] [--fl=FL] [-i] [--imm=0|1] [--load]  [--loej]  [--mod=PCMOD]  [--noflush]\n[--pc=PC] [-r] [--start] [--stop] [-v] [-V] [0|1] DEVICE",
    "sections": {
        "NAME": {
            "content": "sgstart - send SCSI START STOP UNIT command: start, stop, load or eject medium\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "sgstart  [0]  [1]  [--eject]  [--help]  [--fl=FL] [--immed] [--load] [--loej] [--mod=PCMOD]\n[--noflush] [--pc=PC] [--readonly] [--start] [--stop] [--verbose] [--version] DEVICE\n\nsgstart [--eject] [--fl=FL] [-i] [--imm=0|1] [--load]  [--loej]  [--mod=PCMOD]  [--noflush]\n[--pc=PC] [-r] [--start] [--stop] [-v] [-V] [0|1] DEVICE\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "sgstart  sends  a  SCSI START STOP UNIT command to the DEVICE with the selected options. The\nmost used options are --stop to spin down a disk and --start to spin up a disk. Using --start\non a disk that is already spinning is harmless. There is also finer grain control with \"power\ncondition\": active, idle or standby. This is set with the --pc=PC option.  In  some  contexts\nthe \"stop\" state can be considered an additional power condition.\n\nDevices  that  contain  removable media such as cd/dvds can use the --loej option to load the\nmedium when used in conjunction with --start (i.e. load medium then spin  up).  Alternatively\n--loej  may  be used to eject the medium when used in conjunction with --stop (i.e. spin down\nthen eject medium). More simply, the loading or ejecting of a removable  medium  can  be  re‐\nquested with the --load or --eject' option.\n\nIf no option or argument is given then a --start is assumed; as the utility's name suggests.\n\nThis utility supports two command line syntaxes, the preferred one is shown first in the syn‐\nopsis and explained in this section. A later section on the old command line syntax  outlines\nthe second group of options.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "Arguments to long options are mandatory for short options as well.\n\n0      same action as --stop.\n\n1      same action as --start.\n",
            "subsections": [
                {
                    "name": "-e --eject",
                    "content": "stop the medium and eject it from the drive. Only appropriate for a device with remov‐\nable medium. Might be ignored (prevented), see below.\n",
                    "flag": "-e",
                    "long": "--eject"
                },
                {
                    "name": "-h --help",
                    "content": "print out the usage message then exit.\n",
                    "flag": "-h",
                    "long": "--help"
                },
                {
                    "name": "-f --fl",
                    "content": "sets the format layer number for the disc to \"jump\" to (defined in MMC-5).  Values  of\nFL  can  be 0 to 3. When this option is chosen, the FL, LoEj and Start bits are set in\nthe cdb as required by MMC-5; thus the user does not need to set  the  --start  and/or\n--load options.\n",
                    "flag": "-f",
                    "long": "--fl"
                },
                {
                    "name": "-i --immed",
                    "content": "sets  the  IMM  bit on the START STOP UNIT command so this utility will return immedi‐\nately and not wait for the media to complete the requested action. The default  is  to\nwait until the media to complete the requested action before returning.\n",
                    "flag": "-i",
                    "long": "--immed"
                },
                {
                    "name": "-l --load",
                    "content": "load the medium in the drive and start it. Only appropriate for a removable medium.\n",
                    "flag": "-l",
                    "long": "--load"
                },
                {
                    "name": "-L --loej",
                    "content": "sets  the  LOEJ bit on the START STOP UNIT command. This loads the media when the unit\nis started or eject it when the unit is stopped (i.e.  works in conjunction with START\nbit  in  cdb). This option is ignored if 'pc > 0'.  Default is off (i.e. don't attempt\nto load or eject media). If a  start/start  indication  is  not  given  (i.e.  neither\n--start nor --stop) and this option is given then a load and start action is assumed.\n",
                    "flag": "-L",
                    "long": "--loej"
                },
                {
                    "name": "-m --mod",
                    "content": "where  PCMOD  is  the 'power condition modifier' value. 0 to 15 (inclusive) are valid\nand 0 is the default. This  'power condition modifier' field in the cdb was added  af‐\nter sbc3r13.\n",
                    "flag": "-m",
                    "long": "--mod"
                },
                {
                    "name": "-n --noflush",
                    "content": "do not perform a flush to media (e.g. like SYNCHRONIZE CACHE does) before a variant of\nthis utility that limits access to the media. Using the --stop option is an example of\nsomething  that  limits access to the media. This 'noflush' field in the cdb was added\nafter sbc3r13.\n",
                    "flag": "-n",
                    "long": "--noflush"
                },
                {
                    "name": "-O --old",
                    "content": "Switch to older style options. Please use as first option.\n",
                    "flag": "-O",
                    "long": "--old"
                },
                {
                    "name": "-p --pc",
                    "content": "where PC is the 'power conditions' value. 0 to  15  (inclusive)  are  valid.   Default\nvalue is 0. When '--pc=0' then --eject, --load, --loej, --start and --stop are active.\nSome common values are 1 for the \"active\" power condition (SBC); 2 for the idle  power\ncondition; 3 for the standby power condition; 5 for sleep power condition (MMC); 7 for\nLUCONTROL (SBC), 0xa (decimal 10) for FORCEIDLE0 (SBC) and  0xb  (decimal  11)  for\nFORCESTANDBY0  (SBC). See recent SBC-3, MMC-5 and SAS drafts at www.t10.org for more\ninformation.\n",
                    "flag": "-p",
                    "long": "--pc"
                },
                {
                    "name": "-r --readonly",
                    "content": "open the DEVICE in read-only mode. Maybe required in Linux to stop a nuisance  spin-up\nif  the  DEVICE is an ATA disk. The nuisance spin-up may occur at the end of this com‐\nmand negating the effect of the --stop option.\n",
                    "flag": "-r",
                    "long": "--readonly"
                },
                {
                    "name": "-s --start",
                    "content": "start (spin-up) the DEVICE. This sets the START bit in the cdb. Using this  option  on\nan  already  started  device is harmless. In the absence of other options, this option\ndefaults (i.e. set the START cdb bit).\n",
                    "flag": "-s",
                    "long": "--start"
                },
                {
                    "name": "-S --stop",
                    "content": "stop (spin-down) the DEVICE. This clears the START bit in the cdb.\n",
                    "flag": "-S",
                    "long": "--stop"
                },
                {
                    "name": "-v --verbose",
                    "content": "increase the level of verbosity. Can be used multiple times.\n",
                    "flag": "-v",
                    "long": "--verbose"
                },
                {
                    "name": "-V --version",
                    "content": "print out version string then exit.\n",
                    "flag": "-V",
                    "long": "--version"
                }
            ]
        },
        "NOTES": {
            "content": "To avoid confusion, only one of 0, 1 --eject, --load, --start and --stop should be given.\n\nThere is an associated \"power condition\" mode page (0x1a) in which timer values  can  be  set\nfor  transitioning  to  either idle or standby state after a period of inactivity. The sdparm\nutility can be used to view the power condition mode page and if required change it. If a DE‐\nVICE is in either idle or standby power condition state then a REQUEST SENSE command (see the\nsgrequests utility) should yield a sense key of \"no sense\" and an additional sense  code  of\n\"Low power condition on\" on recent SCSI devices.\n\nEjection  of  removable  media (e.g. 'sgstart --eject /dev/hdd' where the DEVICE is an ATAPI\ncd/dvd drive) may be prevented by a prior SCSI PREVENT  ALLOW  MEDIUM  REMOVAL  command  (see\nsgprevent). In this case this utility should fail with an error generated by the device: il‐\nlegal request / medium removal prevented. This can be overridden using sgprevent or, for ex‐\nample, 'sdparm --command=unlock /dev/hdd'.\n\nThe  SCSI TEST UNIT READY command can be used to find out whether a DEVICE is ready to trans‐\nfer data. If rotating media is stopped or still coming up to speed, then the TEST UNIT  READY\ncommand will yield a \"not ready\" sense key and an more informative additional sense code. See\nthe sgturs utility.\n\nIn the 2.4 series of Linux kernels the DEVICE must be a SCSI generic (sg) device. In the  2.6\nseries  block  devices  (e.g.  SCSI  disks and DVD drives) can also be specified. For example\n\"sgstart 0 /dev/sda\" will work in the 2.6 series kernels.\n\nIn the Linux 2.6 series, especially with ATA disks, using this utility to stop (spin down)  a\ndisk  may  not  be sufficient and other mechanisms will start the disk again some time later.\nThe  user  might  additionally  mark  the  disk   as   \"offline\"   with   'echo   offline   >\n/sys/block/sda/device/state'  where  sda  is  the block name of the disk. To restart the disk\n\"offline\" can be replaced with \"running\". Note that once the 'state' is set  to  offline,  no\nSCSI commands can be sent to the device until it is set back to running. Also stopping a disk\nvia a pass-through interface (e.g. /dev/sg1 or /dev/bsg/1:0:0:0) may reduce unwanted side ef‐\nfects (such as restarting it again when this utility completes).\n",
            "subsections": []
        },
        "EXIT STATUS": {
            "content": "The  exit  status  of sgstart is 0 when it is successful. Otherwise see the sg3utils(8) man\npage.\n",
            "subsections": []
        },
        "OLDER COMMAND LINE OPTIONS": {
            "content": "The options in this section were the only ones available prior to sg3utils  version  1.23  .\nSince then this utility defaults to the newer command line options which can be overridden by\nusing --old (or -O) as the first option. See the ENVIRONMENT VARIABLES  section  for  another\nway to force the use of these older command line options.\n\nNote  that  the  action  of --loej is slightly different in the older interface: when neither\n--start nor --stop (nor proxies for them) are given, --loej performs an eject  operation.  In\nthe same situation the newer interface will perform a load operation.\n\nEarlier  versions of sgstart had a '-s' option to perform a SYNCHRONIZE CACHE command before\nthe START STOP UNIT command was issued. According to recent SBC-2 drafts this is done implic‐\nitly if required. Hence the '-s' option has been dropped.\n\nAll  options,  other  than  '-v'  and  '-V',  can  be  given with a single \"-\".  For example:\n\"sgstart -stop /dev/sda\" and \"sgstart --stop /dev/sda\" are equivalent. The single \"-\"  form\nis for backward compatibility.\n\n0      stop (spin-down) DEVICE.\n\n1      start (spin-up) DEVICE.\n",
            "subsections": [
                {
                    "name": "--eject",
                    "content": "stop the medium and eject it from the drive.\n\n--fl=FL\nsets the format layer number for the disc to \"jump\" to (defined in MMC-5).\n",
                    "long": "--eject"
                },
                {
                    "name": "-i",
                    "content": "ately and not wait for the media to spin down. Same effect as '--imm=1'.  The  default\naction  (without  this  option or a '--imm=1' option) is to wait until the media spins\ndown before returning.\n\n--imm=0|1\nwhen the immediate bit is 1 then this utility returns immediately after the DEVICE has\nreceived  the  command.  When  this option is 0 (the default) then the utility returns\nonce the command has completed its action (i.e. it waits until the device  is  started\nor stopped).\n\n--load load the medium in the drive and start it.\n\n--loej sets  the  LOEJ bit in the START STOP UNIT cdb. When a \"start\" operation is indicated,\nthen a load and start is performed. When a \"stop\" operation is indicated, then a  stop\nand eject is performed. When neither a \"start\" or \"stop\" operation is indicated does a\nstop and eject. [Note that the last action differs from the new interface in which the\noption of this name defaults to load and start.]\n",
                    "flag": "-i"
                },
                {
                    "name": "-N --new",
                    "content": "Switch to the newer style options.\n\n--mod=PCMOD\nwhere  PCMOD  is  the 'power condition modifier' value. 0 to 15 (inclusive) are valid\nand 0 is the default. This field was added after sbc3r13.\n",
                    "flag": "-N",
                    "long": "--new"
                },
                {
                    "name": "--noflush",
                    "content": "do not perform a flush to media (e.g. like SYNCHRONIZE CACHE does) before a variant of\nthis utility that limits access to the media. Using the --stop option is an example of\nsomething that limits access to the media. This field was added after sbc3r13.\n\n--pc=PC\nwhere PC is the 'power condition' value (in hex). 0 to f (inclusive)  are  valid.  De‐\nfault value is 0.\n",
                    "long": "--noflush"
                },
                {
                    "name": "-r",
                    "content": "",
                    "flag": "-r"
                },
                {
                    "name": "--start",
                    "content": "start (spin-up) DEVICE.\n\n--stop stop (spin-down) DEVICE. Same meaning as \"0\" argument.\n",
                    "long": "--start"
                },
                {
                    "name": "-v",
                    "content": "'-vvv' are also accepted yielding greater verbosity.\n",
                    "flag": "-v"
                },
                {
                    "name": "-V",
                    "content": "",
                    "flag": "-V"
                }
            ]
        },
        "ENVIRONMENT VARIABLES": {
            "content": "Since sg3utils version 1.23 the environment variable SG3UTILSOLDOPTS can be  given.  When\nit  is  present  this  utility will expect the older command line options. So the presence of\nthis environment variable is equivalent to using --old (or -O) as the first command line  op‐\ntion.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Written by K. Garloff and D. Gilbert\n",
            "subsections": []
        },
        "REPORTING BUGS": {
            "content": "Report bugs to <dgilbert at interlog dot com>.\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright © 2002-2020 Kurt Garloff, Douglas Gilbert\nThis software is distributed under the GPL version 2. There is NO warranty; not even for MER‐\nCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "sgprevent(sg3utils), sgrequests(sg3utils), sgturs(sg3utils) sdparm(sdparm)\n\n\n\nsg3utils-1.43                             September 2020                                SGSTART(8)",
            "subsections": []
        }
    },
    "summary": "sgstart - send SCSI START STOP UNIT command: start, stop, load or eject medium",
    "flags": [
        {
            "flag": "-e",
            "long": "--eject",
            "arg": null,
            "description": "stop the medium and eject it from the drive. Only appropriate for a device with remov‐ able medium. Might be ignored (prevented), see below."
        },
        {
            "flag": "-h",
            "long": "--help",
            "arg": null,
            "description": "print out the usage message then exit."
        },
        {
            "flag": "-f",
            "long": "--fl",
            "arg": null,
            "description": "sets the format layer number for the disc to \"jump\" to (defined in MMC-5). Values of FL can be 0 to 3. When this option is chosen, the FL, LoEj and Start bits are set in the cdb as required by MMC-5; thus the user does not need to set the --start and/or --load options."
        },
        {
            "flag": "-i",
            "long": "--immed",
            "arg": null,
            "description": "sets the IMM bit on the START STOP UNIT command so this utility will return immedi‐ ately and not wait for the media to complete the requested action. The default is to wait until the media to complete the requested action before returning."
        },
        {
            "flag": "-l",
            "long": "--load",
            "arg": null,
            "description": "load the medium in the drive and start it. Only appropriate for a removable medium."
        },
        {
            "flag": "-L",
            "long": "--loej",
            "arg": null,
            "description": "sets the LOEJ bit on the START STOP UNIT command. This loads the media when the unit is started or eject it when the unit is stopped (i.e. works in conjunction with START bit in cdb). This option is ignored if 'pc > 0'. Default is off (i.e. don't attempt to load or eject media). If a start/start indication is not given (i.e. neither --start nor --stop) and this option is given then a load and start action is assumed."
        },
        {
            "flag": "-m",
            "long": "--mod",
            "arg": null,
            "description": "where PCMOD is the 'power condition modifier' value. 0 to 15 (inclusive) are valid and 0 is the default. This 'power condition modifier' field in the cdb was added af‐ ter sbc3r13."
        },
        {
            "flag": "-n",
            "long": "--noflush",
            "arg": null,
            "description": "do not perform a flush to media (e.g. like SYNCHRONIZE CACHE does) before a variant of this utility that limits access to the media. Using the --stop option is an example of something that limits access to the media. This 'noflush' field in the cdb was added after sbc3r13."
        },
        {
            "flag": "-O",
            "long": "--old",
            "arg": null,
            "description": "Switch to older style options. Please use as first option."
        },
        {
            "flag": "-p",
            "long": "--pc",
            "arg": null,
            "description": "where PC is the 'power conditions' value. 0 to 15 (inclusive) are valid. Default value is 0. When '--pc=0' then --eject, --load, --loej, --start and --stop are active. Some common values are 1 for the \"active\" power condition (SBC); 2 for the idle power condition; 3 for the standby power condition; 5 for sleep power condition (MMC); 7 for LUCONTROL (SBC), 0xa (decimal 10) for FORCEIDLE0 (SBC) and 0xb (decimal 11) for FORCESTANDBY0 (SBC). See recent SBC-3, MMC-5 and SAS drafts at www.t10.org for more information."
        },
        {
            "flag": "-r",
            "long": "--readonly",
            "arg": null,
            "description": "open the DEVICE in read-only mode. Maybe required in Linux to stop a nuisance spin-up if the DEVICE is an ATA disk. The nuisance spin-up may occur at the end of this com‐ mand negating the effect of the --stop option."
        },
        {
            "flag": "-s",
            "long": "--start",
            "arg": null,
            "description": "start (spin-up) the DEVICE. This sets the START bit in the cdb. Using this option on an already started device is harmless. In the absence of other options, this option defaults (i.e. set the START cdb bit)."
        },
        {
            "flag": "-S",
            "long": "--stop",
            "arg": null,
            "description": "stop (spin-down) the DEVICE. This clears the START bit in the cdb."
        },
        {
            "flag": "-v",
            "long": "--verbose",
            "arg": null,
            "description": "increase the level of verbosity. Can be used multiple times."
        },
        {
            "flag": "-V",
            "long": "--version",
            "arg": null,
            "description": "print out version string then exit."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "sgprevent",
            "section": "sg3utils",
            "url": "https://www.chedong.com/phpMan.php/man/sgprevent/sg3utils/json"
        },
        {
            "name": "sgrequests",
            "section": "sg3utils",
            "url": "https://www.chedong.com/phpMan.php/man/sgrequests/sg3utils/json"
        },
        {
            "name": "sgturs",
            "section": "sg3utils",
            "url": "https://www.chedong.com/phpMan.php/man/sgturs/sg3utils/json"
        },
        {
            "name": "sdparm",
            "section": "sdparm",
            "url": "https://www.chedong.com/phpMan.php/man/sdparm/sdparm/json"
        }
    ]
}