fdisk -l 显示分区不在 /dev 目录中

fdisk -l 显示分区不在 /dev 目录中

我在 Linux 上安装 NTFS 硬盘时遇到了麻烦。我正在运行 Ophcrack live CD。

fdisk显示我已在计算机上安装的硬盘。

fdisk -l

Disk /dev/hdc: 30.0 GB, 30005821440 bytes
255 heads, 63 sectors/track, 3648 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks  Id System
/dev/hdc1   *           1        3647    29294496   7 HPFS/NTFS

但是我的目录中没有该设备/dev,所以我无法安装它。

ls /dev/hd*
/dev/hda   /dev/hda4  /dev/hda8  /dev/hdb2  /dev/hdb6  /dev/hdc
/dev/hda1  /dev/hda5  /dev/hda9  /dev/hdb3  /dev/hdb7  /dev/hdd
/dev/hda2  /dev/hda6  /dev/hdb   /dev/hdb4  /dev/hdb8
/dev/hda3  /dev/hda7  /dev/hdb1  /dev/hdb5  /dev/hdb9

会发生什么事?

答案1

您可以手动创建该节点:mknod /dev/hdc1 b 22 1

然后你应该检查是否可以读取cat /dev/hdc1 > /dev/null

内核找不到分区,或者 udev 没有自动创建此节点。udev 负责创建此文件

如果手动创建 /dev/hdc1 失败,您可以手动挂载分区并指定偏移量:

losetup /dev/loop0 /dev/hdc -o $((63*512))
挂载 /dev/loop0 /mnt/hdc1

您应该使用fdisk -l -u /dev/hdc来纠正63

答案2

有时人们在处理可移动媒体时会遇到这个问题,或者他们刚刚对硬盘进行分区而内核尚未更新开发节点。

也许还有其他方法可以达到这种情况,也许内核需要一个特殊的模块来解码分区表,但是该模块直到启动过程的后期才可用?

因此,在你使用 之前mknod,有时触发内核重新读取分区表可能会有所帮助hdparm

hdparm -z /dev/hdc

以下是相关man hdparm摘录:

-z     Force a kernel re-read of the partition table of the specified device(s).

答案3

Vi 建议的第一种方法对我有用。请注意猫/ dev / hdc1> / dev / null不会产生任何输出,但您可以通过查看桌面底部面板中的绿色条(右下方)来检查它是否正常工作。另外,您不需要等到最后,因为这需要一段时间,只需关闭终端即可停止 cat。继续安装 hdc1。

我没有尝试第二种方法,因为我不需要它。

还要记住,如果您有两台计算机,您可以使用 Ophcrak live 或其他 Linux live CD 将 (/hdxX/)Windows/System32/Config(加密的 SAM 文件所在的位置)复制到 pendrive,然后使用已安装的 ophcrack 版本破解另一台计算机上的密码。

相关内容