9.11. Определение имён устройств для mount и fstab

Проблема

Требуется смонтировать дисковое устройство: жёсткий диск с интерфейсом IDE или SCSI, CD, DVD, флэш-диск USB или Zip-диск. Но вы не знаете, какое имя устройства следует использовать — где его найти?

Решение

Воспользуйтесь командами dmesg и fdisk. Команда dmesg находит имена устройств, а команда fdisk отображает нумерацию разделов на жёстких дисках. Возможно, вам также поможет официальный список имён /dev по адресу http://www.Lanana.org/docs/device-list/devices.txt (если в вашей системе установлены исходные тексты ядра, возможно, файл devices.txt находится в каталоге /usr/src/).

Следующая команда ищет информацию о CD-устройствах в выходных данных dmesg:

$ dmesg | grep -i cd
hdc: ATAPI CDROM. ATAPI CD/DVD-ROM DRIVE
hdc: ATAPI 40X CD-ROM DRIVE. 128K cache. UDMA (33)

Быстрый поиск в devices.txt даёт следующий результат:

Second IDE hard disk/CD-ROM interface:

0 = /dev/hdc Master: whole disk (or CD-ROM)

Имя устройства — /dev/hdc. А вот как выглядят дисководы CD/DVD, использующие подсистему IDE/SCSI:

$ dmesg | grep -i cd
hdb: TOSHIBA DVD-ROM SD-M1202. ATAPI CD/DVD-ROM drive
hdc: LITE-ON LTR-24102B. ATAPI CD/DVD-ROM drive
ide-cd: ignoring drive hdb
ide-cd: ignoring drive hdc
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
Attached scsi CD-ROM sr1 at scsi0, channel 0, id 1, lun 0
scd0: scsi3-mmc drive: 32x/32x cd-rw xa/form2 cdda tray
scd1: scsi3-mmc drive: 131x/40x writer cd/rw xa/form2 cdda tray

Устройствам соответствуют имена /dev/scd0 и /dev/scd1.

Для жёстких дисков нужно указывать конкретные разделы, так как каждый раздел является самостоятельным блочным устройством. Команда fdisk -l выводит информацию обо всех разделах на всех обнаруженных жёстких дисках:

# /sbin/fdisk -l
Disk /dev/hda: 20.5 GB, 20576747520 bytes
255 heads, 63 sectors/track, 2501 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device     Boot    Start   End     Blocks   Id  System
/dev/hda1  *          1     893   7172991    7  HPFS/NTFS
/dev/hda2            894    1033  1124550    c  W95 FAT32 (LBA)
/dev/hda4           1034    2501  11791710   f  W95 Ext'd (LBA)
/dev/hda5           1034    1670  5116639+  83  Linux
/dev/hda6           1671    2436  6152863+  83  Linux
/dev/hda7           2437    2501   522081   82  Linux swap

Скопируйте имя устройства из столбца Device. А вот как команда fdisk отображает устройства USB:

Disk /dev/sda: 65 MB, 65536000 bytes
8 heads, 32 sectors/track, 500 cylinders
Units = cylinders of 256 * 512 = 131072 bytes

Device     Boot    Start   End     Blocks   Id  System
/dev/sda1  *          1     499     63586    6  FAT16

Комментарий

Каждому запоминающему устройству соответствует блочное устройство в каталоге /dev. Имена устройств определяются способом физического подключения.

Примеры:

Имена запоминающих устройств в Linux формируются по следующей схеме:

Устройствам IDE и USB, использующим подсистему эмуляции SCSI, иногда присваиваются имена /dev/sr*, которые представляют собой символические ссылки на /dev/sd*.

Если в вашей системе установлены исходные тексты ядра, поищите определения имён /dev в файле devices.txt.

См. также

Глава 5; официальный список имён /dev (http://www.lanana.org/docs/device-list/devices.txt или файл devices.txt в каталоге /usr/src/* вашей системы).