Debian

/dev/sdb* 啟動後不可用 - initramfs 不載入 uas 和 usb_storage 模組

  • August 3, 2016

如果在 initramfs 啟動時已插入外部 USB 3 HDD (Seagate Backup Plus 1T),則我的 Debian 測試系統上的 Initramfs 無法自動載入必要的核心模組。如果我啟動到 initramfs shell,拔出電纜並將其重新插入,那麼設備將出現並且我將能夠安裝它。

我在 initramfs 中不需要這個設備,但是/dev/由 initramfs 創建的文件系統被傳遞到我確實需要它的主作業系統。我必須插拔電纜才能使設備可用。

**如何設置 initramfs 來解決此設備?**或者我如何告訴主作業系統遍歷硬體匯流排並處理 initramfs 中的 udev 錯過的所有設備?

附加資訊

在我關閉和打開設備後,會載入兩個新模組:

# lsmod 
Module                  Size  Used by
uas                    24576  0
usb_storage            69632  1 uas

這些模組在 initramfs 映像中可用:

# lsinitramfs /boot/initrd.img-4.6.0-1-amd64 |grep -E '(uas|usb-storage)'
lib/modules/4.6.0-1-amd64/kernel/drivers/usb/storage/usb-storage.ko
lib/modules/4.6.0-1-amd64/kernel/drivers/usb/storage/uas.ko

unamedmesglsusb在插入設備後輸出:

# uname -a
Linux pingwin 4.6.0-1-amd64 #1 SMP Debian 4.6.4-1 (2016-07-18) x86_64 GNU/Linux
# dmesg
[   53.412599] usb 2-2: new SuperSpeed USB device number 2 using xhci_hcd
[   53.429652] usb 2-2: New USB device found, idVendor=0bc2, idProduct=ab24
[   53.429659] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[   53.429662] usb 2-2: Product: BUP Slim BK
[   53.429664] usb 2-2: Manufacturer: Seagate
[   53.429667] usb 2-2: SerialNumber: NA7K016V
[   53.455444] usbcore: registered new interface driver usb-storage
[   53.458787] scsi host6: uas
[   53.458962] usbcore: registered new interface driver uas
[   53.459440] scsi 6:0:0:0: Direct-Access     Seagate  BUP Slim BK      0302 PQ: 0 ANSI: 6
[   53.497569] sd 6:0:0:0: Attached scsi generic sg2 type 0
[   53.497586] sd 6:0:0:0: [sdb] Spinning up disk...
[   54.503950] ...ready
[   56.518071] sd 6:0:0:0: [sdb] 1953525167 512-byte logical blocks: (1.00 TB/932 GiB)
[   56.518077] sd 6:0:0:0: [sdb] 2048-byte physical blocks
[   56.687950] sd 6:0:0:0: [sdb] Write Protect is off
[   56.687960] sd 6:0:0:0: [sdb] Mode Sense: 4f 00 00 00
[   56.688242] sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   56.699372]  sdb: sdb1
[   56.700399] sd 6:0:0:0: [sdb] Attached SCSI disk

# lsusb -v -d 0bc2:ab24

Bus 004 Device 002: ID 0bc2:ab24 Seagate RSS LLC 
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               3.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0 
 bDeviceProtocol         0 
 bMaxPacketSize0         9
 idVendor           0x0bc2 Seagate RSS LLC
 idProduct          0xab24 
 bcdDevice            1.00
 iManufacturer           2 Seagate
 iProduct                3 BUP Slim BK
 iSerial                 1 NA7K016V
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength          121
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0 
   bmAttributes         0x80
     (Bus Powered)
   MaxPower               36mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass         8 Mass Storage
     bInterfaceSubClass      6 SCSI
     bInterfaceProtocol     80 Bulk-Only
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0400  1x 1024 bytes
       bInterval               0
       bMaxBurst              15
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0400  1x 1024 bytes
       bInterval               0
       bMaxBurst              15
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       1
     bNumEndpoints           4
     bInterfaceClass         8 Mass Storage
     bInterfaceSubClass      6 SCSI
     bInterfaceProtocol     98 
     iInterface              0 
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0400  1x 1024 bytes
       bInterval               0
       bMaxBurst              15
       MaxStreams             32
       Data-in pipe (0x03)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0400  1x 1024 bytes
       bInterval               0
       bMaxBurst              15
       MaxStreams             32
       Data-out pipe (0x04)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x83  EP 3 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0400  1x 1024 bytes
       bInterval               0
       bMaxBurst              15
       MaxStreams             32
       Status pipe (0x02)
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x04  EP 4 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0400  1x 1024 bytes
       bInterval               0
       bMaxBurst               0
       Command pipe (0x01)
Binary Object Store Descriptor:
 bLength                 5
 bDescriptorType        15
 wTotalLength           22
 bNumDeviceCaps          2
 USB 2.0 Extension Device Capability:
   bLength                 7
   bDescriptorType        16
   bDevCapabilityType      2
   bmAttributes   0x00000002
     Link Power Management (LPM) Supported
 SuperSpeed USB Device Capability:
   bLength                10
   bDescriptorType        16
   bDevCapabilityType      3
   bmAttributes         0x00
   wSpeedsSupported   0x000e
     Device can operate at Full Speed (12Mbps)
     Device can operate at High Speed (480Mbps)
     Device can operate at SuperSpeed (5Gbps)
   bFunctionalitySupport   1
     Lowest fully-functional device speed is Full Speed (12Mbps)
   bU1DevExitLat          10 micro seconds
   bU2DevExitLat        2047 micro seconds
Device Status:     0x000c
 (Bus Powered)
 U1 Enabled
 U2 Enabled

udevadminitramfs 和工作系統上的輸出(它們幾乎相同,唯一的區別在於、statiodone_cntioerr_cnt):iorequest_cnt``urbnum

# udevadm info -a -p /sys/block/sdb on initramfs


Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

 looking at device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6/target6:0:0/6:0:0:0/block/sdb':
   KERNEL=="sdb"
   SUBSYSTEM=="block"
   DRIVER==""
   ATTR{alignment_offset}=="0"
   ATTR{badblocks}==""
   ATTR{capability}=="50"
   ATTR{discard_alignment}=="0"
   ATTR{events}==""
   ATTR{events_async}==""
   ATTR{events_poll_msecs}=="-1"
   ATTR{ext_range}=="256"
   ATTR{inflight}=="       0        0"
   ATTR{range}=="16"
   ATTR{removable}=="0"
   ATTR{ro}=="0"
   ATTR{size}=="1953525167"
   ATTR{stat}=="      72        0     4254      232        0        0        0        0        0      136      232"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6/target6:0:0/6:0:0:0':
   KERNELS=="6:0:0:0"
   SUBSYSTEMS=="scsi"
   DRIVERS=="sd"
   ATTRS{device_blocked}=="0"
   ATTRS{device_busy}=="0"
   ATTRS{dh_state}=="detached"
   ATTRS{eh_timeout}=="10"
   ATTRS{evt_capacity_change_reported}=="0"
   ATTRS{evt_inquiry_change_reported}=="0"
   ATTRS{evt_lun_change_reported}=="0"
   ATTRS{evt_media_change}=="0"
   ATTRS{evt_mode_parameter_change_reported}=="0"
   ATTRS{evt_soft_threshold_reached}=="0"
   ATTRS{inquiry}==""
   ATTRS{iocounterbits}=="32"
   ATTRS{iodone_cnt}=="0x7a"
   ATTRS{ioerr_cnt}=="0x8"
   ATTRS{iorequest_cnt}=="0x7a"
   ATTRS{model}=="BUP Slim BK     "
   ATTRS{queue_depth}=="30"
   ATTRS{queue_type}=="simple"
   ATTRS{rev}=="0302"
   ATTRS{scsi_level}=="7"
   ATTRS{state}=="running"
   ATTRS{timeout}=="30"
   ATTRS{type}=="0"
   ATTRS{vendor}=="Seagate "
   ATTRS{vpd_pg80}==""
   ATTRS{vpd_pg83}==""
   ATTRS{wwid}=="naa.5000000000000001"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6/target6:0:0':
   KERNELS=="target6:0:0"
   SUBSYSTEMS=="scsi"
   DRIVERS==""

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6':
   KERNELS=="host6"
   SUBSYSTEMS=="scsi"
   DRIVERS==""

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0':
   KERNELS=="4-2:1.0"
   SUBSYSTEMS=="usb"
   DRIVERS=="uas"
   ATTRS{authorized}=="1"
   ATTRS{bAlternateSetting}==" 1"
   ATTRS{bInterfaceClass}=="08"
   ATTRS{bInterfaceNumber}=="00"
   ATTRS{bInterfaceProtocol}=="62"
   ATTRS{bInterfaceSubClass}=="06"
   ATTRS{bNumEndpoints}=="04"
   ATTRS{supports_autosuspend}=="0"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2':
   KERNELS=="4-2"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{authorized}=="1"
   ATTRS{avoid_reset_quirk}=="0"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bDeviceClass}=="00"
   ATTRS{bDeviceProtocol}=="00"
   ATTRS{bDeviceSubClass}=="00"
   ATTRS{bMaxPacketSize0}=="9"
   ATTRS{bMaxPower}=="144mA"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bNumInterfaces}==" 1"
   ATTRS{bcdDevice}=="0100"
   ATTRS{bmAttributes}=="80"
   ATTRS{busnum}=="4"
   ATTRS{configuration}==""
   ATTRS{devnum}=="2"
   ATTRS{devpath}=="2"
   ATTRS{idProduct}=="ab24"
   ATTRS{idVendor}=="0bc2"
   ATTRS{ltm_capable}=="no"
   ATTRS{manufacturer}=="Seagate"
   ATTRS{maxchild}=="0"
   ATTRS{product}=="BUP Slim BK"
   ATTRS{quirks}=="0x0"
   ATTRS{removable}=="removable"
   ATTRS{serial}=="NA7K016V"
   ATTRS{speed}=="5000"
   ATTRS{urbnum}=="371"
   ATTRS{version}==" 3.00"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4':
   KERNELS=="usb4"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{authorized}=="1"
   ATTRS{authorized_default}=="1"
   ATTRS{avoid_reset_quirk}=="0"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bDeviceClass}=="09"
   ATTRS{bDeviceProtocol}=="03"
   ATTRS{bDeviceSubClass}=="00"
   ATTRS{bMaxPacketSize0}=="9"
   ATTRS{bMaxPower}=="0mA"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bNumInterfaces}==" 1"
   ATTRS{bcdDevice}=="0406"
   ATTRS{bmAttributes}=="e0"
   ATTRS{busnum}=="4"
   ATTRS{configuration}==""
   ATTRS{devnum}=="1"
   ATTRS{devpath}=="0"
   ATTRS{idProduct}=="0003"
   ATTRS{idVendor}=="1d6b"
   ATTRS{interface_authorized_default}=="1"
   ATTRS{ltm_capable}=="no"
   ATTRS{manufacturer}=="Linux 4.6.0-1-amd64 xhci-hcd"
   ATTRS{maxchild}=="4"
   ATTRS{product}=="xHCI Host Controller"
   ATTRS{quirks}=="0x0"
   ATTRS{removable}=="unknown"
   ATTRS{serial}=="0000:00:14.0"
   ATTRS{speed}=="5000"
   ATTRS{urbnum}=="47"
   ATTRS{version}==" 3.00"

 looking at parent device '/devices/pci0000:00/0000:00:14.0':
   KERNELS=="0000:00:14.0"
   SUBSYSTEMS=="pci"
   DRIVERS=="xhci_hcd"
   ATTRS{broken_parity_status}=="0"
   ATTRS{class}=="0x0c0330"
   ATTRS{consistent_dma_mask_bits}=="64"
   ATTRS{d3cold_allowed}=="1"
   ATTRS{device}=="0x1e31"
   ATTRS{dma_mask_bits}=="64"
   ATTRS{driver_override}=="(null)"
   ATTRS{enable}=="1"
   ATTRS{irq}=="29"
   ATTRS{local_cpulist}=="0-3"
   ATTRS{local_cpus}=="0f"
   ATTRS{msi_bus}=="1"
   ATTRS{numa_node}=="-1"
   ATTRS{subsystem_device}=="0x1949"
   ATTRS{subsystem_vendor}=="0x103c"
   ATTRS{vendor}=="0x8086"

 looking at parent device '/devices/pci0000:00':
   KERNELS=="pci0000:00"
   SUBSYSTEMS==""
   DRIVERS==""
