![以二进制形式查看硬盘内容](https://linux22.com/image/1504343/%E4%BB%A5%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%BD%A2%E5%BC%8F%E6%9F%A5%E7%9C%8B%E7%A1%AC%E7%9B%98%E5%86%85%E5%AE%B9.png)
有什么方法可以查看硬盘中十六进制或二进制的内容吗?我目前使用的是 Debian
答案1
是的,你可以将任何块设备作为文件打开。事实上,Linux 的哲学是一切都是文件。
您要访问的块设备可能是/dev/hda
或/dev/sda
。因为它是非常大的文件,我建议你使用wxHex编辑器:
wxHexEditor /dev/sda
来自网站:
wxHexEditor 不是普通的十六进制编辑器,但也可以用作低级磁盘编辑器。如果您的硬盘或分区出现问题,您可以通过编辑原始十六进制中的扇区从硬盘或分区恢复数据。
您可以编辑分区表,也可以借助 wxHexEditor 手动从文件系统恢复文件。或者您可能想要分析大型二进制文件、分区、设备……
答案2
在类 Unix 操作系统中,所有内容(包括块设备,例如硬盘)都是文件。您可以使用十六进制文件转储实用程序(以超级用户身份)检查磁盘设备的原始内容。xxd
通常随软件包一起分发vim-common
,但任何 hexdump 实用程序都可以。磁盘分区或任何其他类似磁盘的块设备(例如,/dev/mapper/
如果您使用 LVM)也可以读取。通过 less 管道传输输出,以便您可以滚动浏览并搜索输出:
sudo xxd /dev/sda | less
如果您只想查找可打印字符,您可以使用该strings
实用程序(来自binutils
包):
sudo strings /dev/sda | less
答案3
我尝试对一些被擦除的 6TB 驱动器进行抽样检查。大多数命令读取指定的偏移量,并且不会查找偏移量。这是大型输入源的问题。
以下执行搜索并且是立即/快速的:
sudo dd if=/dev/sda skip=5T count=4kB iflags=skip_bytes,count_bytes 2>/dev/null | od | head
如果驱动器已被擦除,则会显示一些带有乘数的零;否则将显示未擦除(零)数据的头部。
答案4
您可以使用以下命令:
hexdump /dev/sda -C | less
sda
您的磁盘在哪里,以及-C
用于十六进制和 ASCII 视图。如果没有最后一个选项,则只会显示十六进制。