使先前加密的硬碟再次正常使用

使先前加密的硬碟再次正常使用

我的舊筆記型電腦昨天早上壞了,但硬碟仍然可以工作。

當我兄弟安裝 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.另外,即使格式化後,當我在gpartedGUI 中顯示它時,它顯示如下:

在 GUI 上顯示

gparted 上驅動器的詳細信息

更新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命令都被忽略,因為驅動器首先需要授權。

相關內容