我想查看外部 Linux 驱动器的交换分区内部。
我如何将其安装为常规文件系统目录?
我尝试通过
mount -o loop,offset=35556433920 -t linux-swap /mnt/GentooBackup/disk.img /mnt/another/
但得到了
mount: unknown filesystem type 'linux-swap'
查看页面文件的正确方法是什么?
答案1
如前所述,交换分区不包含文件系统,也不包含我们所认为的文件。此外,交换分区(如果处于活动状态)在启动时会被完全清除,这意味着它将被零填充。
那么,您如何查看交换分区内部情况呢?答案相当简单,我担心答案会令人失望...如果您从另一个未使用交换分区的系统(例如实时系统)启动,则可以通过 中的分区条目轻松访问交换分区/dev
。
要找出交换分区所在的位置,请fdisk -l
以 root 身份运行,这将打印所有硬盘的分区表,例如这个:
Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 * 1 196 395104+ 83 Linux
/dev/hdb2 197 262 133056 82 Linux swap
/dev/hdb3 263 458 395136 83 Linux
/dev/hdb4 459 621 328608 83 Linux
这里我们看到交换分区位于 下/dev/hdb2
。那么,如何从中读取内容呢?使用十六进制编辑器,例如。如果您只是好奇,您也可以转储内容并运行strings
:
cat /dev/hdb2 | strings
请注意,这将通过 strings 命令运行整个交换分区,该命令将打印它找到的所有可打印字符……这很可能很多的。
答案2
你不能,因为它不是一个常规文件系统。请参阅答案这个问题. 没有实际文件在交换区内部,它只是一大块内存。