无法安装外部 USB 驱动器

无法安装外部 USB 驱动器

我使用的是 Debian Jessie,并且有一个 NTFS 的外部 USB 驱动器。我将它插入我的 Raspberry Pi,然后它自动重新启动(可能对于我正在使用的适配器来说功耗太高)。从那时起我就无法再访问我的 USB 驱动器了。我尝试在我的普通计算机上修复它

sudo ntfsfix /dev/sdb1

但它只会告诉我

Volume is corrupt. You should run chkdsk.

我有一台 Windows 计算机,但它也无法检测到驱动器。以下是更多信息:

$ ll /dev/sd*
> brw-rw---- 1 root disk 8,  0 Oct 28 12:07 /dev/sda
> brw-rw---- 1 root disk 8,  1 Oct 28 12:07 /dev/sda1
> brw-rw---- 1 root disk 8,  2 Oct 28 12:07 /dev/sda2
> brw-rw---- 1 root disk 8,  5 Oct 28 12:07 /dev/sda5
> brw-rw---- 1 root disk 8, 16 Oct 28 12:16 /dev/sdb
> brw-rw---- 1 root disk 8, 18 Oct 28 12:16 /dev/sdb2
> brw-rw---- 1 root disk 8, 19 Oct 28 12:16 /dev/sdb3

$ sudo fdisk -l
> Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 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
> Disklabel type: dos
> Disk identifier: 0x0007f3b4
> 
> Device     Boot     Start       End   Sectors   Size Id Type
> /dev/sda1  *         2048 472016895 472014848 225.1G 83 Linux
> /dev/sda2       472018942 488396799  16377858   7.8G  5 Extended
> /dev/sda5       472018944 488396799  16377856   7.8G 82 Linux swap / Solaris

> Disk /dev/sdb: 1.8 TiB, 2000365289472 bytes, 3906963456 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
> Disklabel type: dos
> Disk identifier: 0x6e697373
> 
> Device     Boot      Start        End    Sectors   Size Id Type
> /dev/sdb1  ?    1936269394 3772285809 1836016416 875.5G 4f QNX4.x 3rd part
> /dev/sdb2  ?    1917848077 2462285169  544437093 259.6G 73 unknown
> /dev/sdb3  ?    1818575915 2362751050  544175136 259.5G 2b unknown
> /dev/sdb4  ?    2844524554 2844579527      54974  26.9M 61 SpeedStor
> 
> Partition table entries are not in disk order.

$ cat /etc/fstab 
> # /etc/fstab: static file system information.
> #
> # Use 'blkid' to print the universally unique identifier for a
> # device; this may be used with UUID= as a more robust way to name devices
> # that works even if disks are added and removed. See fstab(5).
> #
> # <file system> <mount point>   <type>  <options>       <dump>  <pass>
> # / was on /dev/sda1 during installation
> UUID=4b0d4c23-d659-4d16-9396-b895c4964b12 /               ext4    errors=remount-ro 0       1
> # swap was on /dev/sda5 during installation
> UUID=2cc71c90-2d55-4f49-bdb0-b25166d77014 none            swap    sw              0       0
> /dev/sdb1       /media/usb0     auto    rw,user,noauto  0       0

分区应该是/dev/sdb1,但正如您所看到的,它不在 中/dev。另外,我不明白为什么fdisk说它的类型是QNX4.x 3rd part.有什么帮助我至少可以检索磁盘上的文件吗?

答案1

如果您能够从磁盘读取原始数据,则可以使用dd创建磁盘克隆(或者dd_rescue,如果dd失败)。然后,您可以使用文件雕刻器,例如foremost(对我来说,这在格式化和损坏的分区上都产生了良好的结果)。

要使用foremost,您应该至少有 2.5 倍分区大小的空间来恢复为可用空间(您需要用于分区映像的空间和用于雕刻文件的空间)。

特别是如果您处理损坏的设备,则必须创建它的映像才能使用(防止因意外覆盖设备而导致数据丢失,并最大限度地减少因设备故障而导致的数据丢失)。

文件雕刻器的缺点是您可能需要手动重建文件的各个部分,或者需要使用替代数据(例如,无法重建的 JFIF 图像的预览)。

特别是对于 NTFS,您还可以尝试像这样的工具恒星凤凰NTFS数据恢复(我没有测试或使用过)。

答案2

从命令可以看出fdisk,分区表全乱了。发生这种情况可能是因为在尝试访问驱动器时驱动器电源被切断。我安装了testdisk,然后运行

sudo testdisk /dev/sdb

经过快速分析,该磁盘被正确识别为只有一个分区的 ntfs 磁盘,而不是 所建议的四个分区fdisk。重写分区表testdisk解决了问题。我现在可以访问所有文件,就好像什么都没发生过一样。

来源:https://linuxacademy.com/blog/linux/ntfs-partition-repair-and-recovery-in-linux/

相关内容