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. Имена устройств определяются способом физического подключения.
Примеры:
- /dev/hda — первичное устройство на IDE0 (весь диск);
- /dev/hdb — вторичное устройство на IDE0 (весь диск);
- /dev/fd0 — флоппи-дисковод на контроллере 0, устройство 0;
- /dev/fd1 — флоппи-дисковод на контроллере 0, устройство 1;
- /dev/sda — первый диск SCSI (весь диск);
- /dev/sdb — второй диск SCSI (весь диск).
Имена запоминающих устройств в Linux формируются по следующей схеме:
- /dev/fd* — флоппи-дисководы;
- /dev/hd* — дисководы IDE;
- /dev/sd* — дисководы SCSI;
- /dev/sd* — запоминающие устройства USB;
- /dev/hd* — дисководы CD/DVD-ROM с интерфейсом IDE/ATAPI;
- /dev/sd* — дисководы CD/DVD-R/RW с интерфейсом IDE/ATAPI;
- /dev/sd*, /dev/hd* или /dev/XXXx4 — Zip-дисководы.
Устройствам 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/* вашей системы).