我已经在我的系统上安装了 Ubuntu 10.10。但是,我需要重新安装 Windows 7,并且我希望它会改变 GRUB,并且确实如此。
现在,我的软件 RAID 0上的分区如下所示:
nvidia_acajefec1 是 Ubuntu 10.10, nvidia_acajefec3 是 Windows 7。
我一直在关注一些指南,但我总是卡在 GRUB 无法检测到通常的 RAID 内容。
我试过运行:
sudo grub
> root (hd0,0)
GRUB 抱怨它找不到我的硬盘。所以我尝试了:
find (hd0,0)
它抱怨它找不到任何东西。
所以我尝试了:
find /boot/grub/stage1
它说“找不到文件”。
这是来自控制台的文本:
ubuntu@ubuntu:~$ grub
Probing devices to guess BIOS drives. This may take a long time.
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> root (hd0,0)
root (hd0,0)
Error 21: Selected disk does not exist
grub> find /boot/grub/stage1
find /boot/grub/stage1
Error 15: File not found
**幸运的是,有人建议我一直在尝试做的是 GRUB Legacy,而不是 GRUB2。所以我去了建议的网站,(http://grub.enbug.org/Grub2LiveCdInstallGuide)尝试环顾四周,然后尝试:
ubuntu@ubuntu:~$ sudo fdisk -l
Unable to seek on /dev/sda
这只是http://grub.enbug.org/Grub2LiveCdInstallGuide中指令的第 2 步,我无法继续,因为它无法寻找 /dev/sda。
然而,
ubuntu@ubuntu:~$ sudo dmraid -r
/dev/sdb: nvidia, "nvidia_acajefec", stripe, ok, 488397166 sectors, data@ 0
/dev/sda: nvidia, "nvidia_acajefec", stripe, ok, 488397166 sectors, data@ 0
所以现在怎么办?你知道如何让 fdisk 在 live cd (Ubuntu 10.10) 上看到我的 RAID 阵列吗?老实说,我现在迷失了,非常迷失在这个软件 RAID 0 系统上恢复 GRUB2。
如果您通过恢复 CD 启动,您的根设备不是/而是 RAM 中的 ISO 表示。在这种情况下,我们必须先挂载真正的根分区。
检查您的软件 RAID 是否处于活动状态:
您必须期望您的
sda
,sdb
,dm-0
后跟dm-1
,dm-2
等等代表您的分区表条目。如果您没有看到
dm-*
必须手动激活软件 RAID 的条目:再次检查
/proc/partitions
并验证是否grub
知道它:输出可能不同,但应该如下所示(其中 *ata-WDC_WD5001AALS-00L3B2_WD-WCASY5902194* 取决于您的硬件配置):
你真正的根分区应该是
/dev/mapper/nvidia_acajefec1
现在。我们现在挂载这个分区以供将来测试:检查是否
grub
能够将设备映射到您的分区:你应该看到类似的东西
/dev/mapper/nvidia_acajefec1
。将您的分区名称标识为 GRUB 设备:
输出应该类似于
(hd2,msdos1)
.到目前为止,一切都很好。为了安装/更新 GRUB,我们准备切换到真正的根分区并更新引导块:
您已准备好重新启动系统。
您需要安装
/dev/nvidia_acajefec1
的设备是 ,您需要安装的设备是/dev/nvidia_acajefec
。因此,大致按照 http://grub.enbug.org/Grub2LiveCdInstallGuide上的说明运行: