我以前有一台小型家用服务器,上面连接了两个 USB 磁盘,都格式化为 ext4。现在我买了一些新硬件,将磁盘从 USB 盒中取出并安装在新服务器上。
在新服务器中,我无法挂载甚至无法查看有关磁盘的一些实际信息。它们未列在 /dev/disk/by-uuid 中。它们甚至不会显示“sudo blkid”。
谁知道可能发生了什么以及我如何恢复我的磁盘(及其数据)?
答案1
您的磁盘状况良好,并且可以正常识别。
由于扇区大小不兼容,因此无法识别您的分区。MBR 驱动器上的标准 512 字节扇区支持的最大磁盘大小为 2TB。为了允许更大的驱动器,许多 USB 适配器(例如您的适配器)使用专有的 512 => 4096 字节扇区转换,并假装有 4096 字节扇区,而其后面的驱动器实际上没有。
由于驱动器上的位置由其扇区号引用,因此尝试在检测真实扇区大小为 512b 的系统中读取扇区大小为 4096b 的分区或文件系统将意味着每个地址、大小和位置都会相差 8 倍。
这意味着不能简单地将安装了此转换的驱动器用于没有此转换的系统。您需要擦除驱动器并重新分区,或将其放回原始 USB 适配器并将数据传输到其他地方。
或者,理论上也可以通过软件来实现扇区大小的转换,例如使用 Linux 下的环回设备,尽管这不是最优的,而且我实际上还没有见过这样做。