171 lines
7.3 KiB
Plaintext
171 lines
7.3 KiB
Plaintext
.TH SG_SCAN "8" "November 2018" "sg3_utils\-1.45" SG3_UTILS
|
|
.SH NAME
|
|
sg_scan \- scan storage devices and map to volume names
|
|
.SH SYNOPSIS
|
|
.B sg_scan
|
|
[\fI\-\-bus\fR] [\fI\-\-help\fR] [\fI\-\-letter=VL\fR] [\fI\-\-scsi\fR]
|
|
[\fI\-\-verbose\fR] [\fI\-\-version\fR]
|
|
.SH DESCRIPTION
|
|
.\" Add any additional description here
|
|
.PP
|
|
This utility scans for physical drives (a.k.a. "hard drives"), cd/dvd drives
|
|
and tape drives and maps them to the corresponding volumes. There may be
|
|
many, one or no corresponding volumes. There is one line output per device
|
|
with identification strings to the right. Its purpose is to list the
|
|
storage device names that can be used by other utilities in this package.
|
|
.PP
|
|
In later versions of Windows this utility may need to be "run as
|
|
Administrator" for disks and other devices to be seen. If not those devices
|
|
will simply not appear as calls to query them fail with access permission
|
|
problems.
|
|
.PP
|
|
There is an optional SCSI adapter scan which may find additional storage
|
|
devices other than the ones listed above. An example is a SCSI Enclosure
|
|
Services (SES) device typically found in disk arrays.
|
|
.PP
|
|
Storage and related devices can have several device names in Windows.
|
|
Probably the most common in the volume name (e.g. "D:"). There is also
|
|
a "class" device name, and this utility scans for three of
|
|
them: "PhysicalDrive<n>", "CDROM<n>" and "TAPE<n>". <n> is an integer
|
|
starting at 0 allocated in ascending order as devices are discovered (and
|
|
sometimes rediscovered).
|
|
.PP
|
|
Some storage devices have a SCSI lower level device name which starts
|
|
with a SCSI (pseudo) adapter name of the form "SCSI<n>:". To this is added
|
|
sub\-addressing in the form of a "bus" number, a "target" identifier and
|
|
a LUN (Logical Unit Number). The "bus" number is also known as a "PathId".
|
|
These components are combined by the utility to make a device name of the
|
|
form: "SCSI<n>:<bus>,<target>,<lun>". This utility allows the
|
|
trailing ",<lun>" to be omitted in which case a LUN of zero is assumed. This
|
|
lower level device name cannot often be used directly since Windows blocks
|
|
attempts to use it if a class driver has "claimed" the device. There are
|
|
SCSI device types (e.g. Automation/Drive interface type) for which there is
|
|
no class driver. At least two transports ("bus types" in Windows jargin):
|
|
USB and IEEE 1394 do not have a "scsi" device names of this form.
|
|
.PP
|
|
In keeping with DOS file system conventions, the various device names
|
|
can be given in upper, lower or mixed case. Since "PhysicalDrive<n>" is
|
|
tedious to write, a shortened form of "PD<n>" is permitted by all
|
|
utilities in this package.
|
|
.PP
|
|
A single device (e.g. a disk) can have many device names! For
|
|
example: "PDO" can also be "C:", "D:" and "SCSI0:0,1,0". The two volume names
|
|
reflect that the disk has two partitions on it. Disk partitions that are
|
|
not recognised by Windows are not usually given a volume name. However
|
|
Vista does show a volume name for a disk which has no partitions recognised
|
|
by it and when selected invites the user to format it (which is rather
|
|
unfriendly to other OSes).
|
|
.PP
|
|
The scanning logic and output of this command changed significantly in
|
|
sg3_utils version 1.27 . The SCSI adapter based scanned is now an
|
|
optional extra.
|
|
.PP
|
|
For more information see the NOTES section below.
|
|
.SH OPTIONS
|
|
Arguments to long options are mandatory for short options as well.
|
|
.TP
|
|
\fB\-b\fR, \fB\-\-bus\fR
|
|
show the bus type (or transport) by which the device is attached to the
|
|
operating systems. Two or more transports may be involved. For example,
|
|
a SATA disk may be in the external enclosure connected to the computer via
|
|
USB in which case the bus type is USB.
|
|
.TP
|
|
\fB\-h\fR, \fB\-\-help\fR
|
|
outputs the usage message summarizing command line options
|
|
then exits.
|
|
.TP
|
|
\fB\-l\fR, \fB\-\-letter\fR=\fIVL\fR
|
|
normally a device that has multiple volume names has up to four listed. If
|
|
there are more than that a "+" is added after the fourth. When this option
|
|
is given the \fIVL\fR argument is assumed to be a volume name (i.e. 'C'
|
|
to 'Z') and if found in the scan, only that volume name appears in the
|
|
output. If there are novolume names in the output then \fIVL\fR was not
|
|
found.
|
|
.TP
|
|
\fB\-s\fR, \fB\-\-scsi\fR
|
|
do a SCSI adapter based scan after the normal storage device based scan.
|
|
There is a blank line between the normal scan and the SCSI adapter based
|
|
scan. If this option is given twice then only the SCSI adapter based scan
|
|
is done.
|
|
.TP
|
|
\fB\-v\fR, \fB\-\-verbose\fR
|
|
increases the level or verbosity. Can be used multiple times to display
|
|
more of the internal data, both in normal and error processing.
|
|
.TP
|
|
\fB\-V\fR, \fB\-\-version\fR
|
|
print out version string
|
|
.SH NOTES
|
|
This utility does not support Windows 95, 98 and ME (and earlier Windows
|
|
operating systems). The target Windows operating systems are currently
|
|
Windows 2000, 2003, XP and Vista (and their variants).
|
|
.PP
|
|
When the \fI\-\-scsi\fR option is given the SCSI adapter tuple is followed
|
|
by a list of two or three fields. First is "claimed=0|1" indicating whether
|
|
a class driver has claimed the device. The next field is "pdt=<num>"
|
|
where <num> is the "peripheral device type" as defined in the SCSI INQUIRY
|
|
command (see SPC\-4 at https://www.t10.org). The <num> has a trailing "h" to
|
|
indicate that it is hexadecimal. Sometimes a third field with the
|
|
word "dubious" appears. This flags that what is supposed to be a SCSI
|
|
INQUIRY command response has a badly formed "additional length" field.
|
|
Thus the corresponding device is unlikely to be a native SCSI device.
|
|
.PP
|
|
The DOS device names given the the CreateFile() call all start with
|
|
a "\\\\.\\" string. That can be given but if not will be supplied
|
|
automatically.
|
|
.PP
|
|
Scanning devices that are hot unplugged and replugged often can be
|
|
problematic, especially with the class device names. Each time a device is
|
|
removed and re\-added it gets a larger class device name (e.g. "PD3"
|
|
becomes "PD4" leaving "PD3" unused). This utility stops scanning class
|
|
devices after it find 8 consecutive "holes".
|
|
.SH EXAMPLES
|
|
The following examples are from a laptop with an internal drive (SATA), a
|
|
CD/DVD drive and a USB attached SATA disk. The latter disk has two volumes
|
|
recognised by Windows.
|
|
.PP
|
|
# sg_scan
|
|
.br
|
|
PD0 [C] FUJITSU MHY2160BH 0000
|
|
.br
|
|
PD1 [DF] WD 2500BEV External 1.05 WD\-WXE90
|
|
.br
|
|
CDROM0 [E] MATSHITA DVD/CDRW UJDA775 CB03
|
|
.PP
|
|
Now request bus types as well. BTW That is a SATA disk holding volume C:
|
|
and there is a "Sata" bus type.
|
|
.PP
|
|
# sg_scan \-b
|
|
.br
|
|
PD0 [C] <Ata > FUJITSU MHY2160BH 0000
|
|
.br
|
|
PD1 [DF] <Usb > WD 2500BEV External 1.05 WD\-WXE90
|
|
.br
|
|
CDROM0 [E] <Atapi> MATSHITA DVD/CDRW UJDA775 CB03
|
|
.PP
|
|
Now request a SCSI adapter scan as well.
|
|
.PP
|
|
# sg_scan \-b \-s
|
|
.br
|
|
PD0 [C] <Ata > FUJITSU MHY2160BH 0000
|
|
.br
|
|
PD1 [DF] <Usb > WD 2500BEV External 1.05 WD\-WXE90
|
|
.br
|
|
CDROM0 [E] <Atapi> MATSHITA DVD/CDRW UJDA775 CB03
|
|
.br
|
|
|
|
.br
|
|
SCSI0:0,0,0 claimed=1 pdt=0h FUJITSU MHY2160BH 0000
|
|
.br
|
|
SCSI1:0,0,0 claimed=1 pdt=5h MATSHITA DVD/CDRW UJDA775 CB03
|
|
.PP
|
|
.SH EXIT STATUS
|
|
The exit status of sg_scan is 0 when it is successful. Otherwise see
|
|
the sg3_utils(8) man page.
|
|
.SH AUTHORS
|
|
Written by D. Gilbert
|
|
.SH COPYRIGHT
|
|
Copyright \(co 2006\-2018 Douglas Gilbert
|
|
.br
|
|
This software is distributed under a FreeBSD license. There is NO
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|