inb*_*ank 5 encryption hard-drive data-recovery
我的旧笔记本电脑昨天早上坏了,但硬盘驱动器仍在工作。
我哥哥在安装 Ubuntu 时,他选择了加密home文件夹。因此,每当我尝试在另一台计算机上使用硬盘时,它都会询问我的硬盘密码。我已经问过我哥哥了,他不知道旧密码在哪里(已经 3 年了)。
我的问题:
无论如何,是否可以完全清除硬盘驱动器或以可用于其他安装的方式对其进行格式化?
如果这是不可能的,是否有任何硬件技巧或 BIOS 技巧可以解锁驱动器?
一些有用的信息:
如果我尝试该命令,sudo mount /dev/sdb /mnt/hd2它会给我以下错误:
mount: /dev/sdb: can't read superblock
Run Code Online (Sandbox Code Playgroud)
如果我尝试查看分区表,sudo fdisk -l /dev/sdb我会得到:
fdisk: cannot open /dev/sdb: Input/output error
Run Code Online (Sandbox Code Playgroud)
我不能确定是否有任何 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?
Run Code Online (Sandbox Code Playgroud)
至于物理问题,如果我插入硬盘驱动器,它不会出现问题/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
Run Code Online (Sandbox Code Playgroud)
我认为大多数这些错误与系统无法读取设备的分区表有关,因为它是加密的。
最后,该驱动器中还有一个 Windows 分区,如果这有什么不同的话。
如果需要更多信息,我会很乐意提供。我也可以说在这种情况下恢复个人数据不是我的优先事项,它与能够再次使用驱动器更相关。另外,我为我的英语错误或格式不当表示歉意。
更新 1
完成dd后,我面临一个奇怪的问题。磁盘,即 500GB 驱动器,显示为 2GB,即使使用gparted. 此外,即使在格式化后,当我在gpartedGUI 中显示它时,它显示如下:
更新 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
Run Code Online (Sandbox Code Playgroud)
lsblk /dev/sdb 输出:
lsblk: /dev/sdb: not a block device
Run Code Online (Sandbox Code Playgroud)
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:
Run Code Online (Sandbox Code Playgroud)
sudo hdparm -I /dev/sdb 输出:
/dev/sdb:
HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)
我唯一能猜到的是驱动器在此期间卸载dd并重新安装非常快,这搞砸了一些事情。不过,我不知道到底发生了什么。我应该再试dd一次吗?
更新 3
根据要求,file /dev/sdb给我以下输出:
/dev/sdb: data
Run Code Online (Sandbox Code Playgroud)
更新 4
我想我可能找到了一些有助于理解正在发生的事情的东西。这是dd插入驱动器的屏幕截图:
在这里,在物理拔下驱动器后:
如您所见,没有关于/dev/sdb不再存在的错误,它仍然列在 ls 中,如下面的屏幕截图所示:
我还注意到出现了这种不同的颜色,sdb即使插入了驱动器也是一样的。
据我了解,这个“鬼”设备是dd问题的罪魁祸首,有什么办法可以摆脱它?
更新 5
我曾经rm删除过“ghost”文件,但我仍然不知道它是如何结束的。现在,如果我运行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 级别的密码处于活动状态,而旧计算机已死机,因此除了购买新驱动器之外别无他法。我将这篇文章标记为已解决。感谢所有加入并对此表示赞同的人。
因此,每当我尝试在另一台计算机上使用硬盘驱动器时,它都会询问我硬盘驱动器密码。
仔细读。您的硬盘已加密。也许你的 Ubuntu 主文件夹是好的,但硬盘驱动器本身也被加密了。通常,如果您有密码,可以在 BIOS 中启用和禁用加密。如果您非常不幸,驱动器是通过旧计算机上的 TPM 芯片加密的,无论如何您都无法恢复密码。阅读硬盘驱动器原来所在的系统文档。
这就是为什么 smart 声称有这么多错误,每个SATA命令都被忽略,因为驱动器首先需要授权。
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |