
我目前正在嘗試創建一個在啟動時起作用的命令,以終止我的兩個非常吵鬧的硬碟的電源。我已編輯該etc/rc.local
文件以包含此命令:
sudo hdparm -y /dev/sdc
sudo hdparm -y /dev/sdd
exit 0
雖然我認為這應該可行,但每次我重新啟動時,分配的驅動器似乎都會不斷切換。我有sda
、sdb
、sdc
、sdd
、 ,sde
但是它們一直很混亂(使得我想要關閉的驅動器與sdd
啟動時關閉正確驅動器的任務變得相當麻煩。
我有一個完美的 ftstab 文件,它消失了,但我將它從備份還原到etc/
目錄中:
# <file system> <mount point> <type> <options> <dump> <pass>
#Entry for /dev/sda1 :
UUID=43c09daf-08a5-44f2-89b0-fc7c6f0d1e67 / ext4 errors=remount-ro 0 1
#Entry for /dev/sdd1 :
UUID=443AFBAD7FE50945 /media/DX100 ntfs-3g defaults,nosuid,nodev,locale=en_CA.UTF-8 0 0
#Entry for /dev/sdb1 :
UUID=FCE456F5E456B21E /media/GalaxyM83 ntfs-3g defaults,nosuid,nodev,locale=en_CA.UTF-8 0 0
#Entry for /dev/sdf1 :
UUID=1CA057FDA057DBB8 /media/Holideck ntfs-3g defaults,nosuid,nodev,locale=en_CA.UTF-8 0 0
#Entry for /dev/sdc1 :
UUID=7ABB49654B799D40 /media/JX3P ntfs defaults,nosuid,nodev,locale=en_CA.UTF-8 0 0
似乎每次啟動時驅動器的順序都會改變。我不知道如何解決這個問題。這個問題的快速解決方法是使用 UUID 而不是 DEV 字母,方法是編輯 etc/rc.local 檔案以包括:
hdparm -y /dev/disk/by-uuid/443AFBAD7FE50945
hdparm -y /dev/disk/by-uuid/7ABB49654B799D40
所以我以為我很清楚,因為我聽到兩個硬碟在啟動過程中都死機了,但是,一旦我登錄,兩個驅動器就會再次啟動!所以現在我必須弄清楚是什麼讓它們在登入後再次啟動,或者也許是另一種方法讓它們關閉。登入後我可以執行某種命令嗎?我嘗試編輯啟動應用程式以包含 autossh:
autoshh - sudo hdparm -y /dev/disk/by-uuid/7ABB49654B799D40
autoshh - sudo hdparm -y /dev/disk/by-uuid/443AFBAD7FE50945
但這似乎無法在登入後關閉磁碟。
答案1
您嘗試關閉的磁碟似乎包含 NTFS 分割區。找出卷標是什麼,在下面的範例中我將使用標籤 DATA。然後你可以使用以下腳本:
for drive_letter in {a..f} ; do
if [ "`ntfslabel /dev/sd${drive_letter}1`" == "DATA" ] ; then
sudo hdparm -y /dev/sd${drive_letter}1
fi
done
解釋
for drive_letter in {a..f} ; do
循環遍歷字母 afif [ "``ntfslabel /dev/sd${drive_letter}1``" == "DATA" ] ; then
檢查裝置 /dev/sda1、/dev/sdb1 等的標籤並將其與 DATA 進行比較(抱歉有雙反引號)sudo hdparm -y /dev/sd${drive_letter}1
是有效負載