# udevadm info -a -p /sys/block/sdb on booted system

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

 looking at device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6/target6:0:0/6:0:0:0/block/sdb':
   KERNEL=="sdb"
   SUBSYSTEM=="block"
   DRIVER==""
   ATTR{alignment_offset}=="0"
   ATTR{badblocks}==""
   ATTR{capability}=="50"
   ATTR{discard_alignment}=="0"
   ATTR{events}==""
   ATTR{events_async}==""
   ATTR{events_poll_msecs}=="-1"
   ATTR{ext_range}=="256"
   ATTR{inflight}=="       0        0"
   ATTR{range}=="16"
   ATTR{removable}=="0"
   ATTR{ro}=="0"
   ATTR{size}=="1953525167"
   ATTR{stat}=="      72        0     4254      328        0        0        0        0        0      272      328"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6/target6:0:0/6:0:0:0':
   KERNELS=="6:0:0:0"
   SUBSYSTEMS=="scsi"
   DRIVERS=="sd"
   ATTRS{device_blocked}=="0"
   ATTRS{device_busy}=="0"
   ATTRS{dh_state}=="detached"
   ATTRS{eh_timeout}=="10"
   ATTRS{evt_capacity_change_reported}=="0"
   ATTRS{evt_inquiry_change_reported}=="0"
   ATTRS{evt_lun_change_reported}=="0"
   ATTRS{evt_media_change}=="0"
   ATTRS{evt_mode_parameter_change_reported}=="0"
   ATTRS{evt_soft_threshold_reached}=="0"
   ATTRS{inquiry}==""
   ATTRS{iocounterbits}=="32"
   ATTRS{iodone_cnt}=="0xd1"
   ATTRS{ioerr_cnt}=="0x48"
   ATTRS{iorequest_cnt}=="0xd1"
   ATTRS{model}=="BUP Slim BK     "
   ATTRS{queue_depth}=="30"
   ATTRS{queue_type}=="simple"
   ATTRS{rev}=="0302"
   ATTRS{scsi_level}=="7"
   ATTRS{state}=="running"
   ATTRS{timeout}=="30"
   ATTRS{type}=="0"
   ATTRS{vendor}=="Seagate "
   ATTRS{vpd_pg80}==""
   ATTRS{vpd_pg83}==""
   ATTRS{wwid}=="naa.5000000000000001"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6/target6:0:0':
   KERNELS=="target6:0:0"
   SUBSYSTEMS=="scsi"
   DRIVERS==""

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/host6':
   KERNELS=="host6"
   SUBSYSTEMS=="scsi"
   DRIVERS==""

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0':
   KERNELS=="4-2:1.0"
   SUBSYSTEMS=="usb"
   DRIVERS=="uas"
   ATTRS{authorized}=="1"
   ATTRS{bAlternateSetting}==" 1"
   ATTRS{bInterfaceClass}=="08"
   ATTRS{bInterfaceNumber}=="00"
   ATTRS{bInterfaceProtocol}=="62"
   ATTRS{bInterfaceSubClass}=="06"
   ATTRS{bNumEndpoints}=="04"
   ATTRS{supports_autosuspend}=="0"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2':
   KERNELS=="4-2"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{authorized}=="1"
   ATTRS{avoid_reset_quirk}=="0"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bDeviceClass}=="00"
   ATTRS{bDeviceProtocol}=="00"
   ATTRS{bDeviceSubClass}=="00"
   ATTRS{bMaxPacketSize0}=="9"
   ATTRS{bMaxPower}=="144mA"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bNumInterfaces}==" 1"
   ATTRS{bcdDevice}=="0100"
   ATTRS{bmAttributes}=="80"
   ATTRS{busnum}=="4"
   ATTRS{configuration}==""
   ATTRS{devnum}=="2"
   ATTRS{devpath}=="2"
   ATTRS{idProduct}=="ab24"
   ATTRS{idVendor}=="0bc2"
   ATTRS{ltm_capable}=="no"
   ATTRS{manufacturer}=="Seagate"
   ATTRS{maxchild}=="0"
   ATTRS{product}=="BUP Slim BK"
   ATTRS{quirks}=="0x0"
   ATTRS{removable}=="removable"
   ATTRS{serial}=="NA7K016V"
   ATTRS{speed}=="5000"
   ATTRS{urbnum}=="592"
   ATTRS{version}==" 3.00"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4':
   KERNELS=="usb4"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{authorized}=="1"
   ATTRS{authorized_default}=="1"
   ATTRS{avoid_reset_quirk}=="0"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bDeviceClass}=="09"
   ATTRS{bDeviceProtocol}=="03"
   ATTRS{bDeviceSubClass}=="00"
   ATTRS{bMaxPacketSize0}=="9"
   ATTRS{bMaxPower}=="0mA"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bNumInterfaces}==" 1"
   ATTRS{bcdDevice}=="0406"
   ATTRS{bmAttributes}=="e0"
   ATTRS{busnum}=="4"
   ATTRS{configuration}==""
   ATTRS{devnum}=="1"
   ATTRS{devpath}=="0"
   ATTRS{idProduct}=="0003"
   ATTRS{idVendor}=="1d6b"
   ATTRS{interface_authorized_default}=="1"
   ATTRS{ltm_capable}=="no"
   ATTRS{manufacturer}=="Linux 4.6.0-1-amd64 xhci-hcd"
   ATTRS{maxchild}=="4"
   ATTRS{product}=="xHCI Host Controller"
   ATTRS{quirks}=="0x0"
   ATTRS{removable}=="unknown"
   ATTRS{serial}=="0000:00:14.0"
   ATTRS{speed}=="5000"
   ATTRS{urbnum}=="47"
   ATTRS{version}==" 3.00"

 looking at parent device '/devices/pci0000:00/0000:00:14.0':
   KERNELS=="0000:00:14.0"
   SUBSYSTEMS=="pci"
   DRIVERS=="xhci_hcd"
   ATTRS{broken_parity_status}=="0"
   ATTRS{class}=="0x0c0330"
   ATTRS{consistent_dma_mask_bits}=="64"
   ATTRS{d3cold_allowed}=="1"
   ATTRS{device}=="0x1e31"
   ATTRS{dma_mask_bits}=="64"
   ATTRS{driver_override}=="(null)"
   ATTRS{enable}=="1"
   ATTRS{irq}=="29"
   ATTRS{local_cpulist}=="0-3"
   ATTRS{local_cpus}=="0f"
   ATTRS{msi_bus}=="1"
   ATTRS{numa_node}=="-1"
   ATTRS{subsystem_device}=="0x1949"
   ATTRS{subsystem_vendor}=="0x103c"
   ATTRS{vendor}=="0x8086"

 looking at parent device '/devices/pci0000:00':
   KERNELS=="pci0000:00"
   SUBSYSTEMS==""
   DRIVERS==""
