Почему мой считыватель 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 или меткой.

Другие вопросы по тегам