Filesystems
Ubuntu 11.04 和大型外部驅動器
我有一個連接到 Dell Precision T1500 的 Hitachi USB 外置 3 TB 驅動器。當連接到執行 Ubuntu 11.04(2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:17:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux)的電腦時,日誌中會出現以下內容:
[1636365.665558] usb 2-1.7: new high speed USB device using ehci_hcd and address 15 [1636365.813198] scsi18 : uas [1636377.895182] scsi 18:0:0:0: Direct-Access Hitachi Hitachi HDS72303 A580 PQ: 0 ANSI: 4 [1636384.388480] scsi 18:0:0:0: uas_eh_abort_handler tag 0 [1636384.388485] scsi 18:0:0:0: uas_eh_device_reset_handler tag 0 [1636384.388487] scsi 18:0:0:0: uas_eh_target_reset_handler tag 0 [1636384.388489] scsi 18:0:0:0: uas_eh_bus_reset_handler tag 0 [1636384.468415] usb 2-1.7: reset high speed USB device using ehci_hcd and address 15 [1636384.609589] scsi 18:0:0:0: Device offlined - not ready after error recovery [1636384.609649] scsi 18:0:0:0: rejecting I/O to offline device [1636384.609663] scsi 18:0:0:0: rejecting I/O to offline device [1636384.610978] scsi 18:0:0:1: Enclosure Hitachi SES A580 PQ: 0 ANSI: 4 [1636384.611472] scsi 18:0:0:2: uas_eh_device_reset_handler tag -1 [1636384.611477] scsi 18:0:0:2: uas_eh_target_reset_handler tag -1 [1636384.611481] scsi 18:0:0:2: uas_eh_bus_reset_handler tag -1 [1636384.707808] usb 2-1.7: reset high speed USB device using ehci_hcd and address 15 [1636384.838735] scsi 18:0:0:2: Device offlined - not ready after error recovery [1636384.838952] sd 18:0:0:0: Attached scsi generic sg4 type 0 [1636384.839029] ses 18:0:0:1: Attached Enclosure device [1636384.839080] ses 18:0:0:1: Attached scsi generic sg5 type 13 [1636415.301027] sd 18:0:0:0: uas_eh_abort_handler tag 0 [1636415.301036] sd 18:0:0:0: uas_eh_device_reset_handler tag 0 [1636415.301042] sd 18:0:0:0: uas_eh_target_reset_handler tag 0 [1636415.301046] sd 18:0:0:0: uas_eh_bus_reset_handler tag 0 [1636415.381053] usb 2-1.7: reset high speed USB device using ehci_hcd and address 15 [1636415.522005] sd 18:0:0:0: Device offlined - not ready after error recovery [1636415.522080] sd 18:0:0:0: rejecting I/O to offline device [1636415.522093] sd 18:0:0:0: rejecting I/O to offline device [1636415.522101] sd 18:0:0:0: rejecting I/O to offline device [1636415.522107] sd 18:0:0:0: [sdc] READ CAPACITY failed [1636415.522110] sd 18:0:0:0: [sdc] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK [1636415.522116] sd 18:0:0:0: [sdc] Sense not available. [1636415.522123] sd 18:0:0:0: rejecting I/O to offline device [1636415.522129] sd 18:0:0:0: [sdc] Write Protect is off [1636415.522133] sd 18:0:0:0: [sdc] Mode Sense: 00 00 00 00 [1636415.522139] sd 18:0:0:0: rejecting I/O to offline device [1636415.522144] sd 18:0:0:0: [sdc] Asking for cache data failed [1636415.522147] sd 18:0:0:0: [sdc] Assuming drive cache: write through [1636415.522355] sd 18:0:0:0: [sdc] Attached SCSI disk
根據我在 Internet 上的發現,這可能與分區大於 2 TB 有關。我將驅動器連接到 Windows XP 系統並將驅動器分成兩個 NTFS 分區,每個分區 1.5 TB。它目前有一個 GUID 分區表。
我嘗試使用 gdisk 查看驅動器,但 Linux 不承認該驅動器以任何方式可用。不過,它似乎可以在 Windows 和 OS X 下工作(或者至少在這些作業系統下用於格式化和分區的實用程序可以看到它……)
我是否遺漏了一些簡單的東西來讓它在 Linux 下正常工作?
有幾種可能的原因和您可能會做的事情。dmesg 摘錄暗示了一些事情:
- 核心嘗試多次訪問該設備。似乎每次都因為某種原因沒有完成。
- 有通知
not ready after error recovery
表明該驅動器要麼未能進行文件系統檢查(儘管已嘗試),要麼需要檢查,但您的系統不知道如何執行此操作。- 使用新的
uas
核心驅動程序訪問驅動器 - 這可能是驅動器的唯一方法>2TB
,但在您搜尋解決方案時值得了解。我能想到的可能原因:
- 機箱隨附的驅動電子設備設置為使用不符合標準的通信設置或設備供電。如果電源是問題並且您的機箱帶有外部電源,那麼如果您到目前為止還沒有使用它,那麼您絕對應該使用它。如果問題出在某些專有通信機制上,您可以通過查看附件手冊或執行可以將驅動器切換到標准或傳統模式的 Windows 程序來解決它(它可能被稱為任何東西)。
- 驅動器需要很長時間才能穩定 - 您的系統可能配置為在插入後驅動器自身可用之前等待太短。要檢查/更改它,請執行
cat /sys/module/usb_storage/parameters/delay_use
- 您將看到以秒為單位的值。如果是 5 秒或更短,請嘗試將其更改為10
(sudo echo 10 > sys/module/usb_storage/parameters/delay_use
),然後插入驅動器。- 核心不知道 GPT 分區類型。您說您使用
gdisk
了 ,但它可能無法辨識 GPT 分區,因為核心根本不知道這些分區。要檢查這一點,請驗證您目前的核心配置是否同時具有CONFIG_PARTITION_ADVANCED
並CONFIG_EFI
設置為y
(據我回憶,在 Ubuntu 上,核心配置位於/boot
目錄下)。- 由於您使用了 NTFS(我認為對於大型驅動器來說不是一個好的 fs,但是 - 也沒有與 Windows 一起工作的好選擇),文件系統可能需要進行一致性檢查。這可能會阻止 linux 工具安裝它,但不能解釋為什麼驅動器不能被
gdisk
. 儘管如此,將其插入 Windows 機器並執行完整的檢查磁碟不會受到傷害。- 瀏覽了**這個論壇文章**後,我相信主要問題畢竟可能是驅動器外殼。