在 Intel 多處理器系統上,系統啟動期間可能會發生 ata 驅動程式逾時。當根裝置所在的磁碟機具有連結至老舊的 ata 驅動程式的 HBA 控制器時,這些逾時會發生。在系統啟動期間,這些逾時會導致暫時當機、死當或程式發生錯誤,主控台訊息類似於下列內容:
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset bus, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: early timeout, target=0 lun=0 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: abort request, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: abort device, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset target, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset bus, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: early timeout, target=0 lun=0 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): |
解決方法: 請選取以下解決方法之一:
若要避免效能降低,在可以使用解決方法 5 之前,解決方法 3 或解決方法 4 只能暫時使用。
解決方法 1: 在 BIOS 中啟用 AHCI (如果在系統中可用)。啟用此設定需要重新安裝 Solaris 作業系統。
解決方法 2: 將 Solaris 安裝在不使用 ata 驅動程式的控制器之磁碟上 。
解決方法 3: 在 BIOS 設定中停用 MP,以啟動單一處理器。
解決方法 4: 在 Solaris 中停用 MP,以啟動單一處理器。請從 Grand Unified Bootloader (GRUB) 功能表執行下列步驟:
鍵入 e 以編輯所選取的 Solaris 項目。
瀏覽至以 kernel 開始的行。
鍵入 e 以切換至 GRUB 編輯模式。
在該行中增加 -kd。
按 ENTER 鍵接受變更。
鍵入 b 以啟動所選取的 Solaris 項目。
在 kbmd 提示符號處,鍵入下列指令:
use_mp/W 0 :c |
若是執行系統啟動,請繼續步驟 10。否則,請安裝 Solaris 10 5/09 軟體。
安裝作業結束後,請重新啟動系統。重複步驟 1 至 7。
若要此變更永久存在,以便針對後續啟動不需要重複上述步驟,請執行以下作業:
在系統啟動完成後成為超級使用者。
請開啟 /etc/system 檔案。
增加下列行:
set use_mp = 0 |
解決方法 5: 停用微碼更新。鍵入以下指令:
# mv /platform/i86pc/ucode /platform/i86pc/ucode.disabled |
系統啟動後,可手動呼叫微碼更新:
# ucodeadm -u /platform/i86pc/ucode.disabled/intel-ucode.txt |