我曾经有一块 1TB 的 HDD,上面安装了 Win7 和 Ubuntu 12.04 的双启动系统。几周前我买了一块 SSD,在双启动系统上安装了 Win7 和 Ubuntu 12.04。从新的 Ubuntu 系统,我能够访问旧 Linux ext4 分区中的数据。昨天我决定删除旧的 Win7 分区,所以我格式化了旧的 Win7 分区和 100MB 分区保留的文件系统。现在我无法再从新的 Ubuntu 访问旧的 Ubuntu 分区。所以我尝试从 Live CD 启动并恢复 HDD 中的 grub。命令 fdisk -l 给了我 [我在从 Live CD 启动之前断开了 SSD 连接] 以下输出:
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
224 heads, 19 sectors/track, 459004 cylinders, total 1953525168 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
Disk identifier: 0xea3fb49a
Device Boot Start End Blocks Id System
/dev/sda1 2048 307197951 153597952 7 HPFS/NTFS/exFAT
/dev/sda2 * 307200000 819199999 256000000 7 HPFS/NTFS/exFAT
/dev/sda3 819202046 1953523711 567160833 5 Extended
/dev/sda5 1938425856 1953523711 7548928 82 Linux swap / Solaris
Ubuntu 分区是 sda3,在删除旧的 Win7 后被标记为扩展,而之前被标记为 Linux。
之后我启动了命令
sudo grub-install /dev/sda3
它给了我/usr/sbin/grub-probe: error: cannot find a device for /boot/grub (is /dev mounted?).
所以我尝试了sudo mount /dev/sda3 /mnt
它给了我
NTFS signature is missing. Failed to mount '/dev/sda3': Invalid argument The device '/dev/sda3' 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?
我对再次运行这个操作系统不感兴趣,我只对从 SSD 上的 Ubuntu 访问该分区中的文件感兴趣。
答案1
我不是一个技术水平很高的 Ubuntu 用户,但我刚刚恢复了一个 Ubuntu 分区,也许可以帮你解决问题。我觉得这对你的情况来说可能有点过头了,但我还是说一下。
如果问题是无法正确访问分区,您可以尝试使用以下方法重写分区表测试磁盘。您可以在 Ubuntu 和 Windows 中使用它。此程序可用于发现消失的分区并重写其状态。在这种情况下,它应该非常简单:运行 testdisk,分析 sda(第一个选项)并将 Ubuntu 分区的状态更改为“逻辑”。然后它应该可以从可启动的 Ubuntu 访问。由于您的分区没有隐藏,因此它应该不会花费您超过几分钟的时间。