無法安裝外部 USB 驅動器
我在 Debian Jessie 上,我有一個帶有 NTFS 的外部 USB 驅動器。我將它插入我的樹莓派,然後它自發地重新啟動(對於我正在使用的適配器來說,功耗可能太高了)。從那以後,我再也無法訪問我的 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
. 有什麼幫助我至少可以檢索磁碟上的文件嗎?
從命令可以看出
fdisk
,分區表全亂了。這可能是因為驅動器上的電源在它試圖訪問它時被切斷了。我安裝了testdisk
,然後執行sudo testdisk /dev/sdb
經過快速分析,該磁碟被正確辨識為只有一個分區的 ntfs 磁碟,而不是
fdisk
. 重寫分區表並testdisk
修復問題。我現在可以訪問所有文件,就好像什麼都沒發生過一樣。來源:https ://linuxacademy.com/blog/linux/ntfs-partition-repair-and-recovery-in-linux/
如果您能夠從磁碟讀取原始數據,則可以使用
dd
創建磁碟的複製(或者dd_rescue
,如果dd
失敗)。然後,您可以使用類似的文件雕刻foremost
器(對我而言,它在格式化和損壞的分區上都產生了良好的效果)。要使用
foremost
,您應該至少有 2.5 倍的分區大小來恢復為可用空間(您需要用於分區映像的空間和用於雕刻文件的空間)。特別是如果您處理損壞的設備,則必須創建它的映像以進行處理(通過意外覆蓋設備來防止數據失去,並最大限度地減少由於設備故障導致的數據失去)。
文件雕刻器的缺點是您可能需要手動重建文件,或者您需要使用替代數據(例如,您無法重建的 JFIF 圖像的預覽)。
特別是對於 NTFS,您還可以嘗試像Stellar Phoenix NTFS 數據恢復這樣的工具(我沒有測試或使用過)。