我的邻居带来了一个 3TB 外置硬盘,说在将它借给 Windows 用户后,她的 Mac 每次插入计算机时都会要求她“初始化某些东西”。
我正在使用 Fedora,并且在让她在她的计算机上尝试任何操作之前,我正在尝试从驱动器中恢复任何数据,因为我有一种感觉,如果她让她的计算机尝试“初始化”驾驶。
我怀疑问题与分区表有关。使用fdisk
我得到驱动器的以下输出:
Disk /dev/sdd: 2.7 TiB, 3000558944256 bytes, 732558336 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: BAAE909E-8289-421C-A8D7-9DC750F0E342
Device Start End Sectors Size Type
/dev/sdd1 6 32773 32768 128M Microsoft reserved
/dev/sdd2 33024 732558079 732525056 2.7T Microsoft basic data
Run Code Online (Sandbox Code Playgroud)
Usign blkid
,我明白了:
/dev/sdd: PTUUID="baae909e-8289-421c-a8d7-9dc750f0e342" PTTYPE="gpt"
Run Code Online (Sandbox Code Playgroud)
并使用parted
,我得到这个:
Model: WD My Book 1230 (scsi)
Disk /dev/sdd: 3001GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 24.6kB 134MB 134MB Microsoft reserved partition msftres
2 135MB 3001GB 3000GB Basic data partition msftdata
Run Code Online (Sandbox Code Playgroud)
我立即注意到“文件系统”列没有任何内容。我怎样才能至少以只读方式安装它,即使它只适合我,这样我就可以复制她在那里的文件?
更新 1
使用file -sL /dev/sdd*
产品:
/dev/sdd: ; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 4294967295 sectors, extended partition table (last)\011
/dev/sdd1: data
/dev/sdd2: data
Run Code Online (Sandbox Code Playgroud)
尝试使用各种分区类型挂载它,同时使用 /dev/sdd 和 /dev/sdd2。——
ntfs 和 ntfs-3g:
NTFS signature is missing.
Failed to mount '/dev/sdd2': Invalid argument
The device '/dev/sdd2' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
Run Code Online (Sandbox Code Playgroud)
脂肪:
FUSE exfat 1.0.1
ERROR: exFAT file system is not found.
Run Code Online (Sandbox Code Playgroud)
胖胖:
mount: wrong fs type, bad option, bad superblock on /dev/sdd2,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
Run Code Online (Sandbox Code Playgroud)
更新 2
分区表不可恢复,我不得不运行救援来恢复数据。安装testimage
和运行photorec
就像冠军一样,我能够找回所有丢失的数据。
看起来该驱动器已被 Windows 格式化 - 这并不奇怪,因为 Windows 肯定无法使用该磁盘,而该磁盘很可能已被 OS X 格式化,仅供 OS X 下使用。现在问题完全相同,只是交换了双方。
如果要挂载Windows分区,可以尝试盲猜文件系统:
mount -t FILESYSTEM -o ro /dev/sdd2 /mountpoint
Run Code Online (Sandbox Code Playgroud)
其中FILESYSTEM
可能是(给定分区大小)NTFS、exFAT 或(不太可能)VFAT 之一。对于 NTFS,可以使用内核ntfs
驱动程序(只读模式)或 FUSE 实现ntfs-3g
。exFAT 拥有(据称)有效的FUSE 实施;VFAT 有vfat
. 在任何情况下,请考虑使用分区进行安装-o ro
,甚至为分区创建一个只读循环设备并安装它。这种麻烦方法的原因是,即使以只读模式安装(通常通过摆弄元数据),某些文件系统驱动程序也可能会更新文件系统。这绝对是不可取的。
如果您想尝试挽救原始(阅读“Windows 之前”)数据,请查看 Gilles 引用的问答(恢复意外删除的文件和如何从损坏的 SD 卡中恢复数据?)并在互联网上搜索文件系统恢复对于 OS X 使用的文件系统,很可能是HFS Plus。
至于“初始化磁盘”的一般问题:我相信每当系统找不到它理解的分区方案时就会发生这种情况 - 这将发生在磁盘上的 MBR 分区表或 GPT - 或者如果它没有识别的分区“正确的类型”。当一个人习惯使用 Linux(我想 BSD 也是如此)时,这可能会令人惊讶,因为 Linux 不关心分区类型,而只关心实际内容。