我的舊筆記型電腦昨天早上壞了,但硬碟仍然可以工作。
當我兄弟安裝 Ubuntu 時,他選擇加密home
資料夾。因此,每當我嘗試在另一台電腦上使用硬碟時,它都會詢問我硬碟密碼。我已經問過我哥哥了,他也不知道舊密碼在哪裡(已經三年了)。
我的問題:
無論如何,是否可以完全清除硬碟或以可用於其他安裝的方式進行格式化?
如果這是不可能的,是否有任何硬體技巧或 BIOS 技巧可以用來解鎖驅動器?
一些有用的信息:
如果我嘗試該命令,sudo mount /dev/sdb /mnt/hd2
它會出現以下錯誤:
mount: /dev/sdb: can't read superblock
如果我嘗試使用查看分區表,sudo fdisk -l /dev/sdb
我會得到:
fdisk: cannot open /dev/sdb: Input/output error
我無法確定是否有 BIOS 等級的密碼。
此sudo fsck /dev/sdb
命令給出以下輸出:
fsck from util-linux 2.28.1
e2fsck 1.43.1 (08-Jun-2016)
fsck.ext2: Attempt to read block from filesystem resulted in short read while trying to open /dev/sdb
Could this be a zero-length partition?
就物理問題而言,如果我插入硬碟,則顯示中沒有任何問題/dev
,沒有咔嗒聲,輸出dmesg | tail
如下:
[11267.246656] sd 51:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 02 00 00 02 00
[11267.246659] blk_update_request: critical medium error, dev sdb, sector 2
[11267.246665] Buffer I/O error on dev sdb, logical block 1, async page read
[11267.265418] sd 51:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[11267.265426] sd 51:0:0:0: [sdb] tag#0 Sense Key : Medium Error [current]
[11267.265431] sd 51:0:0:0: [sdb] tag#0 Add. Sense: Unrecovered read error
[11267.265436] sd 51:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 04 00 00 04 00
[11267.265440] blk_update_request: critical medium error, dev sdb, sector 4
[11267.265445] Buffer I/O error on dev sdb, logical block 2, async page read
[11267.265449] Buffer I/O error on dev sdb, logical block 3, async page read
我認為這些錯誤大多數與系統無法讀取設備的分區表有關,因為它是加密的。
最後,如果這有什麼區別的話,該磁碟機中還有一個 Windows 分割區。
如果需要更多信息,我很樂意提供。我還可以說,在這種情況下,恢復個人資料不是我的首要任務,它更與能夠再次使用該驅動器有關。另外,我為我的英語錯誤或格式不當道歉。
更新1
完成後dd
,我遇到了一個奇怪的問題。該磁碟(即 500GB 磁碟機)顯示為 2GB,即使在使用gparted
.另外,即使格式化後,當我在gparted
GUI 中顯示它時,它顯示如下:
更新2
dd
報告寫了2GB,我猜這是引導磁區或類似的東西。
sudo fdisk -l /dev/sdb
輸出:
Disk /dev/sdb: 1,9 GiB, 1994428416 bytes, 3895368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
lsblk /dev/sdb
輸出:
lsblk: /dev/sdb: not a block device
sudo parted /dev/sdb print
輸出:
Error: /dev/sdb: unrecognised disk label
Model: (file)
Disk /dev/sdb: 1994MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
sudo hdparm -I /dev/sdb
輸出:
/dev/sdb:
HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
我唯一能猜測的是,驅動器在安裝過程中卸載dd
並重新安裝得非常快,這搞砸了一些東西。儘管如此,我還是不知道到底發生了什麼事。我應該再嘗試dd
一次嗎?
更新3
根據要求,file /dev/sdb
給我以下輸出:
/dev/sdb: data
更新4
我想我可能已經找到了一些有助於理解正在發生的事情的東西。這是dd
插入驅動器時的螢幕截圖:
在這裡,物理拔掉驅動器後:
正如您所看到的,不存在關於/dev/sdb
不再存在的錯誤,而且它仍然列在 ls 中,如下面的螢幕截圖所示:
我還注意到sdb
出現的這種不同的顏色,即使插入驅動器它也是相同的。
據我了解,這個「幽靈」設備是造成這個dd
問題的原因,有什麼辦法可以擺脫它嗎?
更新5
我曾經rm
刪除過“幽靈”文件,但我仍然不知道它是如何結束的。現在,如果我運行dd
,它不會告訴我它寫入了 2GB,並且如您所見,在快速運行和中斷之後,磁碟「正確」顯示在gparted
:
但即便如此,打開gparted
還是給了我很多這樣的錯誤視窗:
如果我嘗試建立新的分割區表或在磁碟機中建立新分割區,則會出現類似的視窗。這是否意味著我必須dd
在整個設備中運行或驅動器有物理損壞?需要注意的一件事是,我status=progress
在命令上添加了該選項dd
,運行一段時間後(並不總是以相同的大小),沒有更多的進度更新,並且我不確定是否dd
卡在壞扇區或類似的地方那。我現在使用的命令是sudo dd if=/dev/zero of=/dev/sdb bs=4M status=progress
.
更新6
因此,gnome-disks
沒有給我選擇(至少沒有啟用)在驅動器上執行自我檢測。儘管如此,我嘗試使用gsmartcontrol
,這就是我得到的:
如果我嘗試使用此工具執行自測試,則會收到此錯誤。
透過使用命令列版本,運行sudo smartctl /dev/sdb -a
應該會給我 SMART 信息,並且由於輸出很長,我將其粘貼到 Pastebin 上,因為我不確定這篇文章是否變得太大。
根據輸出,有很多錯誤,但我不確定這些錯誤是否是由於加密磁碟機問題而發生的。
最終更新
由於磁碟機中有一個 BIOS 級密碼處於活動狀態,而舊電腦已報廢,因此除了購買新磁碟機之外,沒有什麼可做的。我將這篇文章標記為已解決。感謝所有加入並給予支持的人。
答案1
因此,每當我嘗試在另一台電腦上使用硬碟時,它都會詢問我硬碟密碼。
仔細讀。您的硬碟已加密。也許你的 Ubuntu 主資料夾是好的,但硬碟本身也被加密了。通常,如果您有密碼,可以在 BIOS 中啟用和停用加密。如果您非常不幸,該驅動器是透過舊電腦上的 TPM 晶片加密的,無論如何您都無法恢復密碼。閱讀硬碟原來所在的系統文件。
這就是為什麼 smart 聲稱有這麼多錯誤,每個SATA命令都被忽略,因為驅動器首先需要授權。