我遇到了一个对我来说非常大的问题。我当时正在运行双启动系统 (win 7 / linux),后来我决定测试 fedora (我是 Linux 新手)。
我的硬盘配置:3 个硬盘,每个 1 TB,2 个设置为 raid 0 并在其上运行 Windows,1 个用于 Linux。从 live usb 安装后,我发现 Windows 7 不再处于 grub 中,启动时显示 raid 错误。我重新安装了 Ubuntu 并运行了磁盘实用程序,现在检查发现有一个磁盘(raid 0)出现故障(读取)错误。第一个有 5 个坏扇区,第二个有 1 个坏扇区。现在我不知道该怎么做以及如何修复。此外,我不知道可以提供哪些数据来获得帮助。
我尝试ntfsfix
并得到了这个输出:
Mounting volume... NTFS signature is missing.
FAILED
Attempting to correct errors... NTFS signature is missing.
FAILED
Failed to startup volume: Invalid argument
NTFS signature is missing.
Trying the alternate boot sector
Unrecoverable error
Volume is corrupt. You should run chkdsk.
#sudo ntfs-3g -o force,rw /dev/sdb /media/windows
NTFS signature is missing.
Failed to mount '/dev/sdb': Invalid argument
The device '/dev/sdb' 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?
答案1
您需要重新安装 GRUB 到RAID 设备而不是块设备。这记录在Ubuntu 文档虽然文档有点旧,可能会令人困惑。您遇到的错误是正确的,因为文件系统安装在RAID 设备不是块设备[*].
RAID(实际上假RAID) 设备的名称,/dev/mapper/[something]
而不是/dev/sd[X]
。首先,您需要找到RAID 设备为您的 Windows 分区添加ls /dev/mapper/
。这将列出所有活动设备。由于您大概只有一个,因此应该很容易找到。如果未列出该设备,则dmraid 手册页将解释如何激活您的 RAID 设备。这通常以sudo dmraid -ay
root 身份完成。
一旦知道了设备名称,您就可以使用 重新安装 GRUB。GRUBsudo grub-install /dev/mapper/[something]
设置应该可以检测 Windows 和 Ubuntu。重新启动以进行测试。
[*]这在技术上并不正确,因为底层文件系统实际上安装在块设备。在现代版本的 Ubuntu 中,它被 RAID 设备屏蔽,以模仿设备在 Windows 中的安装方式。如果这是 RAID 1 而不是 RAID 0,您可以在 BIOS 中禁用 RAID,然后您会看到两个驱动器上具有相同的文件系统。由于这是 RAID 0,因此文件系统在两者之间分割。