# /etc/udev/udev.conf (the same on booted system and in initramfs)
# see udev.conf(5) for details
#
# udevd is started in the initramfs, so when this file is modified the
# initramfs should be rebuilt.

#udev_log="info"

將磁碟插入電腦上的 USB 3 或 USB 2 埠都沒有關係。

在 initramfs 初始化之前插入的 USB2 設備被正確辨識和解決。我沒有任何其他 USB 3 設備來驗證它是否也會受到影響。但是,我可以在我朋友的電腦(使用 Ubuntu 16.04)上嘗試使用此磁碟 - 它已解決並在/dev/啟動後可用。

我是通過 initramfs-tools 還是通過 dracut 生成 initramfs 都沒有關係。

/dev/sdb*即使在啟動前插入電纜,如何確保與此硬碟相關的硬碟在完全啟動的系統中可用?

好的,這是一個瘋狂的猜測和解決方法(而不是對問題的正確理解),但它應該可以工作。

比如說,製作一個udev規則文件,/etc/udev/rules.d/z30-seagate-disk.rules然後添加以下規則:

ATTRS{manufacturer}=="Seagate", ATTRS{product}=="BUP Slim BK", SYMLINK+="seagate"

這應該強制udev進行第二次傳遞並將磁碟添加為/dev/seagate塊設備。您還需要將該文件添加到FILES變數 in/etc/mkinitcpio.conf以便它進入initramfs. (並執行mkinitcpio -p linux重建initramfs

免責聲明:在 Arch 上測試,而不是在 Debian 上測試,也沒有使用 USB 3.0。


另一種解決方法是強制uas(USB SCSI)始終由核心載入。添加到文件中說/etc/modules-load.d/seagate-disk.conf模組名稱:

uas
usb_storage
usbcore
scsi_mod
usb_common

理論上只uas需要,但我無法複製您的問題,因此我會嘗試暴力破解管理 USB HDD 所需的一切。同樣,將該文件添加FILES/etc/mkinitcpio.conf.

這將強制核心uas始終載入。可能在udev通過匯流排執行時,它錯誤地假設 USB 集線器/匯流排沒有載入任何東西,因為核心沒有載入 USB 模組。

引用自:https://unix.stackexchange.com/questions/299478