ฉันมีแล็ปท็อปซัมซุง (โครโนส S7) กับหนึ่งดิสก์ SATA ฮาร์ดบนรถบัสata:1
ซึ่งจะตรวจพบว่าเป็น/dev/sda
ความ 8G SSD บนata:2
, /dev/sdb
และอุปกรณ์อื่น ๆ ในส่วนที่เหลือของอินเตอร์เฟซ SATA
ปัญหาคือดิสก์ SSD นั้น
- บัดกรีให้กับกระดานหลัก (unmovable)
- จับ (มันแค่ให้ข้อผิดพลาด I / O สำหรับการดำเนินการใด ๆ )
- มันไม่ปรากฏในประวัติ (อาจเป็นเพราะมันเสีย)
ตอนนี้ดิสก์นี้:
- หน่วงเวลาบูตสามถึงห้านาทีพยายามตรวจสอบดิสก์ที่ล้มเหลวซึ่งน่ารำคาญ
- แต่สิ่งที่น่ารำคาญที่สุดคือระบบไม่สามารถระงับได้เนื่องจาก
/dev/sdb
ความล้มเหลว
สังเกตเห็นว่าฉันสามารถอยู่กับความล่าช้าในการบูต --- สิ่งที่ฉันกังวลคือสิ่งที่ดำเนินการต่อ / หยุดชั่วคราว
ดังนั้นคำถามคือ:ฉันสามารถบอกเคอร์เนลเพื่อหลีกเลี่ยงการละเอียดอุปกรณ์ใน ata: 2 ได้หรือไม่
ในเคอร์เนลที่เก่ากว่า (<3.0) เมื่อฉันยังสามารถขุดลงไปในแหล่งที่มาได้มีพารามิเตอร์บรรทัดคำสั่งของรูปแบบhdb=ignore
ที่จะได้ทำเคล็ดลับ
ฉันได้ลองใช้เทคนิคทั้งหมดที่เสนอด้านล่างด้วยudev
และlibata:force
พารามิเตอร์เคอร์เนลเพื่อประโยชน์ โดยเฉพาะอย่างยิ่งต่อไปนี้ใช้งานไม่ได้:
การเพิ่มลงใน
/etc/udev/rules.d/
ไฟล์ใดไฟล์หนึ่งต่อไปนี้(ในการประมวลผลก่อนหน้าเช่น00-ignoredisk.rules
หรือในช่วงปลาย99-ignoredisk.rules
หรือในทั้งสองสถานที่)SUBSYSTEMS=="scsi", DRIVERS=="sd", ATTRS{rev}=="SSD ", ATTRS{model}=="SanDisk iSSD P4 ", ENV{UDISKS_IGNORE}="1"
ไม่
KERNEL=="sdb", ENV{UDISKS_IGNORE}="1"
หรือโซลูชันระดับกลางจำนวนมาก --- สิ่งนี้ทำให้ดิสก์ไม่สามารถเข้าถึงได้หลังจากการบู๊ต แต่มันถูกตรวจสอบตอนบู๊ตและยังตรวจสอบเมื่อหยุดทำงาน --- ทำให้การหยุดทำงานล้มเหลว
การแก้ไขการเปลี่ยนแปลงไฟล์ระบบ
/lib/udev/rules.d/60-persistent-storage.rules
(และudisks
,udisks2
)KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md", GOTO="persistent_storage_end"
ไปยัง
KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md|sdb*", GOTO="persistent_storage_end"
อีกครั้งนี้มีผลกระทบบางอย่างกำบังดิสก์จาก userspace แต่ดิสก์ยังสามารถมองเห็นเคอร์เนล
การบูตด้วยชุดค่าผสมที่เป็นไปได้ทั้งหมด (เช่นกันจำนวนมาก) ของ
libata:force
พารามิเตอร์ (ดูตัวอย่างที่นี่ ) เพื่อปิดการใช้งาน DMA ความเร็วต่ำกว่าหรืออะไรก็ตามที่เกี่ยวกับดิสก์ที่ล้มเหลว --- ไม่ทำงาน มีการใช้พารามิเตอร์ แต่ดิสก์ยังคงถูกตรวจสอบและล้มเหลวudevadm info -a -n /dev/sdb
วางแบบเต็มไปที่http://paste.ubuntu.com/6186145/smartctl -i /dev/sdb -T permissive
ให้:root@samsung-romano:/home/romano# smartctl -i /dev/sdb -T permissive smartctl 5.43 2012-06-30 r3573 [x86_64-linux-3.8.0-31-generic] (local build) Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net Vendor: /1:0:0:0 Product: User Capacity: 600,332,565,813,390,450 bytes [600 PB] Logical block size: 774843950 bytes >> Terminate command early due to bad response to IEC mode page
ซึ่งผิดอย่างชัดเจน อย่างไรก็ตาม:
root@samsung-romano:/home/romano# fdisk -b 512 -C 970 -H 256 -S 63 /dev/sdb fdisk: unable to read /dev/sdb: Input/output error
(ข้อมูล SSD จากhttp://ubuntuforums.org/showthread.php?t=1935699&p=11739579#post11739579 )
/etc/fstab
? เนื่องจากความล่าช้าในการบูตที่อาจจะเกิดขึ้นก่อนหน้านี้โดยเคอร์เนลหรือ udev ซึ่งดูเหมือนว่าจะเป็นกรณีที่ แต่ยังในภายหลังโดย fsckfstab
เมื่ออ่าน