나는 1 개 개의 SATA 버스에 하드 디스크와 삼성 노트북 (크로노스 S7)가 ata:1
로 감지되고 /dev/sda
,에 8 세대 SSD ata:2
, /dev/sdb
및 SATA 인터페이스의 나머지 부분에 다양한 장치를.
문제는 SSD 디스크가
- 메인 보드에 납땜 됨 (이동할 수 없음)
- 버스트 됨 (모든 작업에 대한 I / O 오류 만 제공함)
- 그것은 바이오스에 나타나지 않습니다 (아마 파손 되었기 때문에)
이제이 디스크는 :
- 부팅이 실패한 디스크를 검사하려고 시도하는 데 3 ~ 5 분이 지연됩니다.
- 그러나 가장 성가신 것은 실패로 인해 시스템이 일시 중단되지 않는다는 것입니다
/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"
다시 말하지만 이것은 사용자 공간에서 디스크를 마스킹하는 효과가 있지만 디스크는 여전히 커널에서 볼 수 있습니다.
모든 가능한 조합으로 부팅 (물론, 그들 중 많은)의
libata:force
(예를 들어 발견 매개 변수 여기 비활성화 DMA, 낮은 속도 또는 무엇이든 실패한 디스크에 대해 --- 작동하지 않는 순서대로). 매개 변수가 사용되지만 디스크는 여전히 검사되어 실패합니다.http://paste.ubuntu.com/6186145/에 전체
udevadm info -a -n /dev/sdb
붙여 넣기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
( http://ubuntuforums.org/showthread.php?t=1935699&p=11739579#post11739579의 SSD 데이터 ).
/etc/fstab
했습니까? 부팅 지연은 커널이나 udev에 의해 더 일찍 발생할 수 있기 때문에, 읽을 때 나중에 fsck에 의해 발생fstab
합니다.