Почему мой считыватель SDCard связан с /dev/sda вместо /dev/mmcblk0, а мой основной SSD — с /dev/sdb?
После установки Ubuntu 20.04 LTS на моем Asus EP1501P я обнаружил, что мой считыватель SDCard был связан с, а мой основной SSD с:
$ sudo fdisk -l /dev/sd[ab]
Disk /dev/sda: 59,9 GiB, 64289243136 bytes, 125564928 sectors
Disk model: STORAGE DEVICE
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda1 32768 125564927 125532160 59,9G 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 465,78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 870
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3175f771
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 534527 532480 260M b W95 FAT32
/dev/sdb2 * 534528 976773119 976238592 465,5G 8e Linux LVM
$ lsblk -pf /dev/sd[ab] | grep -v VG_Samsung | column -t
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
/dev/sda
└─/dev/sda1 exfat XXXX-YYYY
/dev/sdb
├─/dev/sdb1 vfat FUTURE_EFI E81C-0DBA
└─/dev/sdb2 LVM2_member xxxxxx-yyyy-zzzzz-xxxx-yyyy-zzzz-xxxxxx
$ sudo hdparm -I /dev/sda
/dev/sda:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ATA device, with non-removable media
Standards:
Likely used: 1
Configuration:
Logical max current
cylinders 0 0
heads 0 0
sectors/track 0 0
--
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 0 MBytes
device size with M = 1000*1000: 0 MBytes
cache/buffer size = unknown
Capabilities:
IORDY not likely
Cannot perform double-word IO
R/W multiple sector transfer: not supported
DMA: not supported
PIO: pio0
$ sudo hdparm -I /dev/sdb | sed "s/Serial Number:\s.*/Serial Number: XXXXXXXXXXXXXXX/" | head
/dev/sdb:
ATA device, with non-removable media
Model Number: Samsung SSD 870 EVO 500GB
Serial Number: XXXXXXXXXXXXXXX
Firmware Revision: SVT01B6Q
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
Used: unknown (minor revision code 0x005e)
И когда в устройстве чтения SD-карт нет SD-карты, я получаю эти ошибки при обновлении конфигурации grub:
$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
Found linux image: /boot/vmlinuz-5.13.0-40-generic
Found initrd image: /boot/initrd.img-5.13.0-40-generic
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
Found linux image: /boot/vmlinuz-5.13.0-39-generic
Found initrd image: /boot/initrd.img-5.13.0-39-generic
Found linux image: /boot/vmlinuz-5.13.0-35-generic
Found initrd image: /boot/initrd.img-5.13.0-35-generic
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
/dev/sda: open failed: No medium found
done
EDIT0: Устройство чтения SD-карт подключено к шине USB вместо шины PCI:
$ lsusb | egrep -i "(sd|card).reader"
Bus 001 Device 005: ID 05e3:0727 Genesys Logic, Inc. microSD Reader/Writer
$ lsusb -d 05e3:0727 -v | egrep -i "(sd|card).reader|idVendor|idProduct"
Couldn't open device, some information will be missing
Bus 001 Device 005: ID 05e3:0727 Genesys Logic, Inc. microSD Reader/Writer
idVendor 0x05e3 Genesys Logic, Inc.
idProduct 0x0727 microSD Reader/Writer
Почему устройство, подключенное к контроллеру USB, появляется раньше, чем устройство, подключенное к контроллеру PCI (предположительно, быстрее, чем USB)?
Можно ли написать
udev
правило для назначения
/dev/sdb
к этому устройству чтения карт USB и к моему SSD, чтобы предотвратить
os-prober
ошибки (при вызове
update-grub
) ?
РЕДАКТИРОВАТЬ 1: Раньше на SDCard устанавливался grub, и мой SSD-диск Ubuntu не мог загружаться без него.
Итак, чтобы избежать путаницы и проблем в будущем, я бы хотел, чтобы моя SDCard была связана с другим устройством, а не
Как переключить SSD обратно на
/dev/sda
и устройство для чтения SD-карт, чтобы
/dev/mmcblk0
?
1 ответ
Порядок блочных устройств устанавливается автоматически в начале процесса загрузки. Я бы сказал, что первое готовое устройство
/dev/sda
и следующий
/dev/sdb
...
Блокировать имена устройств, такие как
/dev/mmcblk0
зарезервированы для устройств, подключенных через PCI, но внутренние устройства чтения карт также могут быть подключены через USB (как внешние устройства чтения карт), и они рассматриваются как
/dev/sdx
(где x — одна буква).
Порядок имен блочных устройств не должен быть проблемой. Ubuntu использует UUID разделов для их монтирования (или использования в качестве подкачки). Если у вас есть собственные инструменты, зависящие от устройств, вы можете монтировать на них разделы в соответствии с их UUID или меткой.