Bagaimana cara menghindari HDD berputar saat sistem dinyalakan? (Ubuntu dari SSD)

8

Berkat hdparm -B1 /dev/sdbHDD saya tidak lagi berputar ketika dinyalakan saat boot. Tetapi setelah menyelesaikan pesan BIOS POST dan memulai Ubuntu, HDD mendapatkan sinyal melalui kabel data SATA dan berputar.

Membiarkan kabel data (tetapi masih dengan kabel power SATA) membiarkan sistem melakukan booting sepenuhnya dari SSD saya tanpa memutar HDD.

Apa yang menyebabkan HDD berputar? Mungkin Grub2?


Sunting: tidak, sepertinya bukan Grub2 yang memutar drive. Saya baru mengatur Grub untuk menampilkan menu tanpa timer. Nothings terjadi sampai saya menekan opsi boot standar Ubuntu, kemudian beberapa detik kemudian drive berputar.


Edit dmesg | grep sdb::

[    7.080043] ata2.00: qc timeout (cmd 0xef)
[    7.080057] ata2.00: failed to IDENTIFY (SPINUP failed, err_mask=0x4)
[    9.830035] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    9.836555] ata2.00: ATA-8: SAMSUNG HD105SI, 1AJ10001, max UDMA/133
[    9.836564] ata2.00: 1953525168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[    9.842364] ata2.00: configured for UDMA/133
[    9.842644] scsi 1:0:0:0: Direct-Access     ATA      SAMSUNG HD105SI  1AJ1 PQ: 0 ANSI: 5
[    9.843249] sd 1:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[    9.843270] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    9.843487] sd 1:0:0:0: [sdb] Write Protect is off
[    9.843497] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    9.843590] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    9.844091]  sdb:
[    9.845127] scsi 2:0:0:0: CD-ROM            ATAPI    iHDS118   5      RL0C PQ: 0 ANSI: 5
[    9.851182] sr0: scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray
[    9.851191] Uniform CD-ROM driver Revision: 3.20
[    9.851554] sr 2:0:0:0: Attached scsi CD-ROM sr0
[    9.851802] sr 2:0:0:0: Attached scsi generic sg2 type 5
[    9.942896]  sdb1
[    9.943773] sd 1:0:0:0: [sdb] Attached SCSI disk
Oliver
sumber
Apa yang Anda miliki di HDD? Mungkin ureadahead sedang mencoba melakukan cache sesuatu yang tidak signifikan? Bisakah Anda juga memposting entri / etc / fstab Anda yang terkait untuk drive?
M. Tibbits
HDD saya menyimpan data seperti file manual pdf, episode StarTrek, ... Tidak ada file program, tidak ada file konfigurasi atau lebih.
Oliver
1
fstab => / dev / sdb1 / media / data ext2 noatime, pengguna, noauto 0 2
Oliver

Jawaban:

0

Cukup yakin itu adalah modul kernel untuk pengontrol yang memindai disk yang menyebabkan hd Anda berputar. Sekarang, jika saya sedikit salah, dan itu benar-benar modul untuk hard drive Anda, Anda dapat memblokir memuat modul itu selama proses boot. Lihat daftar hitam di /etc/modprobe.d/.

djeikyb
sumber
Kedengarannya mudah. Apakah saya hanya perlu menambahkan baris "sd" di blacklist.conf? Bagaimana dengan SSD yang saya asumsikan juga dimulai dengan modul sd?
Oliver
Eheh, jelas-jelas daftar hitam modul sd tidak diinginkan. Saya pikir satu-satunya harapan untuk itu adalah jika hard drive Anda memerlukan modul khusus untuk modelnya. Tetapi itu menjawab pertanyaan "Apa yang menyebabkan HDD berputar?".
djeikyb
1

Saya pikir Anda bermaksud mengatakan hdparm -s, tidak -B1, yang meminta hard disk yang kompatibel dengan APM (yang artinya hanya laptop) untuk secara otomatis standby setelah tidak ada aktivitas dalam waktu singkat. Disk Western Digital juga tampaknya tidak menerima -sperintah untuk hidup dalam keadaan siaga, tetapi memiliki jumper di bagian belakang yang dapat Anda gunakan untuk mengaktifkannya.

Driver kernel sd (scsi disk) memulai disk pertama kali diakses, yang terjadi saat boot untuk memindai tabel partisi. Hal ini juga akan restart drive setelah melanjutkan dari suspend secara default, tetapi Anda dapat menonaktifkan bahwa dengan menulis 0untuk /sys/block/sda/device/scsi_disk/*/manage_start_stop.

Saya biasanya melakukan ini dan kemudian secara manual menangguhkan drive yang saya tidak berencana gunakan dengan hdparm -ysetelah reboot.

BIOS motherboard terakhir saya tidak akan mendeteksi drive yang dinyalakan dalam keadaan siaga, tetapi Asus baru saya yang berpasir tampaknya cukup "pintar" untuk memperhatikan bahwa drive dalam keadaan siaga dan memulainya.

psusi
sumber
Tidak, maksud saya -B1. Opsi -s hanya mengatur waktu putaran ke bawah saat idle seperti yang Anda gambarkan. Misalnya -B255 dapat mengatur drive ke "run konstan" untuk mencegah spin down, spin up, ... dan dengan demikian menambah masa pakai HDD pada beberapa laptop (afaik bahkan jika Anda mengatur timer -s, ini akan diabaikan). Menulis 0 ke / sys / block / sdb / ... bekerja seperti pesona tentang resume dari STR / S3, terima kasih! Drive yang diputar ke atas akan berputar ke atas dan drive yang dipintal ke kiri akan diputar ke bawah pada resume. Sempurna! :)
Oliver
Sial ... setelah reboot / sys / block / sdb / ... menunjukkan "1" lagi. Oleh karena itu melanjutkan dari STR / S3 masih memungkinkan HDD berputar dalam hal apa pun.
Oliver
@Liver: tidak itu -S, bukan -s.
psusi
Ups! Maaf kamu benar Saya menggunakan -S untuk mengatur waktu spindown. Saya ingat bahwa saya menggunakan -s ... termasuk bendera --ya-i-tahu-apa-yang-saya-lakukan. Tapi itu setelah menggunakan -B1. Opsi -s tampaknya tidak memiliki efek lebih lanjut pada sistem saya.
Oliver
0

Saya akan mencari log untuk sdb (1), dimulai dengan dmesg:

dmesg | grep /dev/sdb
Pengguna tidak diketahui
sumber
Saya sudah melihat dmesg, tetapi saya tidak tahu bagaimana menafsirkan garis-garisnya (lihat di atas). Ada ide? Terima kasih.
Oliver
Tidak, saya minta maaf, tidak ada ide. Tapi saya tidak dalam bisnis hdd, jadi mungkin orang lain ...
pengguna tidak diketahui
@Oliver Mungkin memposting baris untuk paste.ubuntu.com dan memberikan tautan dapat membantu.
nanofarad
@ObsessiveFOSS: Saya pikir dia memasukkan garis-garis itu di posnya.
pengguna tidak diketahui
0

Linux akan memeriksa partisi pada semua hard drive saat boot, dan dengan demikian akan membaca tabel partisi dari semua hard drive yang terhubung. Ini saja akan menyebabkan spin-up Anda, tetapi mungkin ada penyebab tambahan.

Untuk analisis mendalam, AFAIK alat backend untuk ureadahead membuat daftar blok perangkat yang dibaca saat boot. Anda bisa menggunakan log-nya untuk menentukan blok hard disk mana yang dibaca, sebagai langkah pertama untuk menentukan penyebab spin-up Anda.

Pengkhayal
sumber