有問題的型號是金士頓 SV300S37A120G。
我讀這裡當嘗試解鎖安全密碼時,如果它包含特殊字符,我應該在它周圍加上“引號”。這適用於上限嗎?
sudo hdparm --user-master u --security-set-pass XXXXXX /dev/sda
我透過在從實時 USB 運行的 UbuntuStudio 中發出命令來設定密碼。然後我可以確認安全性已從未啟用到已啟用。
更新
我問的原因是因為我一直在嘗試發出sudo hdparm --user-master u --security-unlock XXXXXX /dev/sda
(XXXXXX 是我選擇的密碼,然後""
是"NULL"
,
然後是「我選擇的密碼用引號引起來」)。
無論我嘗試哪種變體,我都會不斷得到
security_password: "XXXXXX"
/dev/sda:
Issuing SECURITY_UNLOCK command, password="XXXXXX", user=user
SECURITY_UNLOCK: Input/output error
當我最初嘗試繼續進行時,也發生了同樣的情況sudo hdparm --user-master u --security-erase XXXXXX /dev/sda
。
更重要的是,今天早上我重新啟動了系統,發現sudo hdparm -I /dev/sda
現在不僅返回已啟用但是也鎖定,下Security
,而在重新啟動之前它是已啟用但未鎖定。
更新二
--user-master u --security-erase "XXXXXX " /dev/sda
(這是我選擇的密碼 + 26 個空格 = 32 個字元)
或者
--user-master m --security-erase NULL /dev/sda
或者
--user-master m --security-erase " " /dev/sda
(即 32 個空格)
全部返回
security_password: "password_as_typed"
/dev/sda:
Issuing SECURITY_UNLOCK command, password="password_as_typed", user=user (in 1st case) OR master (in 2nd and 3rd case)
SECURITY_UNLOCK: Input/output error
任何形式的幫助將不勝感激。
答案1
好的。這是我對任何有興趣在 Ubuntu 環境中對金士頓 SSD 進行安全擦除的人說的話。
sudo hdparm --user-master u --security-set-pass <password> /dev/sda
按建議發行這裡等地方(<password>
即您選擇的密碼)
確實會在您的磁碟機上設定使用者密碼。
請注意,您不得將密碼包含在所謂的 V 形符號(<
和>
)中。
如果您這樣做,終端將返回bash: password: No such file or directory
(password
是您選擇的密碼)。
您可以透過發出以下命令來確認您的密碼已設置sudo hdparm -I /dev/sda
安全現在已經從未啟用到已啟用,
根據上述鏈接,這意味著是時候繼續進行了sudo hdparm --user-master u --security-erase <password> /dev/sda
。
這就是麻煩開始的地方。
security_password: "<password>"
/dev/sda:
Issuing SECURITY_ERASE command, password="<password>", user=user
SECURITY_ERASE: Input/output error
……終端回復道。
我一直在嘗試,輸入帶或不帶引號的密碼,用其他建議替換它,例如""
, "NULL"
, 或NULL
,但終端一直給我相同的答案,底線是Input/output error
兩天過去了,我認為重新啟動是明智的。下次我發佈時sudo hdparm -I /dev/sda
我可以看到安全不僅從未啟用到已啟用,而且還來自未鎖定到鎖定。
這很正常。剛設定密碼後,磁碟機將保持解鎖狀態,直到下一次電源循環。
雖然這可能很正常,但我有點擔心,所以我決定先嘗試解鎖我的驅動器,然後再用它做任何其他事情。
根據我的經驗這是不可能的。
sudo hdparm --user-master u --security-unlock <password> /dev/sda
回報
security_password: "<password>"
/dev/sda:
Issuing SECURITY_UNLOCK command, password="<password>", user=user
SECURITY_UNLOCK: Input/output error
將密碼括在引號中沒有什麼差別。
sudo hdparm --user-master m --security-unlock "" /dev/sda
sudo hdparm --user-master m --security-unlock "NULL" /dev/sda
sudo hdparm --user-master m --security-unlock NULL /dev/sda
甚至
sudo hdparm --user-master m --security-unlock " " /dev/sda
(即 32 個空格)
全部返回
security_password: "whatever_pw_I_provide"
/dev/sda:
Issuing SECURITY_UNLOCK command, password="whatever_pw_I_provide", user=master
SECURITY_UNLOCK: Input/output error
請注意,在這種情況下我嘗試過米代替你,如掌握代替使用者,在某處讀過(目前找不到連結)設定使用者密碼會將主密碼設定回 NULL;儘管在金士頓的情況下,他們說默認情況下它是 NULL,除非經銷商進行更改。
(reference: https://www.kingston.com/datasheets/SVP100ES2_us.pdf)
無論如何,我做過嘗試使用這些變體米和你,取得零進展。
令我驚訝的是,有一刻我對自己說見鬼去吧並輸入
sudo hdparm --user-master m --security-erase "" /dev/sda
終端思考了我剛才所說的話......然後看哪,我的驅動器被擦除了。
""
返回Input/output error
命令的完全相同的主密碼 ( )security-unlock
與該命令配合得很好security-erase
。
正如 Tom Yan 所提到的,有一個漏洞在hdparm
。
類似問題也有報告這裡:
當我輸入 NULL 作為安全性時,它顯示為“”,但在解鎖命令中輸入 NULL 顯示為“NULL”
底線:不要鎖定您的 SSD,除非您確實打算擦除它。
PS:太糟糕了,我的聲譽不允許我發布超過 2 個連結。
答案2
Input/output error
表示密碼被驅動器拒絕(因為它是錯誤的;或者每個電源週期五次試驗已經用完了,即expired: security count
在hdparm -I
),至少我的Intel SSD(X25-M G1 / 530)是這樣。
我不確定打嗝的原因是什麼您的驅動器/機箱儘管。可能是您一直在使用舊的/有缺陷的 hdparm 版本;可能是您的驅動器的韌體有問題。
無論如何,您可以嘗試:
- 如果您還沒有這樣做,請使用最新版本的 hdparm(目前為 9.48)
- 引用並用空格填充您的密碼,直到達到最大可能長度(即 32 個字元;例如
"XXXXXX "
) - 使用,
--user-master m
代替--user-master u
, 密碼如NULL
or" "
(即 32 個空格)
正如我之前提到的,請確保每次嘗試的次數不要超過五次電源週期(在某些情況下,「重新啟動」是不夠的;hdparm -I
在花費精力之前請確認)。
即使在 9.48 版本中也有一個漏洞with--security-unlock
作為特殊密碼NULL
,因此您可能想要堅持使用,--security-disable
直到找出問題所在(顯然""
相當於NULL
因此也可以用來解決該錯誤)。
....現在不僅返回啟用狀態而且還鎖定...
這很正常。剛設定密碼後,磁碟機將保持解鎖狀態,直到下一次電源循環。
答案3
在這種情況下,特殊字元看起來像是命令列將解釋的開關或修飾符的任何內容。像-
or 這樣的東西/
,它可以被認為是命令上的另一個標誌。
為了安全起見,您應該假設任何非字母數字(az、1-0)的內容都是「特殊」的,並且需要用引號引起來。大寫字母不是特殊字元。
另一方面,您可能總是將密碼用雙引號引起來,而不用擔心是否有特殊字元。
有趣的是,手冊頁沒有指定這個限制,hdparm 手冊頁。
答案4
我遇到了同樣的問題,啟動安全擦除後我的驅動器被鎖定。
我終於用這個指令解決了無密碼問題:
sudo hdparm --security-disable NULL / dev / sda
檢查後
sudo hdparm -I /dev/sda
讀者不再被鎖定:)